| 477 | } |
| 478 | |
| 479 | double rk_double(rk_state *state) { |
| 480 | /* shifts : 67108864 = 0x4000000, 9007199254740992 = 0x20000000000000 */ |
| 481 | long a = rk_random(state) >> 5, b = rk_random(state) >> 6; |
| 482 | return (a * 67108864.0 + b) / 9007199254740992.0; |
| 483 | } |
| 484 | |
| 485 | void rk_fill(void *buffer, size_t size, rk_state *state) { |
| 486 | unsigned long r; |