diff options
Diffstat (limited to 'sys/base/rng/exponential.c')
-rw-r--r-- | sys/base/rng/exponential.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/base/rng/exponential.c b/sys/base/rng/exponential.c new file mode 100644 index 0000000..c07e007 --- /dev/null +++ b/sys/base/rng/exponential.c @@ -0,0 +1,11 @@ +#include "internal.h" + +/* Returns a random float64 between 0 and 1 */ +double +rng·exponential(double lambda) +{ + double f; + + f = rng·random(); + return -log(1 - f)/lambda; +} |