From: Raymond Hettinger Date: Mon, 13 Apr 2026 16:29:15 +0000 (-0500) Subject: Minor improvement to statistics.pdf() (gh-148500) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e6893943b75c6b0ea54c2db99bdf1436f404a87a;p=thirdparty%2FPython%2Fcpython.git Minor improvement to statistics.pdf() (gh-148500) --- diff --git a/Lib/statistics.py b/Lib/statistics.py index 26cf925529ea..e635b99f958e 100644 --- a/Lib/statistics.py +++ b/Lib/statistics.py @@ -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)"