std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::seed
From cppreference.com
< cpp | numeric | random | mersenne twister engine
void seed( result_type value = default_seed ); | (1) | (since C++11) |
template<class SeedSeq > void seed( SeedSeq& seq ); | (2) | (since C++11) |
Sets the state of the random-number engine.
Contents |
[edit]Parameters
value | - | seed value to use to set the state |
seq | - | seed sequence to use to set the state |
[edit]Exceptions
[edit]Complexity
1) Same as std::mersenne_twister_engine(value).
2) Same as std::mersenne_twister_engine(seq).
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 2181 | C++11 | overload (2) would not throw even if the seq.generate call throws | propagates the exception |
[edit]See also
constructs the engine (public member function) |
[edit]Example
Run this code
#include <iostream>#include <random> int main(){std::mt19937 gen; // Seed the engine with an unsigned int gen.seed(1);std::cout<<"after seed by 1: "<< gen()<<'\n'; // Seed the engine with two unsigned intsstd::seed_seq sseq{1, 2}; gen.seed(sseq);std::cout<<"after seed by {1,2}: "<< gen()<<'\n';}
Possible output:
after seed by 1: 1791095845 after seed by {1,2}: 3127717181