 CONSTANT: lagged-fibonacci-sig-bits 24
 
 : normalize-seed ( seed -- seed' )
-    abs lagged-fibonacci-max-seed mod ;
+    abs lagged-fibonacci-max-seed mod ; inline
 
 : adjust-ptr ( ptr -- ptr' )
-    1 - dup 0 < [ drop p-r ] when ;
+    1 - dup 0 < [ drop p-r ] when ; inline
 
 PRIVATE>
 


GENERIC: random-float* ( tuple -- r )
 
: random-float ( -- n ) random-generator get random-float* ;

M:: lagged-fibonacci random-float* ( lagged-fibonacci -- x )
    lagged-fibonacci [ pt0>> ] [ u>> ] bi nth

SPECIALIZED-ARRAY: double
IN: random.lagged-fibonacci

TUPLE: lagged-fibonacci { u double-array } { pt0 fixnum } { pt1 fixnum } ;

<PRIVATE

