[issue4979] random.uniform can return its upper limit
Mark Dickinson
report at bugs.python.org
Sun Jan 18 10:47:14 CET 2009
Mark Dickinson <dickinsm at gmail.com> added the comment:
The distinction between < and <= is fairly meaningless when applied to a
computed floating-point result. I think the docs should be fixed to
replace the < with <=. In any case, the b <= N < a bit has the
inequalities the wrong way around: presumably it was intended to read b <
N <= a. The docs for random.triangular should also be fixed in the same
way.
(N.B. What *is* always true is that the result of random.random() is never
1.0. And that's a useful property---without it, random.uniform(a, b) can
even return values *outside* the closed interval [a, b].)
To me, it doesn't seem worth slowing down random.uniform itself with extra
checks: it's the sort of function that often gets called millions of times
within a simulation, or numerical algorithm (e.g. Monte-Carlo
integration), and it's trivial for the user to add his or her own check if
necessary.
I also think it's a nice property that random.uniform currently degrades
gracefully when a == b, producing the expected point distribution at a. I
wouldn't want to change that.
So: +1 for amending the docs. -1 for changing random.uniform.
----------
nosy: +marketdickinson
versions: +Python 2.6, Python 2.7, Python 3.1
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4979>
_______________________________________
More information about the Python-bugs-list
mailing list