MTToolBox  0.2.10
公開メンバ関数
MTToolBox::TemperingCalculatable< U, V > クラステンプレートabstract

テンパリングを行う可約ジェネレータは、このクラスを継承す ることによって、TemperingAlgorithmを使用したテンパリングパラメー タ探索が可能になる。 [詳解]

#include <TemperingCalculatable.hpp>

MTToolBox::TemperingCalculatable< U, V > の継承関係図
MTToolBox::EquidistributionCalculatable< U, V > MTToolBox::RecursionSearchable< U, V > MTToolBox::AbstractGenerator< U >

公開メンバ関数

virtual ~TemperingCalculatable ()
 仮想デストラクタ(必須) [詳解]
 
virtual void setTemperingPattern (U mask, U pattern, int index)=0
 テンパリングパラメータをセットする。 [詳解]
 
virtual void setUpTempering ()=0
 テンパリングテーブルの準備が必要な場合はここで準備する。 MTGP の場合はルックアップテーブルの準備をしている。 テンパリングパラメータの数が1の場合はおそらく準備をする必要はない。 [詳解]
 
virtual void setReverseOutput ()=0
 出力の上位ビットと下位ビットを反転する。 これは下位ビットから見た均等分布次元を計測またはテンパリング するために使われる。 [詳解]
 
virtual void resetReverseOutput ()=0
 出力の上位ビットと下位ビットの並びを元に戻す。 [詳解]
 
virtual bool isReverseOutput ()=0
 出力の上位ビットと下位ビットが反転しているかを返す。 [詳解]
 
- 基底クラス MTToolBox::EquidistributionCalculatable< U, V > に属する継承公開メンバ関数
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
 内部状態空間のビットサイズを返す。 [詳解]
 

詳解

template<typename U, typename V = U>
class MTToolBox::TemperingCalculatable< U, V >

テンパリングを行う可約ジェネレータは、このクラスを継承す ることによって、TemperingAlgorithmを使用したテンパリングパラメー タ探索が可能になる。

テンパリングを行うGF(2)線形疑似乱数生成器は、このクラスを継承す ることによって、TemperingAlgorithmを使用したテンパリングパラメー タ探索が可能になる。

テンプレート引数
U疑似乱数生成器の出力の型、符号なし型であること
U疑似乱数生成器の出力の型、符号なし型であること
Vパラメータ生成用乱数の型

構築子と解体子

template<typename U, typename V = U>
virtual MTToolBox::TemperingCalculatable< U, V >::~TemperingCalculatable ( )
inlinevirtual

仮想デストラクタ(必須)

関数詳解

template<typename U, typename V = U>
virtual bool MTToolBox::TemperingCalculatable< U, V >::isReverseOutput ( )
pure virtual

出力の上位ビットと下位ビットが反転しているかを返す。

戻り値
true 出力の上位ビットと下位ビットが反転している。
template<typename U, typename V = U>
virtual void MTToolBox::TemperingCalculatable< U, V >::resetReverseOutput ( )
pure virtual
template<typename U, typename V = U>
virtual void MTToolBox::TemperingCalculatable< U, V >::setReverseOutput ( )
pure virtual

出力の上位ビットと下位ビットを反転する。 これは下位ビットから見た均等分布次元を計測またはテンパリング するために使われる。

参照元 MTToolBox::AlgorithmPartialBitPattern< U, V, bit_len, param_num, try_bit_len, step, lsb >::operator()(), MTToolBox::AlgorithmRecursionAndTempering< U, V >::search().

template<typename U, typename V = U>
virtual void MTToolBox::TemperingCalculatable< U, V >::setTemperingPattern ( mask,
pattern,
int  index 
)
pure virtual

テンパリングパラメータをセットする。

引数
[in]maskpattern のうち実際にテンパリングパラメータに 設定するべき部分を指定する。
[in]patternテンパリングパラメータの一部にセットされるパターン
[in]indexテンパリングパラメータの数が1より大きいときに 何番目のテンパリングパラメータかを示す。

参照元 MTToolBox::AlgorithmBestBits< U, V >::operator()().

template<typename U, typename V = U>
virtual void MTToolBox::TemperingCalculatable< U, V >::setUpTempering ( )
pure virtual

テンパリングテーブルの準備が必要な場合はここで準備する。 MTGP の場合はルックアップテーブルの準備をしている。 テンパリングパラメータの数が1の場合はおそらく準備をする必要はない。

参照元 MTToolBox::AlgorithmBestBits< U, V >::operator()().


このクラス詳解は次のファイルから抽出されました: