27 void seed(std::uint64_t value)
noexcept
30 X =
static_cast<std::uint32_t
>(expand());
32 Y =
static_cast<std::uint32_t
>(expand());
34 Z =
static_cast<std::uint32_t
>(expand());
35 C = 1 +
static_cast<std::uint32_t
>(expand() % 698769067ULL);
40 std::uint64_t t = 698769069ULL * Z + C;
41 X = 69069 * X + 12345;
45 C =
static_cast<std::uint32_t
>(t >> 32);
46 Z =
static_cast<std::uint32_t
>(t);
53 std::uint32_t X = 0, Y = 1, Z = 0, C = 1;
70 void seed(std::uint64_t value)
noexcept
77 Z1 =
static_cast<std::uint32_t
>(expand());
78 Z2 =
static_cast<std::uint32_t
>(expand());
79 C1 = 1 +
static_cast<std::uint32_t
>(expand() % 4294584391ULL);
80 C2 = 1 +
static_cast<std::uint32_t
>(expand() % 4246477507ULL);
85 X = 1490024343005336237ULL * X + 123456789;
89 std::uint64_t t = 4294584393ULL * Z1 + C1;
90 C1 =
static_cast<std::uint32_t
>(t >> 32);
91 Z1 =
static_cast<std::uint32_t
>(t);
92 t = 4246477509ULL * Z2 + C2;
93 C2 =
static_cast<std::uint32_t
>(t >> 32);
94 Z2 =
static_cast<std::uint32_t
>(t);
95 return X + Y + Z1 + (
static_cast<std::uint64_t
>(Z2) << 32);
101 std::uint64_t X = 0, Y = 1;
102 std::uint32_t Z1 = 0, Z2 = 0, C1 = 1, C2 = 1;
The SplitMix64 class Sebastiano Vigna's SplitMix64 generator.
Definition splitmix64.hpp:14
The JKissEngine class David Jones' JKISS generator with 32-bit output.
Definition legacy.hpp:18
std::uint32_t result_type
Definition legacy.hpp:20
static constexpr result_type min() noexcept
Definition legacy.hpp:24
friend bool operator==(const JKissEngine &, const JKissEngine &)=default
JKissEngine(std::uint64_t value=0) noexcept
Definition legacy.hpp:22
result_type operator()() noexcept
Definition legacy.hpp:38
static constexpr result_type max() noexcept
Definition legacy.hpp:25
void seed(std::uint64_t value) noexcept
Definition legacy.hpp:27
The JLKiss64Engine class David Jones' JLKISS64 generator with 64-bit output.
Definition legacy.hpp:61
JLKiss64Engine(std::uint64_t value=0) noexcept
Definition legacy.hpp:65
result_type operator()() noexcept
Definition legacy.hpp:83
static constexpr result_type min() noexcept
Definition legacy.hpp:67
friend bool operator==(const JLKiss64Engine &, const JLKiss64Engine &)=default
void seed(std::uint64_t value) noexcept
Definition legacy.hpp:70
static constexpr result_type max() noexcept
Definition legacy.hpp:68
std::uint64_t result_type
Definition legacy.hpp:63
Engines of RandLib 1.x, kept for comparison with older results.
Definition legacy.hpp:11