]> granicus.if.org Git - python/commitdiff
Fix misplaced exactness check that was causing unnecessary work in Decimal.__pow__.
authorMark Dickinson <dickinsm@gmail.com>
Thu, 8 Jul 2010 19:09:16 +0000 (19:09 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Thu, 8 Jul 2010 19:09:16 +0000 (19:09 +0000)
Lib/decimal.py

index 71408a8e9edfe74a89662baeb7151ad24ab256f9..5cb5ea9ba0dacb8abcf13ed444a78cc92599991c 100644 (file)
@@ -2327,9 +2327,10 @@ class Decimal(object):
         # 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: