Andrew Haley wrote:
...
My negative comment was wrong, indeed. There is no stack error and the length of the cycle is 2^32 - 1: "n xtest ." returns n, at least for all n I tried. variable (rnd) : rnd ( -- n ) (rnd) 32B@ dup #13 lshift xor $FFFFFFFF and dup #17 rshift xor $FFFFFFFF and dup DUP 5 lshift xor (rnd) 32B! ; : xtest ( x -- ) 1 (rnd) ! $100000000 0 DO rnd over = ?LEAVE LOOP ." outcome = " H. ; -marcel