From 8f6c6e5691f4ca7910a70340fece4638bd137b5b Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 9 Sep 2011 12:42:27 -0700 Subject: [PATCH] random: rewrite normal-random-float to be more readable --- basis/random/random.factor | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/basis/random/random.factor b/basis/random/random.factor index bf99b47ba7..c1ee6b475b 100644 --- a/basis/random/random.factor +++ b/basis/random/random.factor @@ -96,12 +96,14 @@ ERROR: too-many-samples seq n ; [ over - 2.0 -64 ^ * ] dip * + ; inline +: (cos-random-float) ( -- n ) + 0. 2. pi * uniform-random-float cos ; + +: (log-sqrt-random-float) ( -- n ) + 0. 1. uniform-random-float log -2. * sqrt ; + : normal-random-float ( mean sigma -- n ) - 0.0 1.0 uniform-random-float - 0.0 1.0 uniform-random-float - [ 2 pi * * cos ] - [ 1.0 swap - log -2.0 * sqrt ] - bi* * * + ; + (cos-random-float) (log-sqrt-random-float) * * + ; { { [ os windows? ] [ "random.windows" require ] }