| 21 | uint64_t x; /* The state can be seeded with any value. */ |
| 22 | |
| 23 | uint64_t next() { |
| 24 | uint64_t z = (x += 0x9e3779b97f4a7c15); |
| 25 | z = (z ^ (z >> 30)) * 0xbf58476d1ce4e5b9; |
| 26 | z = (z ^ (z >> 27)) * 0x94d049bb133111eb; |
| 27 | return z ^ (z >> 31); |
| 28 | } |
no outgoing calls