class
<random>

std::mt19937_64

typedef mersenne_twister_engine<uint_fast64_t,  64,312,156,31,0xb5026f5aa96619e9,  29,0x5555555555555555,  17,0x71d67fffeda60000,  37,0xfff7eee000000000,  43,6364136223846793005> mt19937_64;
Mersenne Twister 19937 generator (64 bit)
A Mersenne Twister pseudo-random generator of 64-bit numbers with a state size of 19937 bits.

It is an instantiation of the mersenne_twister_engine with the following template parameters:
parameternamevalue
UIntTyperesult typeuint_fast64_t
wword size64
nstate size312
mshift size156
rmask bits31
aXOR mask0xb5026f5aa96619e9
utempering u29
dtempering d0x5555555555555555
stempering s17
btempering b0x71d67fffeda60000
ttempering t37
ctempering c0xfff7eee000000000
ltempering l43
finitialization multiplier6364136223846793005

Member types

The following alias is a member type of mt19937_64:

member typedefinitionnotes
result_typeuint_fast64_tThe type of the numbers generated.

Member functions

As a mersenne_twister_engine type, it has the following member functions:

Non-member functions

As a mersenne_twister_engine type, the following operator overloads may be applied to it:

Member constexpr constants

member constantdefinitionnotes
word_size64The number of bits of each word in the state sequence.
state_size312The number of elements in the state sequence (degree of recurrence).
shift_size156The shift size used on twists to transform the values.
mask_bits31The number of bits that mark the separation point of words on each twist.
xor_mask0xb5026f5aa96619e9The XOR mask applied as the linear function on each twist.
tempering_u29The shift size of parameter u used in the tempering process of the generation algorithm.
tempering_d0x5555555555555555The XOR mask used as parameter d in the tempering process of the generation algorithm.
tempering_s17The shift size of parameter s used in the tempering process of the generation algorithm.
tempering_b0x71d67fffeda60000The XOR mask used as parameter b in the tempering process of the generation algorithm.
tempering_t37The shift size of parameter t used in the tempering process of the generation algorithm.
tempering_c0xfff7eee000000000The XOR mask used as parameter c in the tempering process of the generation algorithm.
tempering_l43The shift size of parameter l used in the tempering process of the generation algorithm.
initialization_multiplier6364136223846793005The initialization multiplier used to seed the state sequence when a single value is used as seed.
default_seed5489uThe default seed used on construction or seeding.

See also