github.com/afumu/libc@v0.0.6/musl/src/prng/drand48.c (about) 1 #include <stdlib.h> 2 #include <inttypes.h> 3 #include "rand48.h" 4 5 double erand48(unsigned short s[3]) 6 { 7 union { 8 uint64_t u; 9 double f; 10 } x = { 0x3ff0000000000000ULL | __rand48_step(s, __seed48+3)<<4 }; 11 return x.f - 1.0; 12 } 13 14 double drand48(void) 15 { 16 return erand48(__seed48); 17 }