- 1 名前:デフォルトの名無しさん mailto:sage [2005/10/27(木) 02:55:36 ]
- C++やインラインアセンブラ、SSEなどによる高速化の手法
について語りましょう。
- 412 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/10/09(金) 00:08:33 ]
- 64ビット整数の3の剰余を分岐も乗算使わずにハイパー高速に求めるアルゴリズム
n ^= n >> 32; n ^= n >> 16; n ^= n >> 8; n ^= n >> 4; n ^= n >> 2; n &= 3; n ^= ((n&1) << 1) | (n >> 1); 後半はLUT使ったほうが速いかもな
- 413 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/10/09(金) 00:15:01 ]
- んで6の剰余ってこれでいいよな?
mod3(n >> 1) * 2 + (n & 1)
|

|