summaryrefslogtreecommitdiffstats
path: root/Lib/random.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/random.py')
-rw-r--r--Lib/random.py45
1 files changed, 25 insertions, 20 deletions
diff --git a/Lib/random.py b/Lib/random.py
index 3c4291f..586c3f7 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -24,7 +24,6 @@
negative exponential
gamma
beta
- binomial
pareto
Weibull
@@ -33,6 +32,11 @@
circular uniform
von Mises
+ discrete distributions
+ ----------------------
+ binomial
+
+
General notes on the underlying Mersenne Twister core generator:
* The period is 2**19937-1.
@@ -731,6 +735,26 @@ class Random(_random.Random):
return y / (y + self.gammavariate(beta, 1.0))
return 0.0
+ def paretovariate(self, alpha):
+ """Pareto distribution. alpha is the shape parameter."""
+ # Jain, pg. 495
+
+ u = 1.0 - self.random()
+ return u ** (-1.0 / alpha)
+
+ def weibullvariate(self, alpha, beta):
+ """Weibull distribution.
+
+ alpha is the scale parameter and beta is the shape parameter.
+
+ """
+ # Jain, pg. 499; bug fix courtesy Bill Arms
+
+ u = 1.0 - self.random()
+ return alpha * (-_log(u)) ** (1.0 / beta)
+
+
+ ## -------------------- discrete distributions ---------------------
def binomialvariate(self, n=1, p=0.5):
"""Binomial random variable.
@@ -816,25 +840,6 @@ class Random(_random.Random):
return k
- def paretovariate(self, alpha):
- """Pareto distribution. alpha is the shape parameter."""
- # Jain, pg. 495
-
- u = 1.0 - self.random()
- return u ** (-1.0 / alpha)
-
- def weibullvariate(self, alpha, beta):
- """Weibull distribution.
-
- alpha is the scale parameter and beta is the shape parameter.
-
- """
- # Jain, pg. 499; bug fix courtesy Bill Arms
-
- u = 1.0 - self.random()
- return alpha * (-_log(u)) ** (1.0 / beta)
-
-
## ------------------------------------------------------------------
## --------------- Operating System Random Source ------------------