Blame


1 a8a775ab 2017-09-01 0intro #include <u.h>
2 a8a775ab 2017-09-01 0intro #include <libc.h>
3 a8a775ab 2017-09-01 0intro
4 a8a775ab 2017-09-01 0intro #define MASK 0x7fffffffL
5 a8a775ab 2017-09-01 0intro #define NORM (1.0/(1.0+MASK))
6 a8a775ab 2017-09-01 0intro
7 a8a775ab 2017-09-01 0intro double
8 a8a775ab 2017-09-01 0intro p9frand(void)
9 a8a775ab 2017-09-01 0intro {
10 a8a775ab 2017-09-01 0intro double x;
11 a8a775ab 2017-09-01 0intro
12 a8a775ab 2017-09-01 0intro do {
13 a8a775ab 2017-09-01 0intro x = lrand() * NORM;
14 a8a775ab 2017-09-01 0intro x = (x + lrand()) * NORM;
15 a8a775ab 2017-09-01 0intro } while(x >= 1);
16 a8a775ab 2017-09-01 0intro return x;
17 a8a775ab 2017-09-01 0intro }