[REBOL] Re: random implementation
From: chris:starforge:demon at: 8-Feb-2001 10:51
Allen Kamp wrote:
> > to put it another way, someone hasn't just looked at the incredibly dire
> > ANSI C rand() implementation and copied it have they? (Please say no...)
> >
> > I believe it's based on the function you suggest. Sorry.
>
> But there is also random/secure. (Depends on the version of rebol you are
> using).
I haven't run any tests on that yet but what are the differences between
normal and /secure? And how is the range restriction implemented? For
example, doing something like
outvalue = 1 + (calculatedRandom % maxValue)
is less random than
outvalue = 1 + ((calculatedValue * maxValue) / (maximumRandom + 1))
as LCGs have less random lower order bits.
I want to use the random command as part of a Beauford PSC so the
sequential
correlation on successive calls need to be as low as possible. The
standard
ANSI example implementation is fairly poor (although not disasterously
so)
for this and unless the increment, multiplier and modulus are chosen
very carefully the generator is almost useless. I may try to implement
a subtracitve method number generator (see Knuth D.E 1981, Seminumerical
Algorithms 2nd Ed, vol 2 of the Art of Computer Programming) as that
should
not suffer from the correlation problem....
Chris
--
New sig in the works
Explorer2260 Designer and Coder
http://www.starforge.co.uk