tlib9: import frand function from Plan 9 - plan9port - [fork] Plan 9 from user space
(HTM) git clone git://src.adamsgaard.dk/plan9port
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit a8a775abbe711d4442004264cac4cc84aed9cf6a
(DIR) parent bb044732c6122cc3ba7c7bc7a44bc2ea762d31b1
(HTM) Author: David du Colombier <0intro@gmail.com>
Date: Fri, 1 Sep 2017 22:51:14 +0200
lib9: import frand function from Plan 9
Fixes #15.
Diffstat:
A src/lib9/frand.c | 17 +++++++++++++++++
M src/lib9/mkfile | 1 +
2 files changed, 18 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/src/lib9/frand.c b/src/lib9/frand.c
t@@ -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;
+}
(DIR) diff --git a/src/lib9/mkfile b/src/lib9/mkfile
t@@ -102,6 +102,7 @@ LIB9OFILES=\
execl.$O\
exitcode.$O\
fcallfmt.$O\
+ frand.$O\
get9root.$O\
getcallerpc-$OBJTYPE.$O\
getenv.$O\