MT(Mersenne Twister)法による一様乱数ジェネレータ
[詳細]
#include <random.h>
Public メソッド |
| random () |
| コンストラクタ
|
| random (const unsigned long seed) |
| コンストラクタ(seedで初期化)
|
| random (const array< unsigned long > &seed_array) |
| コンストラクタ(seed_arrayで初期化)
|
void | init (const unsigned long &seed) |
| seedで初期化
|
void | init (const array< unsigned long > &seed_array) |
| seed_arrayで初期化
|
unsigned long | int32 () |
| 32bit符号無し整数乱数の発生
|
unsigned long | int31 () |
| 31bit符号無し整数乱数の発生
|
double | real1 () |
| [0,1]区間浮動小数点乱数の発生
|
double | real2 () |
| [0,1)区間浮動小数点乱数の発生
|
double | real3 () |
| (0,1)区間浮動小数点乱数の発生
|
double | res53 () |
| [0,1)区間浮動小数点乱数の発生(53bit分解能)
|
unsigned long | generate (const unsigned int n=0xffffffffUL) |
| 0, 1, ... N-1 の符号無し整数乱数発生
|
unsigned long | operator() (const unsigned int n=0xffffffffUL) |
| 0, 1, ... N-1 の符号無し整数乱数発生
|
説明
MT(Mersenne Twister)法による一様乱数ジェネレータ
長周期, 高次元均等分布を持つ擬似乱数を生成する. 周期が2^19937-1で、623次元超立方体の中に 均等に分布することが証明されている.
このクラスは,MT法開発者によりCで書かれた乱数生成関数群(MT19937)をクラス化したものである.
MT法(MT19937)開発者のページ: http://www.math.keio.ac.jp/~matumoto/mt.html
コンストラクタとデストラクタ
mist::uniform::random::random |
( |
| ) |
|
|
inline |
mist::uniform::random::random |
( |
const unsigned long |
seed | ) |
|
|
inlineexplicit |
コンストラクタ(seedで初期化)
- 引数
-
[in] | seed | … 乱数のseed(これを用いてジェネレータの状態を初期化する) |
mist::uniform::random::random |
( |
const array< unsigned long > & |
seed_array | ) |
|
|
inlineexplicit |
コンストラクタ(seed_arrayで初期化)
- 引数
-
[in] | seed_array | … 乱数のseed配列(これを用いてジェネレータの状態を初期化する) |
関数
unsigned long mist::uniform::random::generate |
( |
const unsigned int |
n = 0xffffffffUL | ) |
|
|
inline |
0, 1, ... N-1 の符号無し整数乱数発生
- 引数
-
- 戻り値
- 0, 1, ... N-1 の符号無し整数乱数発生
void mist::uniform::random::init |
( |
const unsigned long & |
seed | ) |
|
|
inline |
void mist::uniform::random::init |
( |
const array< unsigned long > & |
seed_array | ) |
|
|
inline |
unsigned long mist::uniform::random::int31 |
( |
| ) |
|
|
inline |
31bit符号無し整数乱数の発生
generates a random number on [0,0x7fffffff]-interval
- 戻り値
- 31bit符号無し整数乱数
unsigned long mist::uniform::random::int32 |
( |
| ) |
|
|
inline |
32bit符号無し整数乱数の発生
generates a random number on [0,0xffffffff]-interval
- 戻り値
- 32bit符号無し整数乱数
参照先 mist::dicom::UL.
unsigned long mist::uniform::random::operator() |
( |
const unsigned int |
n = 0xffffffffUL | ) |
|
|
inline |
0, 1, ... N-1 の符号無し整数乱数発生
- 引数
-
- 戻り値
- 0, 1, ... N-1 の符号無し整数乱数発生
double mist::uniform::random::real1 |
( |
| ) |
|
|
inline |
double mist::uniform::random::real2 |
( |
| ) |
|
|
inline |
[0,1)区間浮動小数点乱数の発生
generates a random number on [0,1)-real-interval
- 戻り値
- [0,1)区間浮動小数点乱数
double mist::uniform::random::real3 |
( |
| ) |
|
|
inline |
(0,1)区間浮動小数点乱数の発生
generates a random number on (0,1)-real-interval
- 戻り値
- (0,1)区間浮動小数点乱数
double mist::uniform::random::res53 |
( |
| ) |
|
|
inline |
[0,1)区間浮動小数点乱数の発生(53bit分解能)
generates a random number on [0,1) with 53-bit resolution
- 戻り値
- [0,1)区間浮動小数点乱数(53bit分解能)
このクラスの説明は次のファイルから生成されました: