20 #ifndef _MINLIB_RANDOM_H_
21 #define _MINLIB_RANDOM_H_
23 #include "../mn_limits.hpp"
31 template <
typename TSEEDTYPE>
40 unsigned short g16[2];
60 virtual unsigned char rand8() = 0;
An Intarface for all randoms classes in this library.
Definition: mn_random.hpp:32
result_type operator()(bool b=true) const noexcept
Definition: mn_random.hpp:87
virtual void set_seed(seed_t seed)
Set the a new seed.
Definition: mn_random.hpp:85
virtual seed_t get_seed()
Get the current used Seed.
Definition: mn_random.hpp:79
IPseudoRandomUtil(seed_t startSeed)
Construct a new IPseudoRandomUtil object.
Definition: mn_random.hpp:52
unsigned char g[4]
Definition: mn_random.hpp:39
seed_t m_startSeed
Definition: mn_random.hpp:94
virtual unsigned short rand16()=0
Get a random unsigned short number.
virtual unsigned char rand8()=0
Get a random unsigned char number.
TSEEDTYPE result_type
Definition: mn_random.hpp:45
result_type min()
Definition: mn_random.hpp:91
unsigned int g32
Definition: mn_random.hpp:38
virtual unsigned int rand32()=0
Get a random unsigned int number.
result_type max()
Definition: mn_random.hpp:92
TSEEDTYPE seed_t
Definition: mn_random.hpp:44
unsigned short g16[2]
Definition: mn_random.hpp:40
Union for type convertion.
Definition: mn_random.hpp:37
static constexpr value_type max()
Definition: mn_limits.hpp:63
static constexpr value_type min()
Definition: mn_limits.hpp:62
Definition: mn_allocator_typetraits.hpp:25