bpo-45876: Have stdev() also use decimal specific square root. (GH-29869)

This commit is contained in:
Raymond Hettinger 2021-11-30 19:25:57 -06:00 committed by GitHub
parent a39f46afde
commit 0aa0bd0563
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -920,9 +920,8 @@ def stdev(data, xbar=None):
raise StatisticsError('stdev requires at least two data points') raise StatisticsError('stdev requires at least two data points')
T, ss = _ss(data, xbar) T, ss = _ss(data, xbar)
mss = ss / (n - 1) mss = ss / (n - 1)
if hasattr(T, 'sqrt'): if issubclass(T, Decimal):
var = _convert(mss, T) return _decimal_sqrt_of_frac(mss.numerator, mss.denominator)
return var.sqrt()
return _float_sqrt_of_frac(mss.numerator, mss.denominator) return _float_sqrt_of_frac(mss.numerator, mss.denominator)