Implementation of the SplitMix64 pseudorandom number generator that provides the API required for a standard uniform random bit generator, so that it can be plugged into any of the random number distributions provided by the standard library.
More...
#include <donut/random.hpp>
|
template<typename CharT , typename Traits > |
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &stream, const SplitMix64Engine &engine) |
|
template<typename CharT , typename Traits > |
std::basic_istream< CharT, Traits > & | operator>> (std::basic_istream< CharT, Traits > &stream, SplitMix64Engine &engine) |
|
Implementation of the SplitMix64 pseudorandom number generator that provides the API required for a standard uniform random bit generator, so that it can be plugged into any of the random number distributions provided by the standard library.
This engine should typically only be used for seeding the Xoroshiro128PlusPlusEngine, which should be preferred for general use.
- Warning
- This engine does not produce cryptographcially secure randomness and should not be used for such purposes.
- See also
- Xoroshiro128PlusPlusEngine
◆ result_type
◆ SplitMix64Engine() [1/2]
constexpr donut::random::SplitMix64Engine::SplitMix64Engine |
( |
| ) |
|
|
inlineconstexprnoexcept |
◆ SplitMix64Engine() [2/2]
constexpr donut::random::SplitMix64Engine::SplitMix64Engine |
( |
result_type |
value | ) |
|
|
inlineexplicitconstexprnoexcept |
◆ min()
static constexpr result_type donut::random::SplitMix64Engine::min |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ max()
static constexpr result_type donut::random::SplitMix64Engine::max |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ seed()
◆ operator()()
constexpr result_type donut::random::SplitMix64Engine::operator() |
( |
| ) |
|
|
inlineconstexprnoexcept |
◆ discard()
constexpr void donut::random::SplitMix64Engine::discard |
( |
unsigned long long |
z | ) |
|
|
inlineconstexprnoexcept |
◆ operator==()
constexpr bool donut::random::SplitMix64Engine::operator== |
( |
const SplitMix64Engine & |
other | ) |
const |
|
inlineconstexprnoexcept |
◆ operator<<
template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& operator<< |
( |
std::basic_ostream< CharT, Traits > & |
stream, |
|
|
const SplitMix64Engine & |
engine |
|
) |
| |
|
friend |
◆ operator>>
template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& operator>> |
( |
std::basic_istream< CharT, Traits > & |
stream, |
|
|
SplitMix64Engine & |
engine |
|
) |
| |
|
friend |
◆ default_seed
constexpr result_type donut::random::SplitMix64Engine::default_seed = 0 |
|
staticconstexpr |
The documentation for this class was generated from the following file: