mt-liteは、メルセンヌ・ツイスタ(Mersenne Twister, MT)を用いた疑似乱数生成器のC言語による実装である。
メルセンヌ・ツイスタは、松本眞および西村拓士が1996年から1997年にかけて開発した疑似乱数生成アルゴリズムである。当時の他の疑似乱数生成器に対し、周期が長く、高次元均等分布に優れ、生成速度が高速であるという特長を持つ。また、同著者らによるC言語を用いた実装が公開されている: 2007年11月時点の最新版はmt19937arと呼ばれる。
mt-liteは、mt19937arと同様の状態遷移を使用した疑似乱数生成器を収めたライブラリである。一部のソースコードはmt19937arの派生物である。mt19937arに対し、次の特長を持つ。
状態ベクトルの長さを選択できる
mt19937arと同一の219937-1の周期に加え、2521-1から211213-1までのすべての周期のメルセンヌ・ツイスタを扱える。したがって、周期と状態ベクトルの長さを目的に合わせて選択できる。状態ベクトルを短くすると乱数の質は低下する(周期は短くなり次元均等分布は悪化する)が、状態を保持するために必要なメモリの量を小さくできる。そのため、使用メモリ量に対する制約が強い組み込み機器などに向いている。
リアルタイム性に優れる
mt19937arと同様の内部にループを持つ乱数生成関数に加えて、内部にループを持たない応答時間がほぼ一定の乱数生成関数を持つ。したがって、一部のゲームなどのリアルタイム性を要する用途に向いている。
スレッドセーフである
グローバル変数や静的ローカル変数に状態を保持しない。よって、マルチスレッド環境での扱いが容易である。
同一条件下での平均乱数生成時間はmt19937arよりもやや短い程度である。乱数の質の低下を許容するならば、より短い時間で乱数を生成できる。