在线文档教程
C++
数字 | Numerics

std::mersenne_twister_engine::mersenne_twister_engine

STD:Mersenne[医]捻线机[医]引擎::Mersenne[医]捻线机[医]发动机

explicit mersenne_twister_engine( result_type value = default_seed (1)(since C++11)
template< class Sseq > explicit mersenne_twister_engine( Sseq& s (2)(since C++11)
mersenne_twister_engine( const mersenne_twister_engine& (3)(since C++11) (implicitly declared)

构造伪随机数引擎。

1%29构造引擎并初始化状态%28n值X

I型result_type%29如下:值mod 2w

用于初始化X。

对于I=1-n,...,-1,每个X,其余的都是迭代初始化的。

我被初始化为。[F.%28X

I-1xor%28X

i-1 rShift%28w-2%29%29%29+i mod n]mod 2w

2%29构造引擎并通过调用s.generate(a, a+n*k)其中a是长度为n的数组。%2AK和k为ceil%28w/32%29,然后迭代地对i=-n,...,-1,设置引擎状态X的每个元素。

I至%28Σk-1

J=0A

K%28i+n%29+j}·232 j

%29 mod 2w

,最后,如果X的最重要的w-r位

0等于零,如果所有其他X

我是零,代替X

0与2w-1

...

注意:初始化要求基于2002版本的MersenneTwister,mt 19937ar.。丙...

重载%282%29只参与以下情况下的过载解决方案:Sseq有资格SeedSequence.特别是,在下列情况下,它被排除在候选函数集合之外:Sseq可转换为result_type...

参数

value-seed value to use in the initialization of the internal state
s-seed sequence to use in the initialization of the internal state

复杂性

线性在n%28州大小%29。

另见

seedsets the current state of the engine (public member function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/数值/随机/Mersenne[医]捻线机[医]发动机/默森[医]捻线机[医]发动机