std::mersenne_twister_engine

From cppreference.com
< cpp‎ | numeric‎ | random
 
 
 
Pseudo-random number generation
Engines and engine adaptors
mersenne_twister_engine
(C++11)
Generators
(C++11)
Distributions
Uniform distributions
Bernoulli distributions
Poisson distributions
Normal distributions
Sampling distributions
Seed Sequences
(C++11)
C library
 
 
Defined in header <random>
template<

    class UIntType,
    size_t w, size_t n, size_t m, size_t r,
    UIntType a, size_t u, UIntType d, size_t s,
    UIntType b, size_t t,
    UIntType c, size_t l, UIntType f

> class mersenne_twister_engine;
(since C++11)

mersenne_twister_engine is a random number engine based on Mersenne Twister algorithm. It produces high quality unsigned integer random numbers.

The following typedefs define the random number engine with two commonly used parameter sets:

Defined in header <random>
Type Definition
mt19937

std::mersenne_twister_engine<std::uint_fast32_t, 32, 624, 397, 31,
                             0x9908b0df, 11,
                             0xffffffff, 7,
                             0x9d2c5680, 15,
                             0xefc60000, 18, 1812433253>

32-bit Mersenne Twister by Matsumoto and Nishimura, 1998

mt19937_64

std::mersenne_twister_engine<std::uint_fast64_t, 64, 312, 156, 31,
                             0xb5026f5aa96619e9, 29,
                             0x5555555555555555, 17,
                             0x71d67fffeda60000, 37,
                             0xfff7eee000000000, 43, 6364136223846793005>

64-bit Mersenne Twister by Matsumoto and Nishimura, 2000

Contents

[edit] Member types

Member type Definition
result_type The integral type generated by the engine. Results are undefined if this is not an unsigned integral type.

[edit] Member functions

Construction and Seeding
constructs the engine
(public member function)
sets the current state of the engine
(public member function)
Generation
advances the engine's state and returns the generated value
(public member function)
advances the engine's state by a specified amount
(public member function)
Characteristics
[static]
gets the smallest possible value in the output range
(public static member function)
[static]
gets the largest possible value in the output range
(public static member function)

[edit] Non-member functions

compares the internal states of two pseudo-random number engines
(function template)
performs stream input and output on pseudo-random number engine
(function template)

[edit] Member objects

constexpr size_t word_size
[static]

(public static member constant)
constexpr size_t state_size
[static]

(public static member constant)
constexpr size_t shift_size
[static]

(public static member constant)
constexpr size_t mask_bits
[static]

(public static member constant)
constexpr UIntType xor_mask
[static]

(public static member constant)
constexpr size_t tempering_u
[static]

(public static member constant)
constexpr UIntType tempering_d
[static]

(public static member constant)
constexpr size_t tempering_s
[static]

(public static member constant)
constexpr UIntType tempering_b
[static]

(public static member constant)
constexpr size_t tempering_t
[static]

(public static member constant)
constexpr UIntType tempering_c
[static]

(public static member constant)
constexpr size_t tempering_l
[static]

(public static member constant)
constexpr UIntType initialization_multiplier
[static]

(public static member constant)
constexpr UIntType default_seed
[static]

(public static member constant)