<< 62/66 >>
First Last

同時計算ふたたび

 /* Tempering */
 y ^= (y >> 11);
 y ^= (y << 7) & 0x9d2c5680UL;
 y ^= (y << 15) & 0xefc60000UL;
 y ^= (y >> 18);

shuffle して同時計算してやるにしても、どうしても無駄に計算している bit は出てしまう

隣の bit に影響する演算は sum を計算する時のみ

そこで bit slice

言うは簡単、実装は大変…