From e6893943b75c6b0ea54c2db99bdf1436f404a87a Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 13 Apr 2026 11:29:15 -0500 Subject: [PATCH] Minor improvement to statistics.pdf() (gh-148500) --- Lib/statistics.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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)" -- 2.47.3