Namespaces
Variants
Views
Actions

std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::seed

From cppreference.com
 
 
 
Pseudo-random number generation
Uniform random bit generators
Engines and engine adaptors
Non-deterministic generator
Distributions
Uniform distributions
Bernoulli distributions
Poisson distributions
Normal distributions
Sampling distributions
Seed Sequences
(C++11)
C library
 
std::mersenne_twister_engine
Member functions
mersenne_twister_engine::seed
(C++11)
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 the state of the random-number engine.

1) Right after the state is set, *this == std::mersenne_twister_engine(value) is true.
2) Right after the state is set, *this == std::mersenne_twister_engine(seq) is true.

Contents

[edit] Parameters

value - seed value to use to set the state
seq - seed sequence to use to set the state

[edit] Exceptions

Throws nothing.

[edit] Complexity

1) Same as std::mersenne_twister_engine(value).

[edit] Example

#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