メルセンヌツイスタ64bit版の導入
ソースの入手
wget http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt19937-64.tgz gzip -d mt19937-64.tgz tar -xvf mt19937-64.tar
コピー
cd /mt19937-64 cp mt64.h /usr/include
gcc -c -O3 mt19937-64.c gcc -shared -o mt64.dll mt19937-64.o chmod a+x mt64.dll cp mt64.dll /usr/bin cp mt64.dll /lib/libmt64.a
テスト
$ cat mt_test.c #include <stdio.h> #include "mt64.h" int main(){ int i; init_genrand64(1); for(i=0;i<=100;i++){ // printf("%lf\n",genrand64_real1()); printf("%d\n",genrand64_int64()%10); } return 0; }
コンパイル実行
gcc -O3 mt_test.c -lmt64 ./a.exe
c++と併用する場合
cのライブラリなので、
mt.hに以下のようにextern "C"{と} を加える
extern "C"{ void ... void ... .... double .. }
そして、コンパイル
g++ -O3 mt_test.c -lmt64
これでうまくいく。