冬休み明けだけど、今日が授業としては最初となった。 プログラミング応用の授業は、前回が2次元グラフィックスの回転移動などの演習であり、 今日はその簡単な応用について説明する。
グラフィックスの説明といいながら、実質は関数との値の受け渡しのネタを、 グラフィック座標のポインタ渡し・配列渡しで説明したような状態であった。
後半は、配布資料を元に最適化について説明する。 最適化とはプログラムの高速化のために、プログラマが行う書き換えであったり、 コンパイラが機械語を効率よく書き換えることを指す。
例として、ループ内の同じ処理をループ前に移動する例や、実数演算を整数演算に置き換える例、 整数の2のべき乗の乗除算を2進数シフトに置き換える例などを紹介する。 また、最近のグラフィクスのための特殊な機械語(MMXなど)の事例も紹介した。
とくに最近の事例として、グラフィックス計算を行う専用プロセッサ(GPU)を紹介し、 これを物理計算に利用する取組みなども説明を行った。