]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Move binomialvariate() to a section for discrete distributions (GH-102955)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Thu, 23 Mar 2023 17:10:12 +0000 (12:10 -0500)
committerGitHub <noreply@github.com>
Thu, 23 Mar 2023 17:10:12 +0000 (12:10 -0500)
Doc/library/random.rst
Lib/random.py

index 098684d7270ffae81dc5e301e577876b12b2f4e2..c192919ac62e544bbac34492f4d45a5c66d94e0f 100644 (file)
@@ -404,8 +404,8 @@ Alternative Generator
    Class that implements the default pseudo-random number generator used by the
    :mod:`random` module.
 
-   .. deprecated:: 3.9
-      In the future, the *seed* must be one of the following types:
+   .. deprecated-removed:: 3.9 3.11
+      Formerly the *seed* could be any hashable object.  Now it is limited to:
       :class:`NoneType`, :class:`int`, :class:`float`, :class:`str`,
       :class:`bytes`, or :class:`bytearray`.
 
@@ -423,7 +423,7 @@ Notes on Reproducibility
 ------------------------
 
 Sometimes it is useful to be able to reproduce the sequences given by a
-pseudo-random number generator.  By re-using a seed value, the same sequence should be
+pseudo-random number generator.  By reusing a seed value, the same sequence should be
 reproducible from run to run as long as multiple threads are not running.
 
 Most of the random module's algorithms and seeding functions are subject to
index 3c4291f6a652a0b6f7e22f9e87e093e7fa161f2f..586c3f7f9da938b336033ebbbf9b669c8f1695e9 100644 (file)
@@ -24,7 +24,6 @@
            negative exponential
            gamma
            beta
-           binomial
            pareto
            Weibull
 
            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  ------------------