On 16/07/17 17:16, Francois Pussault wrote:

> this fucking bullshit procédure make only zero's ....But what I need
> is a -1/0 ending state (on/off) or similar what I misunderstood ?

The xor-shift generator produces a full cycle of every bit patter
except all zeroes: that is to say, zero is not prt of its sequence.
You need to start with a nonzero value.

If you can't exclude that possibility, do this:

: rnd ( -- n)
        (rnd) @  dup 0= or
        dup 13 lshift xor
        dup 17 rshift xor
        dup DUP 5 lshift xor (rnd) !
;

-- 
Andrew Haley

Reply via email to