lib9: import frand function from Plan 9

Fixes #15.
This commit is contained in:
David du Colombier 2017-09-01 22:51:14 +02:00
parent bb044732c6
commit a8a775abbe
2 changed files with 18 additions and 0 deletions

17
src/lib9/frand.c Normal file
View file

@ -0,0 +1,17 @@
#include <u.h>
#include <libc.h>
#define MASK 0x7fffffffL
#define NORM (1.0/(1.0+MASK))
double
p9frand(void)
{
double x;
do {
x = lrand() * NORM;
x = (x + lrand()) * NORM;
} while(x >= 1);
return x;
}

View file

@ -102,6 +102,7 @@ LIB9OFILES=\
execl.$O\ execl.$O\
exitcode.$O\ exitcode.$O\
fcallfmt.$O\ fcallfmt.$O\
frand.$O\
get9root.$O\ get9root.$O\
getcallerpc-$OBJTYPE.$O\ getcallerpc-$OBJTYPE.$O\
getenv.$O\ getenv.$O\