3 ms·
My favourite implementation is double random_double(rng_t *rng) { return((double)(random_uint64(rng) >> 11) * 0x1.0p-53); } It has the advanta
by fanf2 3y ago
My favourite implementation is
double random_double(rng_t *rng) {
return((double)(random_uint64(rng) >> 11) * 0x1.0p-53);
}
It has the advantage of not needing bit_cast (which C lacks) and has 53 instead of 52 bits of randomness.