English Page

/*
Mersenne Twister DLL
== 2002-01-13. presented by Einguste ==
== 2002-01-22. BCC55(Borland C++ Compiler 5.5)用のMakefileを追加 ==
== 2002-01-30. mt19937ar DLL版追加 ==
== 2002-02-17. mt19937ar-cok DLL版追加 ==
== 2002-03-05. mt19937ar、mt19937ar-cok ライセンス変更 ==
== 2003-02-25. アーカイブ作成しなおし ==
== 2008-12-31. MT.dll、MT-cok.dllをアップ(MinGW-5.1.4でコンパイル) ==
*/

Mersenne Twisterの詳細はこちら(松本 眞先生のページ)

DLL版アーカイブ(ソース含む)
Zip 40.9 kbytes
7-Zip 21.3 kbytes

2008-12-31. 追加:MT.dll(mt19937ar.dll相当)、MT-cok.dll(mt19937ar-cok.dll相当)
Zip 16.8 kbytes
7-Zip 11.4 kbytes

※圧縮形式が異なるだけで、同じアーカイブです。

LICENSE:
mt19937.dll(mt19937-dll.c):'mt19937-2.c'のライセンスに準じます。(Artistic License)
mt19937m.dll(mt19937-mdll.c):'mt19937-2.c'のライセンスに準じます。(Artistic License)
cokus.dll(cokus-dll.c):'cokus.c'のライセンスに準じます。(GPL2)
mt19937ar.dll(mt19937ar-dll.c):'mt19937ar.c'のライセンスに準じます。(BSD License)
mt19937ar-cok.dll(mt19937ar-cok-dll.c):'mt19937ar-cok.c'のライセンスに準じます。(BSD License)
詳細は各ソースファイルをご覧下さい。

これらのDLLの利用は自由です。ただし私は何らの保証をいたしません。各自の責任でご利用ください。
DLLをより良くするためのアドバイスは歓迎いたします。

使用方法:
VBAのサンプルソース(Module1.bas)を参考にしてください。

参考:
1000万回の擬似乱数生成にかかった時間
(テスト環境:PentiumIII 800MHz 256MBytes / Windows2000)

DLL(Excel VBAより呼び出し)
MinGWBCC55備考
mt19937-22.672 sec2.685 sec
mt19937-22.835 sec2.802 sec* ThreadSafeテスト版
cokus2.714 sec2.738 sec
mt19937ar2.685 sec2.513 sec* genrand_real2 [0,1)-interval
mt19937ar-cok2.517 sec2.618 sec* genrand_real2 [0,1)-interval
rnd(VBA)2.680 sec2.680 sec

EXE(参考データ)
MinGWBCC55
mt19937-20.660 sec0.600 sec
cokus0.290 sec0.740 sec
mt19937ar0.500 sec0.640 sec
mt19937ar-cok0.250 sec0.660 sec
rand0.640 sec0.130 sec

※ソースをご覧いただければ分かるとおり、単純な特に何もしないDLLです。
VisualBasicやHSPなどから利用できること以外にメリットはないでしょう。
※スレッドセーフ版は開発中です。テストが不十分ですので、ご注意ください。
※バイナリ生成にはMinGWを使用させていただきました。
※Mersenne Twisterのことはこのページ(とってもごはん)で知りました。<m(__)m>
※BCC55に関する情報は世界最小のSusie Plug-inを作るを参考にさせていただきました。<m(__)m>
※最後になりましたがDLL版公開を許可してくださいました松本 眞先生に感謝いたします。<m(__)m>

Top page

Valid HTML 4.01 Transitional 正当なCSSです!