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  }