inline new-effects

use new-effects for mersenne-twister
db4
Doug Coleman 2008-03-24 12:02:57 -05:00
parent 598127c0e2
commit c5cc14de91
2 changed files with 6 additions and 9 deletions

View File

@ -2,16 +2,16 @@ USING: assocs kernel sequences ;
IN: new-effects IN: new-effects
: new-nth ( seq n -- elt ) : new-nth ( seq n -- elt )
swap nth ; swap nth ; inline
: new-set-nth ( seq obj n -- seq ) : new-set-nth ( seq obj n -- seq )
pick set-nth ; pick set-nth ; inline
: new-at ( assoc key -- elt ) : new-at ( assoc key -- elt )
swap at ; swap at ; inline
: new-at* ( assoc key -- elt ? ) : new-at* ( assoc key -- elt ? )
swap at* ; swap at* ; inline
: new-set-at ( assoc value key -- assoc ) : new-set-at ( assoc value key -- assoc )
pick set-at ; pick set-at ; inline

View File

@ -4,14 +4,11 @@
! http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c ! http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c
USING: arrays kernel math namespaces sequences system init USING: arrays kernel math namespaces sequences system init
accessors math.ranges combinators.cleave random ; accessors math.ranges combinators.cleave random new-effects ;
IN: random.mersenne-twister IN: random.mersenne-twister
<PRIVATE <PRIVATE
: new-nth ( seq i -- elt ) swap nth ; inline
: new-set-nth ( seq obj n -- seq ) pick set-nth ; inline
TUPLE: mersenne-twister seq i ; TUPLE: mersenne-twister seq i ;
: mt-n 624 ; inline : mt-n 624 ; inline