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 までの理論的上限との差の総和 |