]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Minor improvement to statistics.pdf() (gh-148500)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Mon, 13 Apr 2026 16:29:15 +0000 (11:29 -0500)
committerGitHub <noreply@github.com>
Mon, 13 Apr 2026 16:29:15 +0000 (11:29 -0500)
Lib/statistics.py

index 26cf925529ea60b9654569767c82a2d6c1658794..e635b99f958e4413b708b5776b6c4a537a71426a 100644 (file)
@@ -145,6 +145,7 @@ from operator import itemgetter
 from collections import Counter, namedtuple, defaultdict
 
 _SQRT2 = sqrt(2.0)
+_SQRT2PI = sqrt(tau)
 _random = random
 
 ## Exceptions ##############################################################
@@ -1257,11 +1258,11 @@ class NormalDist:
 
     def pdf(self, x):
         "Probability density function.  P(x <= X < x+dx) / dx"
-        variance = self._sigma * self._sigma
-        if not variance:
+        sigma = self._sigma
+        if not sigma:
             raise StatisticsError('pdf() not defined when sigma is zero')
-        diff = x - self._mu
-        return exp(diff * diff / (-2.0 * variance)) / sqrt(tau * variance)
+        z = (x - self._mu) / sigma
+        return exp(-0.5 * z * z) / (_SQRT2PI * sigma)
 
     def cdf(self, x):
         "Cumulative distribution function.  P(X <= x)"