MTToolBox
0.2.10
|
テンパリングパラメータを探索するアルゴリズム(MT用) [詳解]
#include <AlgorithmBestBits.hpp>
公開型 | |
typedef temper_params< U > | tempp |
テンパリングパラメータのクラス [詳解] | |
公開メンバ関数 | |
AlgorithmBestBits (int out_bit_length, const int shift_values[], int param_num, int limit_v) | |
~AlgorithmBestBits () | |
デストラクタ [詳解] | |
int | operator() (TemperingCalculatable< U, V > &rand, bool verbose=false) |
テンパリングパラメータを探索する [詳解] | |
bool | isLSBTempering () const |
LSBからのテンパリングかを示す。常にfalse。 [詳解] | |
基底クラス MTToolBox::AlgorithmTempering< U, V > に属する継承公開メンバ関数 | |
virtual | ~AlgorithmTempering () |
仮想デストラクタ(必須) [詳解] | |
テンパリングパラメータを探索するアルゴリズム(MT用)
疑似乱数生成器の高次元均等分布性を改善するために、テンパリングパ ラメータを探索するアルゴリズム。このアルゴリズムはMTDCのテンパリン グパラメータ探索をシミュレートする。
U | 疑似乱数生成器の出力の型, 符号なし型であること、例えば uint32_t など。 |
V | パラメータ生成器の出力の型 |
typedef temper_params<U> MTToolBox::AlgorithmBestBits< U, V >::tempp |
テンパリングパラメータのクラス
|
inline |
[in] | out_bit_length | テンパリングパラメータのビット長, 通常は出力のビット長と等しいと思われる。 |
[in] | shift_values | テンパリングパラメータと対になるシフト数。 正は左シフト。現状では右シフトには対応していない。 |
[in] | param_num | テンパリングパラメータの数, MTDCでは2。 7を越えないこと。実際には 2 の場合しかテストしていない。 この値を大きくすると使用メモリおよび実行時間が著しく増大するであろう。 |
[in] | limit_v | テンパリングパラメータを上位何ビットまでテンパリングするか。 ただし、この値+以後のシフト量だけテンパリングする。この値を大きくすると 使用メモリおよび実行時間が著しく増大するであろう。 |
|
inline |
デストラクタ
|
inlinevirtual |
|
inlinevirtual |
テンパリングパラメータを探索する
テンパリングパラメータを生成し、均等分布次元を計算してよいテ ンパリングパラメータを決定する。求められたよいテンパリングパ ラメータは疑似乱数生成器にセットされる。
[in,out] | rand | 疑似乱数生成器 |
[in] | verbose | 余分な情報を出力するフラグ |
MTToolBox::AlgorithmTempering< U, V >を実装しています。
参照先 MTToolBox::AbstractGenerator< U >::bitSize(), MTToolBox::TemperingCalculatable< U, V >::resetReverseOutput(), MTToolBox::TemperingCalculatable< U, V >::setTemperingPattern(), MTToolBox::TemperingCalculatable< U, V >::setUpTempering().