>>451
統計的な検査はよく分からんので置いておくとして、遅すぎ。
インデックス決めるためだけに呼び出す毎に整数除算8回もしてる。
試しにVC++(ver.7)で1億回呼び出すコード書いたら(releaseビルド)

0.578 (>>18のやつ)
1.000 (VC++のrandたぶん線形合同法)
1.672 (MT19937)
156.016 (>>451)

だった。(単位は秒、CPUはAthlonX2 3800+,WinXP SP2)