From: Raymond Hettinger Date: Tue, 4 May 2021 18:27:28 +0000 (-0700) Subject: Fix inconsistent fsum vs sum and fmean vs mean (GH-25898) X-Git-Tag: v3.11.0a1~1207 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1add719516f49aacd260c44f9dcbd6af269fdb21;p=thirdparty%2FPython%2Fcpython.git Fix inconsistent fsum vs sum and fmean vs mean (GH-25898) --- diff --git a/Lib/statistics.py b/Lib/statistics.py index 673a162b3a79..edb11c868c1c 100644 --- a/Lib/statistics.py +++ b/Lib/statistics.py @@ -882,8 +882,8 @@ def covariance(x, y, /): raise StatisticsError('covariance requires that both inputs have same number of data points') if n < 2: raise StatisticsError('covariance requires at least two data points') - xbar = mean(x) - ybar = mean(y) + xbar = fmean(x) + ybar = fmean(y) total = fsum((xi - xbar) * (yi - ybar) for xi, yi in zip(x, y)) return total / (n - 1) @@ -956,7 +956,7 @@ def linear_regression(regressor, dependent_variable, /): slope = covariance(regressor, dependent_variable) / variance(regressor) except ZeroDivisionError: raise StatisticsError('regressor is constant') - intercept = mean(dependent_variable) - slope * mean(regressor) + intercept = fmean(dependent_variable) - slope * fmean(regressor) return LinearRegression(intercept=intercept, slope=slope)