From e42f1bb3548f322bc0fd4a5db4cff26be901a034 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Thu, 8 Jul 2010 19:09:16 +0000 Subject: [PATCH] Fix misplaced exactness check that was causing unnecessary work in Decimal.__pow__. --- Lib/decimal.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/decimal.py b/Lib/decimal.py index 71408a8e9e..5cb5ea9ba0 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -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: -- 2.40.0