Twisterを、Windows上のDLLとして実現してみました。Pageを参照してください。DLLにしたことにより、Windows上で動作するさまざまな言語から利用できると思います。mt19937-2.cをベースにしています。longからlongになっています。longをサポートしない言語のためです。seedには負の数を指定しないでください。このDLL(libMT.dll)は、次の二つのAPIを公開しています。乱数のseedを設定する。生成する乱数の値の範囲は、0≦x<1。VisualBasicの場合、次のようにして使用します。ダウンロードしたlibMT.dllを、\winnt\system32(Windows95/98の場合は、\Windows\system)などのディレクトリにコピーする。標準モジュールで上記APIを宣言する。Long)(2)必要に応じて、これらを呼び出す。Subまた、Excelで使用する例は、次のとおりです。(0)上の(0)と同じ。(1)Excelの[表示|ツールバー|コントロールツールボックス]を選択して、ツールボックスを表示し、コマンドボタンをワークシート上に配置する。(2)配置したボタンをダブルクリックして、イベントハンドラに次のように記述する。2)にはseedの値を入力する。3)には生成した乱数を表示する。セル番号は、ワークシートにあわせること。Sub(3)標準モジュールを追加し、VisualBasicの例の(1)と同じ内容を記述する。(4)名前を付けて保存し、Excelを終了して、再度保存したファイルを開き、seedを入力してコマンドボタンを押すと、生成した乱数を10個表示する。この実行結果は、次のようになります。注意事項このDLLは、まだ、マルチスレッドに対応していません。複数のスレッドやプロセスから同時に使用すると、誤った値を生成する可能性があります。オリジナルは高速性を重視して作成されていますが、このDLL版は(測定していませんが)オリジナルに比べて速度はかなり低下していると思われます。著作権オリジナルの著作権表示は次のとおり。DLL備考アーカイブを展開して、winnt\system32(Windows95/98の場合は、Windows\system)などのディレクトリにコピーしてお使いください。それ以前のDelphiでは、コンパイルできるかもしれませんが、正しく動作しません。4では、DLLプロジェクトを作成し、このファイルを追加してビルドすれば、上記DLLが作成できます。