1 #ifndef LINTEL_RANDOM_BASE_HPP 2 #define LINTEL_RANDOM_BASE_HPP 8 #define UINT32_MAX (0xFFFFFFF) 21 RandomTempl(std::vector<uint32_t> seed_array) : R(seed_array),
27 inline void init(uint32_t seed) {
31 inline void initArray(std::vector<uint32_t> seed_array) {
32 R::initArray(seed_array);
40 unsigned long long ret;
72 #define MTR_int_to_open (1.0/4294967296.0) 73 #define MTR_int_to_closed (1.0/4294967295.0) 74 #define MTR_AMult (67108864.0) // 2^(32-6) 76 #define MTR_53bits_to_open(a, b) ((a * MTR_AMult + b)/9007199254740992.0) 77 #define MTR_53bits_to_closed(a, b) ((a * MTR_AMult + b)/9007199254740991.0) 103 return (
randInt() & 0x1) ?
true :
false;
124 #endif // LINTEL_RANDOM_BASE_HPP #define MTR_53bits_to_closed(a, b)
Definition: RandomBase.hpp:77
void initArray(std::vector< uint32_t > seed_array)
Definition: RandomBase.hpp:31
#define MTR_int_to_closed
Definition: RandomBase.hpp:73
#define UINT32_MAX
Definition: RandomBase.hpp:8
uint32_t randInt()
Definition: RandomBase.hpp:35
unsigned long long randLongLong()
Definition: RandomBase.hpp:39
~RandomTempl()
Definition: RandomBase.hpp:25
Definition: MersenneTwisterRandom.hpp:18
uint64_t boolState
Definition: RandomBase.hpp:120
uint8_t boolShift
Definition: RandomBase.hpp:118
double randDouble()
Definition: RandomBase.hpp:87
double randDoubleOpen()
Definition: RandomBase.hpp:79
RandomTempl(uint32_t seed=0)
Definition: RandomBase.hpp:17
const T max(const T x, const T y)
Definition: w_minmax.h:45
#define MTR_int_to_open
Definition: RandomBase.hpp:72
bool randBoolFast()
Definition: RandomBase.hpp:106
uint32_t randIntUnbiased(uint32_t max)
Definition: RandomBase.hpp:52
void init(uint32_t seed)
Definition: RandomBase.hpp:27
Definition: RandomBase.hpp:14
RandomTempl(std::vector< uint32_t > seed_array)
Definition: RandomBase.hpp:21
#define MTR_53bits_to_open(a, b)
Definition: RandomBase.hpp:76
double randDoubleClosed()
Definition: RandomBase.hpp:83
double randDoubleClosed53()
Definition: RandomBase.hpp:97
double randDoubleOpen53()
Definition: RandomBase.hpp:92
uint32_t randInt(uint32_t max)
Definition: RandomBase.hpp:48
bool randBool()
Definition: RandomBase.hpp:102