Fix misplaced exactness check that was causing unnecessary work in Decimal.__pow__.
diff --git a/Lib/decimal.py b/Lib/decimal.py
index 71408a8..5cb5ea9 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -2327,9 +2327,10 @@
# 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: