     { seed uint }
     { n uint }
     { m uint }
-    { m-n int }
     { ix uint }
     { mask uint-4 }
     { r1 uint-4 }

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

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