Currently GNU APL uses LCG with modulus 2⋆64 and then reduces values modulo
desired range.  This, beside being slightly biased for ranges not dividing
the modulus, yields reduced periods when range is power of two.

      ?10 16⍴16
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8
11 2 13 12 15 6 1 16 3 10 5 4 7 14 9 8

Doesn't look very random to me.


-k

Reply via email to