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')
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)