<< 59/66 >>
First Last

よくわからないロード順

  y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
  mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];

これは 3 回ロードして 1 回 shuffle する必要がある

  //    0:  509-282- 55-452-225-622-395-168-565-338-111
  //    1:  508-281- 54-451-224-621-394-167-564-337-110
  //    2:  507-280- 53-450-223-620-393-166-563-336-109
  //   ...
  //   11:  498-271- 44-441-214-611-384-157-554-327-100
  //   12:  497-270- 43-440-213-610-383-156-553-326- 99
  //   13:  496-269- 42-439-212-609-382-155-552-325- 98

この順序で load するとなんかうまいこといくらしい