2006-04-01から1ヶ月間の記事一覧

盤面の保持方法

色々あるが、今回自分が実装するのは超素直な2次元配列の次に下手な1次元配列。具体的には以下のようにインデックスを振ることになる。 00010203040506070809 09101112131415161718 18192021222324252627 27282930313233343536 36373839404142434445 4546474…

オセロやる

研究室の内部でオセロ大会やることになったんで、暫くぬりかべは休み。

除算のご利用は計画的に

浮動小数点の四則演算を速度で比較すると、加算=減算=乗算>>除算(一般論)、ということになるので多少他の演算が増えようが除算は減らす方がいい。ただし実際には試行錯誤が必要。ということで、上記のプログラムを2倍アンロールして除算を減らしてみる。…

ループアンローリング

そのまま、ループを展開すること。普通はコンパイラがやってくれるけど、アンロール以上のことを手作業でやれば高速化が期待できる。 元のプログラムがこんなんだとする。 /* Σ[i=1..n](1/i^2) を求める。無論極限値は π^2/6 */ sum = 0.0; for( i = 1 ; i s…