MTToolBox  0.2.10
公開メンバ関数
MTToolBox::TestLinearity< U, V > クラステンプレート

疑似乱数生成器がGF(2)線形であるかどうかテストする [詳解]

#include <TestLinearity.hpp>

公開メンバ関数

bool operator() (const EquidistributionCalculatable< U, V > &generator)
 generator がGF(2)線形であるかどうかテストする。 [詳解]
 

詳解

template<typename U, typename V = U>
class MTToolBox::TestLinearity< U, V >

疑似乱数生成器がGF(2)線形であるかどうかテストする

テストされる疑似乱数生成器はEquidistributionCalculatableのサブク ラスである必要がある。また、テストされる疑似乱数生成器は状態遷移 関数だけでなく、出力関数もGF(2)線形であることが必要です。

なお、このテストに落ちればGF(2)線形ではないが、このテストをパス したからといってGF(2)線形であるという保証はない。

覚え書き
GF(2)線形に作ったつもりなのに、このテストをパスしなかった場合は、 EquidistributionCalculatable::add() の実装に問題があるかもしれな い。
テンプレート引数
U疑似乱数生成器の出力の型、符号なし型であること
V疑似乱数生成器のパラメータ生成に使う疑似乱数の型

関数詳解

template<typename U , typename V = U>
bool MTToolBox::TestLinearity< U, V >::operator() ( const EquidistributionCalculatable< U, V > &  generator)
inline

generator がGF(2)線形であるかどうかテストする。

引数
generatorテストされる疑似乱数生成器
戻り値
true GF(2)線形の場合

参照先 MTToolBox::EquidistributionCalculatable< U, V >::clone(), MTToolBox::AbstractGenerator< U >::seed().


このクラス詳解は次のファイルから抽出されました: