| 631 | return (*state * 0x2545F4914F6CDD1Dull) >> 32; |
| 632 | } |
| 633 | float random_f32(uint64_t *state) { // random float32 in [0,1) |
| 634 | return (random_u32(state) >> 8) / 16777216.0f; |
| 635 | } |
| 636 | |
| 637 | int sample_mult(float* probabilities, int n, float coin) { |
| 638 | // sample index from probabilities (they must sum to 1!) |