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

疑似乱数生成器 [詳解]

#include <AbstractGenerator.hpp>

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

公開メンバ関数

virtual ~AbstractGenerator ()
 仮想デストラクタ(必須) [詳解]
 
virtual U generate ()=0
 内部状態を次状態に遷移し、疑似乱数をひとつ出力する。 [詳解]
 
virtual void seed (U value)=0
 内部状態を初期化する。 [詳解]
 
virtual int bitSize () const =0
 内部状態空間のビットサイズを返す。 [詳解]
 

詳解

template<class U>
class MTToolBox::AbstractGenerator< U >

疑似乱数生成器

テンプレート引数
U疑似乱数生成器の出力の型

構築子と解体子

template<class U>
virtual MTToolBox::AbstractGenerator< U >::~AbstractGenerator ( )
inlinevirtual

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

関数詳解

template<class U>
virtual int MTToolBox::AbstractGenerator< U >::bitSize ( ) const
pure virtual

内部状態空間のビットサイズを返す。

内部状態空間のビットサイズ、つまりGF(2)線形空間の次元を返す。 メルセンヌツイスタのように欠けた配列を使用している場合は、実 際に使用されている部分のビットサイズを返すこと。

戻り値
状態空間のビットサイズ

MTToolBox::MersenneTwister, MTToolBox::MersenneTwister64, MTToolBox::Sequential< T >で実装されています。

参照元 MTToolBox::AlgorithmEquidistribution< U, V >::AlgorithmEquidistribution(), MTToolBox::calcCharacteristicPolynomial(), MTToolBox::minpoly(), MTToolBox::AlgorithmBestBits< U, V >::operator()(), MTToolBox::AlgorithmRecursionAndTempering< U, V >::search().

template<class U>
virtual U MTToolBox::AbstractGenerator< U >::generate ( )
pure virtual

内部状態を次状態に遷移し、疑似乱数をひとつ出力する。

戻り値
疑似乱数

MTToolBox::MersenneTwister64, MTToolBox::MersenneTwister, MTToolBox::Sequential< T >で実装されています。

参照元 MTToolBox::minpoly().

template<class U>
virtual void MTToolBox::AbstractGenerator< U >::seed ( value)
pure virtual

内部状態を初期化する。

初期化処理は、GF(2)線形である必要はなく、むしろ非GF(2)線形で あることが望ましい。ただし、MTToolBox による周期の計算や均等 分布次元の計算においては、初期化の結果内部状態がゼロでないと いうことだけが重要である。メルセンヌツイスタのように欠けた配 列を使用している場合は、実際に使用している部分がゼロでないよ うに初期化する必要がある。

引数
[in]value初期化の種

MTToolBox::MersenneTwister64, MTToolBox::MersenneTwister, MTToolBox::Sequential< T >で実装されています。

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


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