         swap >>m
         swap >>n
         swap >>seed
-        dup [ m>> ] [ n>> ] bi - >>m-n
         0 >>ix ;
 
 : <sfmt> ( seed n m mask -- sfmt )

PRIVATE>

M: sfmt random-32* ( sfmt -- n )
    dup refill-sfmt? [ dup generate ] when next ;

: <sfmt-19937> ( seed -- sfmt )
    348 330 uint-4{ HEX: BFFFFFF6 HEX: BFFAFFFF HEX: DDFECB7F HEX: DFFFFFEF }
    <sfmt> ;

    state n>> 1 - array nth state (>>r2)
    state m>> :> m 
    state n>> :> n 
    state mask>> :> mask

    n m - >fixnum iota [| i |
