1 #include <stdlib.h> 2 #include <inttypes.h> 3 #include "rand48.h" 4 erand48(unsigned short s[3])5double 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 drand48(void)14double drand48(void) 15 { 16 return erand48(__seed48); 17 } 18