Decimal.sqrt(0) failed when the context was not
explicitly supplied.
diff --git a/Lib/decimal.py b/Lib/decimal.py
index ebeb6d7..8b3e252 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -2316,6 +2316,9 @@
def sqrt(self, context=None):
"""Return the square root of self."""
+ if context is None:
+ context = getcontext()
+
if self._is_special:
ans = self._check_nans(context=context)
if ans:
@@ -2329,9 +2332,6 @@
ans = _dec_from_triple(self._sign, '0', self._exp // 2)
return ans._fix(context)
- if context is None:
- context = getcontext()
-
if self._sign == 1:
return context._raise_error(InvalidOperation, 'sqrt(-x), x > 0')