| 153 | } |
| 154 | |
| 155 | static inline pcg128_t pcg128_mult(pcg128_t a, pcg128_t b) { |
| 156 | uint64_t h1; |
| 157 | pcg128_t result; |
| 158 | |
| 159 | h1 = a.high * b.low + a.low * b.high; |
| 160 | _pcg_mult64(a.low, b.low, &(result.high), &(result.low)); |
| 161 | result.high += h1; |
| 162 | return result; |
| 163 | } |
| 164 | |
| 165 | static inline void pcg_setseq_128_step_r(pcg_state_setseq_128 *rng) { |
| 166 | rng->state = pcg128_add(pcg128_mult(rng->state, PCG_DEFAULT_MULTIPLIER_128), |
no test coverage detected