4 #include "assert_helpers.h"
7 * Simple pseudo-random linear congruential generator, a la Numerical
12 static const uint32_t DEFUALT_A = 1664525;
13 static const uint32_t DEFUALT_C = 1013904223;
16 a(DEFUALT_A), c(DEFUALT_C), inited_(false) { }
17 RandomSource(uint32_t _a, uint32_t _c) :
18 a(_a), c(_c), inited_(false) { }
20 void init(uint32_t seed = 0) {
41 uint32_t ret = (last >> lastOff) & 3;
46 static uint32_t nextU32(uint32_t last,
47 uint32_t a = DEFUALT_A,
48 uint32_t c = DEFUALT_C)
50 return (a * last) + c;
61 #endif /*RANDOM_GEN_H_*/