2017-12-01から1ヶ月間の記事一覧

コンパイラの最適化と専用命令について

asm

Fast inverse square rootなるものをご存知だろうか。これは、1.0 / sqrt(x)を高速に近似計算する命令である。 Fast inverse square root - Wikipedia この計算は非常によく使う。例えばベクトルがあるとする。このベクトルを規格化したい。つまり長さを1に…

コードの美しさについて

コードが綺麗とはどういうことか、の基準は人によって異なると思う。しかし例えば以下のような関数があまり綺麗ではないという気持ちは、共有できるのではないだろうか。 void func(int N, double*** v1, double*** v2, double** a, double** b, int* c, int…

数値積分のインターフェース

C++

子細合ってヤバい形の積分を解く羽目になったので数値積分をすることにした。 別に数値積分の複雑なアルゴリズムの解説や異常なまでの最適化などを紹介するわけではなく、非常に基本的な台形積分を使い、そこまで最適化も考えずにやる。 だがそれだけだと何…