Home | History | Annotate | Download | only in internal

Lines Matching refs:state

42 uint32_t	prng_state_next_u32(uint32_t state);
43 uint64_t prng_state_next_u64(uint64_t state);
44 size_t prng_state_next_zu(size_t state);
46 uint32_t prng_lg_range_u32(uint32_t *state, unsigned lg_range,
48 uint64_t prng_lg_range_u64(uint64_t *state, unsigned lg_range);
49 size_t prng_lg_range_zu(size_t *state, unsigned lg_range, bool atomic);
51 uint32_t prng_range_u32(uint32_t *state, uint32_t range, bool atomic);
52 uint64_t prng_range_u64(uint64_t *state, uint64_t range);
53 size_t prng_range_zu(size_t *state, size_t range, bool atomic);
58 prng_state_next_u32(uint32_t state)
61 return ((state * PRNG_A_32) + PRNG_C_32);
65 prng_state_next_u64(uint64_t state)
68 return ((state * PRNG_A_64) + PRNG_C_64);
72 prng_state_next_zu(size_t state)
76 return ((state * PRNG_A_32) + PRNG_C_32);
78 return ((state * PRNG_A_64) + PRNG_C_64);
85 prng_lg_range_u32(uint32_t *state, unsigned lg_range, bool atomic)
96 state0 = atomic_read_uint32(state);
98 } while (atomic_cas_uint32(state, state0, state1));
100 state1 = prng_state_next_u32(*state);
101 *state = state1;
110 prng_lg_range_u64(uint64_t *state, unsigned lg_range)
117 state1 = prng_state_next_u64(*state);
118 *state = state1;
125 prng_lg_range_zu(size_t *state, unsigned lg_range, bool atomic)
136 state0 = atomic_read_z(state);
138 } while (atomic_cas_z(state, state0, state1));
140 state1 = prng_state_next_zu(*state);
141 *state = state1;
149 prng_range_u32(uint32_t *state, uint32_t range, bool atomic)
161 ret = prng_lg_range_u32(state, lg_range, atomic);
168 prng_range_u64(uint64_t *state, uint64_t range)
180 ret = prng_lg_range_u64(state, lg_range);
187 prng_range_zu(size_t *state, size_t range, bool atomic)
199 ret = prng_lg_range_zu(state, lg_range, atomic);