diff --git a/Lib/decimal.py b/Lib/decimal.py index 71408a8e9ed..5cb5ea9ba0d 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -2327,9 +2327,10 @@ def __pow__(self, other, modulo=None, context=None): # try for an exact result with precision +1 if ans is None: ans = self._power_exact(other, context.prec + 1) - if ans is not None and result_sign == 1: - ans = _dec_from_triple(1, ans._int, ans._exp) - exact = True + if ans is not None: + if result_sign == 1: + ans = _dec_from_triple(1, ans._int, ans._exp) + exact = True # usual case: inexact result, x**y computed directly as exp(y*log(x)) if ans is None: