7template<concepts::Un
signedInteger T, T a, T c, T m>
17 constexpr static auto min() -> T {
return increment == 0U ? 1U : 0U; }
18 constexpr static auto max() -> T {
return modulus - 1U; }
21 constexpr auto safe_modulo(T value) -> T {
38 m_state = safe_modulo(
seed);
51 for (; z != 0U; z--) {
58 return x.m_state == y.m_state;
Definition linear_congruential_engine.h:8
static constexpr auto multiplier
Definition linear_congruential_engine.h:12
static constexpr auto max() -> T
Definition linear_congruential_engine.h:18
static constexpr auto modulus
Definition linear_congruential_engine.h:14
static constexpr auto increment
Definition linear_congruential_engine.h:13
constexpr void discard(umax z)
Definition linear_congruential_engine.h:50
T Result
Definition linear_congruential_engine.h:10
constexpr LinearCongruentialEngine(T seed)
Definition linear_congruential_engine.h:32
constexpr friend auto operator==(LinearCongruentialEngine const &x, LinearCongruentialEngine const &y) -> bool
Definition linear_congruential_engine.h:57
static constexpr auto min() -> T
Definition linear_congruential_engine.h:17
constexpr auto operator()() -> T
Definition linear_congruential_engine.h:42
constexpr void seed(T seed=default_seed)
Definition linear_congruential_engine.h:34
constexpr LinearCongruentialEngine()
Definition linear_congruential_engine.h:30
static constexpr T default_seed
Definition linear_congruential_engine.h:15
Definition uniform_int_distribution.h:8
LinearCongruentialEngine< u32, 48271, 0, 2147483647 > MinstdRand
Definition linear_congruential_engine.h:65
LinearCongruentialEngine< u32, 16807, 0, 2147483647 > MinstdRand0
Definition linear_congruential_engine.h:64
uintmax_t umax
Definition integers.h:39
Definition zstring_parser.h:9