From 901b9f16494f37890be17ef4bb66e6efc6873340 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Fri, 10 Feb 2017 12:18:11 -0500 Subject: changed code to rely on jst --- lib/rand.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/rand.c (limited to 'lib/rand.c') diff --git a/lib/rand.c b/lib/rand.c new file mode 100644 index 0000000..16aeba4 --- /dev/null +++ b/lib/rand.c @@ -0,0 +1,15 @@ + +#include "fracture.h" + +long double rand_dist_pow(const gsl_rng *r, double beta) { + long double x = 0; + + // underflow means that for very small beta x is sometimes identically zero, + // which causes problems + while (x == 0.0) { + long double y = logl(gsl_rng_uniform_pos(r)) / beta; + x = expl(y); + } + + return x; +} -- cgit v1.2.3-54-g00ecf