64bit版 Mersenne Twister

English Version

64ビットマシン用のMTのコード mt19937-64.c を公開します。 周期は従前と同じperiod 2^19937-1ですが、漸化式は異なるため、出力も異なります。 その出力はmt19937-64.out.txt

ヘッダファイルとテスト用のメイン関数を分離したアーカイブファイル mt19937-64.tgzを用意しました。 mt19937-64stdint.tgzも用意しました。 こちらでは64ビット整数がuint64_t で、64ビット定数が UINT64_C で定義されています。 その中には以下のファイルが含まれています。

(2007/2/8) Adam Ierymenko さんがとても単純な高速化を教えてくれました。 コメント(英文)を参照してください.

(2008/12/4) mt19937-64.c のinit_by_arrayの引数の定義をANSIに 従うように変更しました。

MTのホームページへ戻る


SIMD命令を使用して、2から4倍速い新しいタイプのMTを開発しました。 それはSIMD命令を使用しない場合でもMTより速いのです。 そして乱数性も優れています。64bit出力もサポートしています。ここ "SIMD-oriented Fast Mersenne Twister (SFMT)" からダウンロード出来ます。