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。
另见
seed | sets the current state of the engine (public member function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
http://en.cppreference.com/w/cpp/数值/随机/Mersenne[医]捻线机[医]发动机/默森[医]捻线机[医]发动机