]> gitweb.factorcode.org Git - factor.git/commitdiff
random: rewrite normal-random-float to be more readable
authorJoe Groff <arcata@gmail.com>
Fri, 9 Sep 2011 19:42:27 +0000 (12:42 -0700)
committerJoe Groff <arcata@gmail.com>
Sat, 10 Sep 2011 01:13:17 +0000 (18:13 -0700)
basis/random/random.factor

index bf99b47ba7f70504dac0c40462d19455ee014d67..c1ee6b475b986a697e87cc9280c5de3615debc8e 100644 (file)
@@ -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 ] }