この章では、いくつかのTipsを列挙する。
ライブラリのビルドを行わずにソースコードを取得する
ビルド時にディレクトリsrcにてmake built-sourcesを実行する。
ライブラリを小さくする
configure時に--enable-mt、--enable-initialization、--enable-variantを指定し、ビルド対象を制限する。
初期ベクトルを取得する
mtlite-getivを使用する。
mtlite-getivは、第1引数にメルセンヌ・ツイスタの名称、第2引数にに渡すスカラ値、第3引数に乱数生成個数を与えて起動すると、指定した初期化および乱数生成を行い、その直後の状態ベクトルの値を表示する。例えば次の通り。
mtX_init_by_scalar
$ mtlite-getiv mt19937 5489 100000000 1255059179, 1156561137, 1371228157, 338124641, 1222573352, 3223521905, 2899216099, 2715121062, 1555581638, 693014992, 1818236064, 1754249133, 473568222, 1401678964, 691045303, ...
状態を退避/復帰する (C)
対象のメルセンヌ・ツイスタの状態を保持するmtX_state_t型の変数のすべての値を待避/復帰させることで行う。
状態を退避/復帰する (C++)
待避するときは、メンバ関数dumpを用いてmtX_state_t型の変数へと状態をコピーし、Cでの待避と同様の手順にて行う。復帰させるときは、メンバ関数restoreを用いる。