mt-liteは、メルセンヌ・ツイスタを操作する関数で構成されるライブラリである。
mt-liteは周期の異なる複数のメルセンヌ・ツイスタを扱うことができる。また、それぞれのメルセンヌ・ツイスタについて、複数の初期化手段と乱数生成手段を持つ。
選択可能なメルセンヌ・ツイスタの一覧は次の通り。ただし、状態ベクトルの長さの単位は32ビット幅の符号なし整数である。
表 3.1. メルセンヌ・ツイスタ一覧
| 名称 | 周期 | 状態ベクトルの長さ | 構造体 |
|---|---|---|---|
| mt521 | 2521-1 | 17 | mt521_state_t |
| mt607 | 2607-1 | 19 | mt607_state_t |
| mt1279 | 21279-1 | 40 | mt1279_state_t |
| mt2203 | 22203-1 | 69 | mt2203_state_t |
| mt2281 | 22281-1 | 72 | mt2281_state_t |
| mt3217 | 23217-1 | 101 | mt3217_state_t |
| mt4253 | 24253-1 | 133 | mt4253_state_t |
| mt4423 | 24423-1 | 139 | mt4423_state_t |
| mt9689 | 29689-1 | 303 | mt9689_state_t |
| mt9941 | 29941-1 | 311 | mt9941_state_t |
| mt11213b | 211213-1 | 351 | mt11213b_state_t |
| mt19937 | 219937-1 | 624 | mt19937_state_t |
状態ベクトルが長い方が乱数の質は良いが、状態を保持するために必要なメモリの量は大きい。
選択可能な初期化方式の一覧は次の通り。
詳細は項5.3. 「初期化関数」を参照のこと。
選択可能な乱数生成方式の一覧は次の通り。
表 3.3. 乱数生成方式一覧
| 名称 | 特性 | 関数 |
|---|---|---|
| loop | 調律有、単一乱数生成、ループ有 | |
| loop-nt | 調律無、単一乱数生成、ループ有 | |
| nonloop | 調律有、単一乱数生成、ループ無 | |
| nonloop-nt | 調律無、単一乱数生成、ループ無 | |
| block | 調律有、複数乱数生成 | |
| block-nt | 調律無、複数乱数生成 | |
調律の有無は、乱数の質と乱数生成速度に影響する。乱数生成個数が単一か複数か、ループを持つか否かは、乱数生成速度に影響する。詳細は項5.4. 「乱数生成関数」を参照のこと。