On 2009-06-10 14:46, Mark Dickinson wrote:
On Jun 10, 8:15 pm, Robert Kern<robert.k...@gmail.com>  wrote:
On 2009-06-10 13:53, Terry Reedy wrote:
A full technical discussion does not below in the docs, in my opinion. A
wike article would be fine.
True. However, a brief note that "Due to floating point arithmetic, for some
values of a and b, b may or may not be one of the possible generated results."
might be worthwhile. The actual details of *why* this is the case can be
discussed elsewhere.

I find it difficult to see how such a disclaimer would have any
practical
value, without also knowing *which* values of a and b are affected.

It can certainly be useful to know that endpoints *aren't* included
where
that's true.  For example, knowing that random.random() can never
produce the
value 1.0 means that one can safely generate a mean 1 exponential
variate with
-log(1-random.random()), without worrying about the possibility of
taking log
of 0.

But I don't know why it would be useful to know that endpoints *are*
sometimes
included, without knowing exactly when.

That's a fair point. However, one issue that hasn't been brought up is that it might be confusing to a user why random.random() returns values in a half-open interval while random.uniform() claims a closed interval. Even for reasonably sophisticated floating point users, it's not necessarily obvious that that is the reasoning behind the different claims.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to