75#define RK_DEV_URANDOM "/dev/urandom"
79#define RK_DEV_RANDOM "/dev/random"
91 seed = (1812433253UL * (
seed ^ (
seed >> 30)) + pos + 1) & 0xffffffffUL;
99#define MATRIX_A 0x9908b0dfUL
100#define UPPER_MASK 0x80000000UL
101#define LOWER_MASK 0x7fffffffUL
112 for (i = 0; i <
N -
M; i++) {
116 for (; i <
N - 1; i++) {
129 y ^= (y << 7) & 0x9d2c5680UL;
130 y ^= (y << 15) & 0xefc60000UL;
139#if ULONG_MAX <= 0xffffffffUL
149 unsigned long mask = max, value;
160#if ULONG_MAX > 0xffffffffUL
165#if ULONG_MAX > 0xffffffffUL
166 if (max <= 0xffffffffUL) {
unsigned long rk_interval(unsigned long max, rk_state *state)
unsigned long rk_ulong(rk_state *state)
void rk_seed(unsigned long seed, rk_state *state)
unsigned long rk_random(rk_state *state)