mirror of
https://github.com/python/cpython.git
synced 2025-09-24 17:33:29 +00:00
Closes SF bug 527139. Moved temp variables inside guard.
This commit is contained in:
parent
5359ad63ce
commit
ca6cdc2c02
1 changed files with 6 additions and 7 deletions
|
@ -446,14 +446,9 @@ class Random:
|
||||||
|
|
||||||
def gammavariate(self, alpha, beta):
|
def gammavariate(self, alpha, beta):
|
||||||
# beta times standard gamma
|
# beta times standard gamma
|
||||||
ainv = _sqrt(2.0 * alpha - 1.0)
|
return beta * self.stdgamma(alpha)
|
||||||
return beta * self.stdgamma(alpha, ainv, alpha - LOG4, alpha + ainv)
|
|
||||||
|
|
||||||
def stdgamma(self, alpha, ainv, bbb, ccc):
|
|
||||||
# ainv = sqrt(2 * alpha - 1)
|
|
||||||
# bbb = alpha - log(4)
|
|
||||||
# ccc = alpha + ainv
|
|
||||||
|
|
||||||
|
def stdgamma(self, alpha, *args): # *args for Py2.2 compatiblity
|
||||||
random = self.random
|
random = self.random
|
||||||
if alpha <= 0.0:
|
if alpha <= 0.0:
|
||||||
raise ValueError, 'stdgamma: alpha must be > 0.0'
|
raise ValueError, 'stdgamma: alpha must be > 0.0'
|
||||||
|
@ -464,6 +459,10 @@ class Random:
|
||||||
# variables with non-integral shape parameters",
|
# variables with non-integral shape parameters",
|
||||||
# Applied Statistics, (1977), 26, No. 1, p71-74
|
# Applied Statistics, (1977), 26, No. 1, p71-74
|
||||||
|
|
||||||
|
ainv = _sqrt(2.0 * alpha - 1.0)
|
||||||
|
bbb = alpha - LOG4
|
||||||
|
ccc = alpha + ainv
|
||||||
|
|
||||||
while 1:
|
while 1:
|
||||||
u1 = random()
|
u1 = random()
|
||||||
u2 = random()
|
u2 = random()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue