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)
| MinGW | BCC55 | note |
mt19937-2 | 2.672 sec | 2.685 sec |
mt19937-2 | 2.835 sec | 2.802 sec | * ThreadSafe Test Version |
cokus | 2.714 sec | 2.738 sec |
mt19937ar | 2.685 sec | 2.513 sec | * genrand_real2 [0,1)-interval |
mt19937ar-cok | 2.517 sec | 2.618 sec | * genrand_real2 [0,1)-interval |
rnd(VBA) | 2.680 sec | 2.680 sec |
EXE:(reference data)
| MinGW | BCC55 |
mt19937-2 | 0.660 sec | 0.600 sec |
cokus | 0.290 sec | 0.740 sec |
mt19937ar | 0.500 sec | 0.640 sec |
mt19937ar-cok | 0.250 sec | 0.660 sec |
rand | 0.640 sec | 0.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)