From ed7882f6736d8edd2d0ef21a4d85526c576bd4a4 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 16 Oct 2009 15:53:45 -0500 Subject: [PATCH] remove yet another slow mutable local --- extra/random/cmwc/cmwc.factor | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/extra/random/cmwc/cmwc.factor b/extra/random/cmwc/cmwc.factor index 8a52735133..e9c93c80db 100644 --- a/extra/random/cmwc/cmwc.factor +++ b/extra/random/cmwc/cmwc.factor @@ -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