10 #ifndef SPLITTABLE_MRG_H 11 #define SPLITTABLE_MRG_H 30 uint_fast32_t
s,
t,
u,
v,
w;
32 uint_fast32_t
a,
b,
c,
d;
36 uint_fast32_t z1, z2, z3, z4, z5;
74 uint_least64_t exponent_high,
75 uint_least64_t exponent_middle,
76 uint_least64_t exponent_low);
struct mrg_transition_matrix mrg_transition_matrix
struct mrg_state mrg_state
uint_fast32_t mrg_get_uint(const mrg_transition_matrix *mat, mrg_state *state)
double mrg_get_double(const mrg_transition_matrix *mat, mrg_state *state)
void mrg_skip(mrg_state *state, uint_least64_t exponent_high, uint_least64_t exponent_middle, uint_least64_t exponent_low)
uint_fast32_t mrg_get_uint_orig(mrg_state *state)
void mrg_split_state(const mrg_transition_matrix *tm_in, const mrg_state *st_in, mrg_state *st_out, unsigned int n)
void mrg_init(mrg_transition_matrix *tm, mrg_state *st)
double mrg_get_double_orig(mrg_state *state)
void mrg_seed(mrg_state *st, const uint_fast32_t seed[5])
void mrg_split_matrix(const mrg_transition_matrix *tm_in, mrg_transition_matrix *tm_out, unsigned int n)