     state n>> 1 - array nth state (>>r2)
     state m>> :> m 
     state n>> :> n 
-    state m-n>> :> m-n
     state mask>> :> mask
 
     n m - >fixnum iota [| i |

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> ;

        swap >>m
        swap >>n
        swap >>seed
        0 >>ix ;

: <sfmt> ( seed n m mask -- sfmt )
