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
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Numerics library
Interpolations
Generic numeric operations
C-style checked integer arithmetic
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)
Bit manipulation (C++20)
Saturation arithmetic (C++26)
(C++17)
(C++17)
(C++20)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Pseudo-random number generation
(C++20)
(C++11)
(C++11)
(C++11)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
std::mersenne_twister_engine
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)
void seed( SeedSeq& seq );
Sets the state of the random-number engine.
[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
[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 ints std::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