[Python-checkins] bpo-36018: Add special value tests and make minor tweaks to the docs (GH-12096)

Miss Islington (bot) webhook-mailer at python.org
Thu Feb 28 12:16:28 EST 2019


https://github.com/python/cpython/commit/ef17fdbc1c274dc84c2f611c40449ab84824607e
commit: ef17fdbc1c274dc84c2f611c40449ab84824607e
branch: master
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
date: 2019-02-28T09:16:25-08:00
summary:

bpo-36018: Add special value tests and make minor tweaks to the docs (GH-12096)



https://bugs.python.org/issue36018

files:
M Doc/library/statistics.rst
M Lib/statistics.py
M Lib/test/test_statistics.py

diff --git a/Doc/library/statistics.rst b/Doc/library/statistics.rst
index a0d4d3910220..8d961b7ca5b1 100644
--- a/Doc/library/statistics.rst
+++ b/Doc/library/statistics.rst
@@ -482,9 +482,9 @@ of applications in statistics, including simulations and hypothesis testing.
 .. class:: NormalDist(mu=0.0, sigma=1.0)
 
     Returns a new *NormalDist* object where *mu* represents the `arithmetic
-    mean <https://en.wikipedia.org/wiki/Arithmetic_mean>`_ of data and *sigma*
+    mean <https://en.wikipedia.org/wiki/Arithmetic_mean>`_ and *sigma*
     represents the `standard deviation
-    <https://en.wikipedia.org/wiki/Standard_deviation>`_ of the data.
+    <https://en.wikipedia.org/wiki/Standard_deviation>`_.
 
     If *sigma* is negative, raises :exc:`StatisticsError`.
 
@@ -579,7 +579,7 @@ of applications in statistics, including simulations and hypothesis testing.
 :class:`NormalDist` Examples and Recipes
 ----------------------------------------
 
-A :class:`NormalDist` readily solves classic probability problems.
+:class:`NormalDist` readily solves classic probability problems.
 
 For example, given `historical data for SAT exams
 <https://blog.prepscholar.com/sat-standard-deviation>`_ showing that scores
diff --git a/Lib/statistics.py b/Lib/statistics.py
index bab585750d91..e917a5dddd8b 100644
--- a/Lib/statistics.py
+++ b/Lib/statistics.py
@@ -735,7 +735,7 @@ def pdf(self, x):
         return exp((x - self.mu)**2.0 / (-2.0*variance)) / sqrt(tau * variance)
 
     def cdf(self, x):
-        'Cumulative density function:  P(X <= x)'
+        'Cumulative distribution function:  P(X <= x)'
         if not self.sigma:
             raise StatisticsError('cdf() not defined when sigma is zero')
         return 0.5 * (1.0 + erf((x - self.mu) / (self.sigma * sqrt(2.0))))
diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py
index d35cdd8420a3..4adc5e4cbf4a 100644
--- a/Lib/test/test_statistics.py
+++ b/Lib/test/test_statistics.py
@@ -2113,6 +2113,10 @@ def test_pdf(self):
         Y = NormalDist(100, 0)
         with self.assertRaises(statistics.StatisticsError):
             Y.pdf(90)
+        # Special values
+        self.assertEqual(X.pdf(float('-Inf')), 0.0)
+        self.assertEqual(X.pdf(float('Inf')), 0.0)
+        self.assertTrue(math.isnan(X.pdf(float('NaN'))))
 
     def test_cdf(self):
         NormalDist = statistics.NormalDist
@@ -2127,6 +2131,10 @@ def test_cdf(self):
         Y = NormalDist(100, 0)
         with self.assertRaises(statistics.StatisticsError):
             Y.cdf(90)
+        # Special values
+        self.assertEqual(X.cdf(float('-Inf')), 0.0)
+        self.assertEqual(X.cdf(float('Inf')), 1.0)
+        self.assertTrue(math.isnan(X.cdf(float('NaN'))))
 
     def test_properties(self):
         X = statistics.NormalDist(100, 15)



More information about the Python-checkins mailing list