From: Raymond Hettinger Date: Mon, 13 May 2002 23:43:06 +0000 (+0000) Subject: Closes SF bug 527139. Moved temp variables inside guard. X-Git-Tag: v2.2.2b1~372 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c28e1f8fdbcb0b2e58e8365335ef95f63faea792;p=thirdparty%2FPython%2Fcpython.git Closes SF bug 527139. Moved temp variables inside guard. --- diff --git a/Lib/random.py b/Lib/random.py index f502d1dee7c1..7ea6e230dec6 100644 --- a/Lib/random.py +++ b/Lib/random.py @@ -443,14 +443,9 @@ class Random: def gammavariate(self, alpha, beta): # beta times standard gamma - ainv = _sqrt(2.0 * alpha - 1.0) - 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 + return beta * self.stdgamma(alpha) + def stdgamma(self, alpha, *args): # *args for Py2.2 compatiblity random = self.random if alpha <= 0.0: raise ValueError, 'stdgamma: alpha must be > 0.0' @@ -461,6 +456,10 @@ class Random: # variables with non-integral shape parameters", # Applied Statistics, (1977), 26, No. 1, p71-74 + ainv = _sqrt(2.0 * alpha - 1.0) + bbb = alpha - LOG4 + ccc = alpha + ainv + while 1: u1 = random() u2 = random()