|
MTToolBox
0.2.10
|
疑似乱数生成器の均等分布次元を計算する [詳解]
#include <AlgorithmEquidistribution.hpp>
公開メンバ関数 | |
| AlgorithmEquidistribution (const ECGenerator &rand, int bit_length, int mexp=0) | |
| コンストラクタ [詳解] | |
| ~AlgorithmEquidistribution () | |
| デストラクタ [詳解] | |
| int | get_all_equidist (int veq[]) |
| vビット精度の均等分布次元を計算する。 v = bit_len から 1までの均等分布次元を計算して、veq[] に入れる。返却値はv=1からbit_len までの均等分布次元の理論的上限との 差の総和である。 [詳解] | |
| int | get_equidist (int *sum_equidist) |
| vビット精度の均等分布次元を計算する。 [詳解] | |
疑似乱数生成器の均等分布次元を計算する
PIS法(原瀬)によって疑似乱数生成器の出力の均等分布次元を計算する アルゴリズム
| U | 疑似乱数生成器の出力の型 |
| V | パラメータ生成器の出力の型 |
|
inline |
コンストラクタ
PIS法の特徴としてvビット精度均等分布次元を計算する際に、k(v+1) の計算時の中間結果を利用してk(v)の計算の手間を省くことができる。この クラスではその特徴を反映してk(v)のvをbit_len から1まで変化さ せて一度に求めることができるようになっている。
| rand | 均等分布次元計算可能な疑似乱数生成器 |
| bit_length | 均等分布次元を計算するMSBからのビット長, k(v)のv の最初の値 |
| mexp | メルセンヌ指数、指定しなければ状態空間サイズ。 可約生成器の場合は指定する必要がある。 |
参照先 MTToolBox::AbstractGenerator< U >::bitSize(), MTToolBox::linear_generator_vector< U, V >::next_state().
|
inline |
デストラクタ
| int MTToolBox::AlgorithmEquidistribution< U, V >::get_all_equidist | ( | int | veq[] | ) |
vビット精度の均等分布次元を計算する。 v = bit_len から 1までの均等分布次元を計算して、veq[] に入れる。返却値はv=1からbit_len までの均等分布次元の理論的上限との 差の総和である。
| [out] | veq | v ビット精度の均等分布次元の配列 |
参照元 MTToolBox::AlgorithmReducibleRecursionAndTempering< U, G >::search(), MTToolBox::AlgorithmRecursionAndTempering< U, V >::search().
| int MTToolBox::AlgorithmEquidistribution< U, V >::get_equidist | ( | int * | sum_equidist | ) |
vビット精度の均等分布次元を計算する。
コンストラクタで指定したbit_length についてk(v)を計算して返す。 sum_equidist には、1 から bit_len -1 までの均等分布次元と理論的上限の 差の総和が返される。
| sum_equidist | 1からbit_len -1 までの理論的上限との差の総和 |
1.8.10