Japanese Page

/*
Mersenne Twister DLL Version == [0,1) interval
== 2002-01-13. presented by Einguste ==
== 2002-01-22. Makefile for BCC55(Borland C++ Compiler 5.5) was added. ==
== 2002-01-30. DLL version of mt19937ar was added. ==
== 2002-02-17. DLL version of mt19937ar-cok was added. ==
== 2002-02-17. The License of mt19937ar , mt19937ar-cok was changed. ==
== 2003-02-25. The archives were re-created. ==
*/

About Mersenne Twister

Archives of my DLL version of Mersenne Twister (including source files).
Zip 40.9 kbytes
7-Zip 21.3 kbytes
* The two archives are essentially identical except for compression.

LICENSE:
mt19937.dll(mt19937-dll.c): A license applies to the license of 'mt19937-2.c'.(Artistic License)
mt19937m.dll(mt19937-mdll.c): A license applies to the license of 'mt19937-2.c'.(Artistic License)
cokus.dll(cokus-dll.c): A license applies to the license of 'cokus.c'.(GPL2)
mt19937ar.dll(mt19937ar-dll.c): A license applies to the license of 'mt19937ar.c'.(BSD License)
mt19937ar-cok.dll(mt19937ar-cok-dll.c): A license applies to the license of 'mt19937ar-cok.c'.(BSD License)
Please look at each source file for details.

Use of these DLLs is free. However, I do not offer any guarantee.
Please use on your responsibility.
The advice for improving DLL more welcomes.

Usage:
Please refer to a sample VBA source(Module1.bas).

Reference data:
The time it took for 10 million generations.
(SPEC of test environment: PentiumIII 800MHz, 256MBytes / Windows2000)

DLL (called from Excel VBA)
MinGWBCC55note
mt19937-22.672 sec2.685 sec
mt19937-22.835 sec2.802 sec* ThreadSafe Test Version
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:(reference data)
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

* This DLL is a simple direct translation of C versions of MT(mt19937-2.c, cokus.c, mt19937ar.c).
This DLL can be used from VisualBasic, HSP, and other languages, and that seems the only merit.
* A thread-safe version is being developed.
Keep in mind that a test is not enough.
* I used MinGW for binary generation.
* I got to know for the first time on this (Mr. Shin-ichi TSURUTA's Japanese) Website about Mersenne Twister.
* I referred to this Website(Japanese) about BCC55.
* I'm thankful to Mr. Makoto Matsumoto, who has kindly agreed to this release of MT as a DLL.

Top page(Japanese)

Valid HTML 4.01 Transitional Valid CSS!