From f49d1d9eb22f866587a39fe4daf855ebdc6734e0 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 30 Nov 2021 18:25:54 -0600 Subject: [PATCH] bpo-45876: Have stdev() also use decimal specific square root. --- Lib/statistics.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Lib/statistics.py b/Lib/statistics.py index 9f1efa21b15e3c..ff19ce9672d331 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)