| Common mathematical functions | |||||||||||||||||||||||||||||||
| Mathematical special functions(C++17) | |||||||||||||||||||||||||||||||
| Mathematical constants(C++20) | |||||||||||||||||||||||||||||||
| Basic linear algebra algorithms(C++26) | |||||||||||||||||||||||||||||||
| Data-parallel types (SIMD)(C++26) | |||||||||||||||||||||||||||||||
| Floating-point environment(C++11) | |||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||
Numeric array (valarray) | |||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||
| Bit manipulation(C++20) | |||||||||||||||||||||||||||||||
| Saturation arithmetic(C++26) | |||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
mersenne_twister_engine::seed | ||||
| Generation | ||||
| Characteristics | ||||
| Non-member functions | ||||
(C++11)(C++11)(until C++20) | ||||
(C++11)(C++11) |
void seed( result_type value= default_seed); | (1) | (since C++11) |
template<class SeedSeq> void seed( SeedSeq& seq); | (2) | (since C++11) |
Sets thestate of the random-number engine.
Contents |
| value | - | seed value to use to set the state |
| seq | - | seed sequence to use to set the state |
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 theseq.generate call throws | propagates the exception |
| constructs the engine (public member function)[edit] |
#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: 1791095845after seed by {1,2}: 3127717181