From: Raymond Hettinger Date: Wed, 1 Dec 2021 01:25:57 +0000 (-0600) Subject: bpo-45876: Have stdev() also use decimal specific square root. (GH-29869) X-Git-Tag: v3.11.0a3~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0aa0bd056349f73de9577ccc38560c1d01864d51;p=thirdparty%2FPython%2Fcpython.git bpo-45876: Have stdev() also use decimal specific square root. (GH-29869) --- diff --git a/Lib/statistics.py b/Lib/statistics.py index 9f1efa21b15e..ff19ce9672d3 100644 --- a/Lib/statistics.py +++ b/Lib/statistics.py @@ -920,9 +920,8 @@ def stdev(data, xbar=None): raise StatisticsError('stdev requires at least two data points') T, ss = _ss(data, xbar) mss = ss / (n - 1) - if hasattr(T, 'sqrt'): - var = _convert(mss, T) - return var.sqrt() + if issubclass(T, Decimal): + return _decimal_sqrt_of_frac(mss.numerator, mss.denominator) return _float_sqrt_of_frac(mss.numerator, mss.denominator)