std::linear_congruential_engine (3) - Linux Manuals
std::linear_congruential_engine: std::linear_congruential_engine
NAME
std::linear_congruential_engine - std::linear_congruential_engine
Synopsis
Defined in header <random>
template<
class UIntType,
UIntType a, (since C++11)
UIntType c,
UIntType m
> class linear_congruential_engine;
linear_congruential_engine is a random number engine based on Linear_congruential_generator_(LCG). A LCG has a state that consists of a single integer.
The transition algorithm of the LCG function is x
i+1 ← (ax
i+c) mod m.
The following typedefs define the random number engine with two commonly used parameter sets:
Defined in header <random>
Type Definition
minstd_rand0(C++11) std::linear_congruential_engine<std::uint_fast32_t, 16807, 0, 2147483647>
minstd_rand(C++11) std::linear_congruential_engine<std::uint_fast32_t, 48271, 0, 2147483647>
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.
Member functions
Construction and Seeding
constructor (public member function)
seed (public member function)
Generation
operator() (public member function)
discard (public member function)
Characteristics
min gets the smallest possible value in the output range
[static]
max gets the largest possible value in the output range
[static]
Non-member functions
operator== (function template)
operator!=
operator<< (function template)
operator>>
Member objects
constexpr UIntType multiplier the multiplier term (a).
[static]
constexpr UIntType increment the increment term (c).
[static]
constexpr UIntType modulus the modulus term (m).
[static]
constexpr UIntType default_seed the default seed (1).