On 07/09/2012 07:56 AM, Christophe Rhodes wrote:
Jeffrey Cunningham <jeffrey@jkcunningham.com> writes:

That is very flawed behavior in a random number generator you are
describing. What is the status of your patch?
That (that the RNG was flawed) was my instinct too, initially, but I
think I've been convinced out of it: that instead, lots that relates to
floating point is not as obvious as it first seems.

The issue at hand is whether the "extra" density of floats around 0
should be used by the RNG.  At first, it seems obvious that it should,
because well, why not?  On the other hand, imagine a simple use of a RNG
to generate samples from a distribution using the CDF and a lookup
table: generate a float between 0 and 1 and transform according to the
inverse of the CDF.  Ignoring for the moment the actual generation of
zeros, if the RNG exploits the wide range of floats around 0, the lower
tail of the distribution will be much, much more explored than the upper
tail, because the floating point resolution around 0 is far greater than
it is around 1.

Isn't an "extra density of floats around 0" -- by definition -- a non-uniform distribution? I would think this is  highly undesirable behavior in a uniform RNG and should be corrected.


Jeff Cunningham