Bounded generators */
| 1074 | |
| 1075 | /* Bounded generators */ |
| 1076 | static inline uint64_t gen_mask(uint64_t max) { |
| 1077 | uint64_t mask = max; |
| 1078 | mask |= mask >> 1; |
| 1079 | mask |= mask >> 2; |
| 1080 | mask |= mask >> 4; |
| 1081 | mask |= mask >> 8; |
| 1082 | mask |= mask >> 16; |
| 1083 | mask |= mask >> 32; |
| 1084 | return mask; |
| 1085 | } |
| 1086 | |
| 1087 | /* Generate 16 bit random numbers using a 32 bit buffer. */ |
| 1088 | static inline uint16_t buffered_uint16(bitgen_t *bitgen_state, int *bcnt, |
no outgoing calls
no test coverage detected