C++では、各mtXに対して次の4つのクラスが名前空間mtlite内に定義される。
,mtX,mtX_nt,mtX_nonloopmtX_nonloop_nt
それぞれが疑似乱数生成器を表すクラスである。4つのクラスの差異は、乱数生成関数、mtX_get、mtX_get_ntおよびmtX_get_nonloopの差異と同一である。
mtX_get_nonloop_nt
クラスの公開インタフェースは次の通り。他の3つのクラスも下記に準じる。
mtX
生成される乱数を表す型。mtlite_result_typeと同一。
state_sizeメルセンヌ・ツイスタの状態ベクトルの長さ。単位はresult_typeの型。
mtX(result_type seed), mtX(const result_type key[], unsigned int key_size), mtX(const result_type iv[])
コンストラクタ。与えられた引数で状態を初期化する。順に、初期化関数、mtX_init_by_scalarおよびmtX_init_by_arrayに相当する初期化を行う。
mtX_init_by_iv
void init(result_type seed), void init(const result_type key[], unsigned int key_size), void init(const result_type iv[])与えられた引数で状態を初期化する。それぞれの初期化の行い方は、同じ引数を持つコンストラクタと同一である。
result_type operator()()乱数を1つ取得する。
void dump(::mtX_state_t& state) const
オブジェクトの全内部状態をstateへとコピーする。
void restore(const ::mtX_state_t& state)
オブジェクトの全内部状態をstateからコピーする。