mips: add vdso support
[musl.git] / src / prng / drand48.c
blobd808353c9872ebd1ae7dedd8dadff14c41b3a8ba
1 #include <stdlib.h>
2 #include <inttypes.h>
4 uint64_t __rand48_step(unsigned short *xi, unsigned short *lc);
5 extern unsigned short __seed48[7];
7 double erand48(unsigned short s[3])
9 union {
10 uint64_t u;
11 double f;
12 } x = { 0x3ff0000000000000ULL | __rand48_step(s, __seed48+3)<<4 };
13 return x.f - 1.0;
16 double drand48(void)
18 return erand48(__seed48);