]> gitweb.factorcode.org Git - factor.git/commitdiff
remove yet another slow mutable local
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 16 Oct 2009 20:53:45 +0000 (15:53 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 16 Oct 2009 20:53:45 +0000 (15:53 -0500)
extra/random/cmwc/cmwc.factor

index 8a527351336f343dc23f2905193fcb28ef4b2e4e..e9c93c80dbb9ece8897113de34c0b08215343388 100644 (file)
@@ -39,17 +39,17 @@ M:: cmwc random-32* ( cmwc -- n )
     cmwc dup mod>> '[ 1 + _ bitand ] change-i
     [ a>> ]
     [ [ i>> ] [ Q>> ] bi nth-unsafe * ]
-    [ c>> + ] tri :> t!
+    [ c>> + ] tri
 
-    t -32 shift cmwc (>>c)
+    [ -32 shift cmwc (>>c) ]
 
-    t cmwc [ b>> bitand ] [ c>> + ] bi 32 bits t!
-    t cmwc r>> > [
+    [ cmwc [ b>> bitand ] [ c>> + ] bi 32 bits ] bi
+    dup cmwc r>> > [
         cmwc [ 1 + ] change-c drop
-        t cmwc b>> - 32 bits t!
+        cmwc b>> - 32 bits
     ] when
 
-    cmwc [ r>> t - 32 bits dup ] [ i>> ] [ Q>> ] tri set-nth-unsafe ;
+    cmwc swap '[ r>> _ - 32 bits dup ] [ i>> ] [ Q>> ] tri set-nth-unsafe ;
 
 : cmwc-4096 ( -- cmwc )
     4096