#include <AlgorithmRecursionAndTempering.hpp>
|
| AlgorithmRecursionAndTempering (AbstractGenerator< V > &bg, const AlgorithmPrimitivity &primitivity=MersennePrimitivity) |
| コンストラクタ [詳解]
|
|
bool | search (TemperingCalculatable< U, V > &lg, AlgorithmTempering< U, V > &st1, AlgorithmTempering< U, V > &st2, bool verbose=false, std::ostream &os=std::cout, bool no_lsb=false) |
| 状態遷移パラメータとテンパリングパラメータを探索する。 [詳解]
|
|
bool | search (TemperingCalculatable< U, V > &lg, AlgorithmTempering< U, V > &st, bool verbose=false, std::ostream &os=std::cout) |
| MSBからの均等分布次元のみを向上させたい場合の探索を行う。 状態遷移関数のパラメータは探索する。 [詳解]
|
|
int | getWeight () |
| 特性多項式のハミングウェイトを返す [詳解]
|
|
int | getDelta () |
| 均等分布次元の理論値との差の総和を返す。 [詳解]
|
|
const NTL::GF2X & | getCharacteristicPolynomial () |
| 状態遷移関数の特性多項式を返す。 [詳解]
|
|
template<typename U, typename V = U>
class MTToolBox::AlgorithmRecursionAndTempering< U, V >
- 警告
- このクラスでは、パラメータ探索をする疑似乱数生成器の状態空間のサイズは メルセンヌ指数であると想定されている。
-
状態遷移関数の特性多項式が原始多項式となるような疑似乱数生成 器のパラメータを探索する。
-
均等分布次元がよくなるようなテンパリングパラメータを探索する。
- テンプレート引数
-
U | 疑似乱数生成器の出力の型, 符号なし型であること |
V | パラメータ生成器の出力の型 |
template<typename U , typename V = U>
コンストラクタ
- 引数
-
bg | パラメータをランダムサーチするための疑似乱数生成器を指定する。 この疑似乱数生成器に限り、GF(2)線形である必要はない。疑似乱数生成器である 必要すらない。 |
primitivity | 原始性判定アルゴリズム。 デフォルトはメルセンヌ 素数周期用のもの。 |
template<typename U , typename V = U>
状態遷移関数の特性多項式を返す。
- 戻り値
- 状態遷移関数の特性多項式
template<typename U , typename V = U>
均等分布次元の理論値との差の総和を返す。
- 戻り値
- 均等分布次元の理論値との差の総和
template<typename U , typename V = U>
特性多項式のハミングウェイトを返す
- 戻り値
- 特性多項式のハミングウェイト
template<typename U , typename V = U>
状態遷移パラメータとテンパリングパラメータを探索する。
- 引数
-
lg | テンパリングパラメータ計算可能な疑似乱数生成器 |
st1 | テンパリングパラメータ探索アルゴリズム |
st2 | テンパリングパラメータ探索アルゴリズム(LSB) |
verbose | 余分な情報を出力するフラグ |
os | 出力ストリーム |
no_lsb | LSBからのテンパリングをしない |
- 戻り値
- true 原始多項式を発見しテンパリングパラメータを設定した場合
- 引数
-
lg | GF(2)-linear pseudo random number generator whose parameters are to be searched. |
st1 | Algorithm for searching tempering parameters. |
st2 | Algorithm for searching tempering parameters from LSB. |
verbose | if true redundant messages will be outputed. |
os | output stream for redundant messages. |
no_lsb | if true, st2 will not be used. |
- 戻り値
- false if no tempering parameters which gives proper state transition function are found.
参照先 MTToolBox::AbstractGenerator< U >::bitSize(), MTToolBox::AlgorithmEquidistribution< U, V >::get_all_equidist(), MTToolBox::RecursionSearchable< U, V >::getParamString(), MTToolBox::AlgorithmTempering< U, V >::isLSBTempering(), MTToolBox::isPrime(), MTToolBox::TemperingCalculatable< U, V >::resetReverseOutput(), MTToolBox::TemperingCalculatable< U, V >::setReverseOutput().
参照元 MTToolBox::AlgorithmRecursionAndTempering< U, V >::search().
template<typename U , typename V = U>
このクラス詳解は次のファイルから抽出されました: