xref: /aosp_15_r20/external/musl/src/prng/drand48.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1 #include <stdlib.h>
2 #include <inttypes.h>
3 #include "rand48.h"
4 
erand48(unsigned short s[3])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 
drand48(void)14 double drand48(void)
15 {
16 	return erand48(__seed48);
17 }
18