class
KeccakCryptoRngKeccakCryptoRng - A KeccakF1600 based cryptographic quality pseudo-random number generator. The quality of the generated pseudo random numbers is comaparable to the hash output of SHAKE128.
Base classes
- class KeccakRng
Public types
- using result_type = uint64_t
- Integral type of the KeccakRng generator results.
Constructors, destructors, conversion operators
- KeccakCryptoRng() explicit
- Initialize and seed the generator from a system specific nondeterministic random source.
-
template <class SeedSeq>KeccakCryptoRng(SeedSeq& seed_sequence) explicit
- Initialize and seed the generator from seed_sequence.
Public functions
- void auto_seed()
- Seed the generator from a system specific nondeterministic random source.
- auto bit_capacity() const → size_t
- Amount of bits used to store hidden random number generator state.
- void discard(unsigned long long count)
- void forget()
-
template <typename RandomAccessIterator>void generate(RandomAccessIterator begin, RandomAccessIterator end)
- Fill the range [begin, end) with random unsigned integer values.
-
auto max() const → result_
type - Maximum of the result type, for uint64_t that is 18446744073709551615.
-
auto min() const → result_
type - Minimum of the result type, for uint64_t that is 0.
- auto n_nums() const → size_t
- Amount of 64 bit random numbers per generated block.
-
auto operator()() → result_
type - Generate uniformly distributed 32 bit pseudo random number.
- auto random() → uint64_t
- void seed(uint64_t seed_value = 1)
- Reinitialize the generator state using a 64 bit seed_value.
- void seed(const uint64_t* seeds, size_t n_seeds)
- Reinitialize the generator state using a nuber of 64 bit seeds.
-
template <class SeedSeq>void seed(SeedSeq& seed_sequence)
- Seed the generator state from a seed_sequence.
- void xor_seed(const uint64_t* seeds, size_t n_seeds)