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 するとなんかうまいこといくらしい