summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2005-09-15 18:07:11 (GMT)
committerRaymond Hettinger <python@rcn.com>2005-09-15 18:07:11 (GMT)
commit75634db73f2444771c76ae181794aba84c9b3df4 (patch)
tree870816f184d4db0445f47e40a541e8d9665ecc3b
parentf207ffbdd984990699f9c3d3bc128f906d53aca0 (diff)
downloadcpython-75634db73f2444771c76ae181794aba84c9b3df4.zip
cpython-75634db73f2444771c76ae181794aba84c9b3df4.tar.gz
cpython-75634db73f2444771c76ae181794aba84c9b3df4.tar.bz2
Sync-up with head except for 1.72 which is Py2.5 specific.
-rw-r--r--Lib/random.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/Lib/random.py b/Lib/random.py
index 0a02787..80af32b 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -43,7 +43,6 @@ from warnings import warn as _warn
from types import MethodType as _MethodType, BuiltinMethodType as _BuiltinMethodType
from math import log as _log, exp as _exp, pi as _pi, e as _e
from math import sqrt as _sqrt, acos as _acos, cos as _cos, sin as _sin
-from math import floor as _floor
from os import urandom as _urandom
from binascii import hexlify as _hexlify
@@ -346,7 +345,7 @@ class Random(_random.Random):
# Math Software, 3, (1977), pp257-260.
random = self.random
- while True:
+ while 1:
u1 = random()
u2 = 1.0 - random()
z = NV_MAGICCONST*(u1-0.5)/u2
@@ -416,7 +415,7 @@ class Random(_random.Random):
b = (a - _sqrt(2.0 * a))/(2.0 * kappa)
r = (1.0 + b * b)/(2.0 * b)
- while True:
+ while 1:
u1 = random()
z = _cos(_pi * u1)
@@ -425,7 +424,7 @@ class Random(_random.Random):
u2 = random()
- if not (u2 >= c * (2.0 - c) and u2 > c * _exp(1.0 - c)):
+ if u2 < c * (2.0 - c) or u2 <= c * _exp(1.0 - c):
break
u3 = random()
@@ -463,7 +462,7 @@ class Random(_random.Random):
bbb = alpha - LOG4
ccc = alpha + ainv
- while True:
+ while 1:
u1 = random()
if not 1e-7 < u1 < .9999999:
continue
@@ -486,18 +485,19 @@ class Random(_random.Random):
# Uses ALGORITHM GS of Statistical Computing - Kennedy & Gentle
- while True:
+ while 1:
u = random()
b = (_e + alpha)/_e
p = b*u
if p <= 1.0:
- x = pow(p, 1.0/alpha)
+ x = p ** (1.0/alpha)
else:
- # p > 1
x = -_log((b-p)/alpha)
u1 = random()
- if not (((p <= 1.0) and (u1 > _exp(-x))) or
- ((p > 1) and (u1 > pow(x, alpha - 1.0)))):
+ if p > 1.0:
+ if u1 <= x ** (alpha - 1.0):
+ break
+ elif u1 <= _exp(-x):
break
return x * beta