MTToolBox
0.2.10
|
このクラスはGF(2)線形疑似乱数生成器の均等分布次元を計算するためのクラスである。 [詳解]
#include <EquidistributionCalculatable.hpp>
公開メンバ関数 | |
virtual | ~EquidistributionCalculatable () |
仮想デストラクタ(必須) [詳解] | |
virtual EquidistributionCalculatable< U, V > * | clone () const =0 |
自分のコピーを返す。 [詳解] | |
virtual U | generate (int outBitLen)=0 |
上位(MSBから) outBitLen だけ出力する。 [詳解] | |
virtual void | add (EquidistributionCalculatable< U, V > &that)=0 |
GF(2)線形疑似乱数生成器の状態空間を加算し、内部状態を変更する。 [詳解] | |
virtual void | setZero ()=0 |
状態空間をすべてゼロにセットする。 [詳解] | |
virtual bool | isZero () const =0 |
状態空間がすべてゼロかチェックする。 [詳解] | |
基底クラス MTToolBox::RecursionSearchable< U, V > に属する継承公開メンバ関数 | |
virtual | ~RecursionSearchable () |
仮想デストラクタ(必須) [詳解] | |
virtual void | setUpParam (AbstractGenerator< V > &generator)=0 |
状態遷移関数のパラメータを設定する。 [詳解] | |
virtual const std::string | getHeaderString ()=0 |
パラメータのヘッダ文字列を返す。 [詳解] | |
virtual const std::string | getParamString ()=0 |
パラメータの文字列表現を返す。 [詳解] | |
基底クラス MTToolBox::AbstractGenerator< U > に属する継承公開メンバ関数 | |
virtual | ~AbstractGenerator () |
仮想デストラクタ(必須) [詳解] | |
virtual U | generate ()=0 |
内部状態を次状態に遷移し、疑似乱数をひとつ出力する。 [詳解] | |
virtual void | seed (U value)=0 |
内部状態を初期化する。 [詳解] | |
virtual int | bitSize () const =0 |
内部状態空間のビットサイズを返す。 [詳解] | |
このクラスはGF(2)線形疑似乱数生成器の均等分布次元を計算するためのクラスである。
GF(2)線形疑似乱数生成器を設計するならば、均等分布次元を計算して おいた方がよいであろう。均等分布次元を計算するためには、出力関数 も含めてGF(2)線形であることが必要である。均等分布次元は状態空間 の大きさによって上限が決まるので、状態空間の大きさを固定した時に どのくらい上限に近づけるかという点に理論的な関心がある。一方、多 変数(多次元)の数値積分などの実際の問題領域においては、均等分布 次元の大きさそのものが問題であり、その点から言えば、状態空間の大 きな疑似乱数生成器を開発し、均等分布次元の値を大きくすることの方 が理論的上限に近いかどうかよりも重要である。
U | 疑似乱数生成器の出力のタイプ、符号なし型でなければならない。 |
V | パラメータ生成器の出力のタイプ |
|
inlinevirtual |
仮想デストラクタ(必須)
|
pure virtual |
GF(2)線形疑似乱数生成器の状態空間を加算し、内部状態を変更する。
for (int i = 0; i < size; i++) { state[(index + i) % size] ^= that.state[(that.index + i) % size]; }
|
pure virtual |
自分のコピーを返す。
参照元 MTToolBox::annihilate(), MTToolBox::TestLinearity< U, V >::operator()().
|
pure virtual |
上位(MSBから) outBitLen だけ出力する。
それ以外のビットは0でなければならない。 均等分布次元の計算にとって重要なメソッドである。 このメソッドを実行すると、状態空間の遷移も行われる。
[in] | outBitLen | 上位から何ビット出力するかを指定する。 |
|
pure virtual |
状態空間がすべてゼロかチェックする。
|
pure virtual |
状態空間をすべてゼロにセットする。