ソースを読んだところで理論的な説明をひとつ。

>>451のは結局のところGFSR(Generalized Feedback Shift Register)そのもの。
これはM系列の一種でつまるところ普通の線形漸化式。
indexというカウンタがindex_maskという変数でxorされてるので
具体的には分かりかねるが大きな多項式になっとる。
index_mask == list_a[ 0 ]のようなのでここを変えると多項式が変わる。
で、本人は勘違いしているようなのだけど、
適当に多項式を作っても原始多項式でないと周期は保証されないし、
場合によっては出現する組み合わせもかなり少なくなる可能性アリ。
つまり素数を全部掛けたものがそのまま周期になるわけじゃないので注意。
X^31 + X^29 + X^11 + 1とか適当に作っても実際に判定してみないとダメ。
上の方に書いてあったけど選んでxorしたものも最終的には漸化式の形になるよ。
ただ>>451のちょっと面白いところはランダムに多項式を作ってるってところかな。
でも動的に作ってるから何が出来るか分からんのが問題だが。
たまたま長周期になるかもしれんし全然ダメなのも出来るかもしれん。
多項式をどうするかは重要な問題だからな。

結局>>451のはGFSRというシンプルなものを難しく複雑に作っただけ。
index_mask==list_a[0]以外の配列を0と1で初期化すれば普通にW=1bitの線形漸化式になるよ。
MTはTGFSR(Twisted GFSR)といってこのWが32bitになってさらに
縦と横のベクトルが組み合わさって長周期を実現しててえらいこっちゃ。
さらに調律が加わって(これはいらない気もするが)分布も良くなってる。
>>451のは32bitの配列を使ってるけど結局GFSRのままなんで
縦と横が独立してるから周期も分布もいまいち。

勉強しましょう。