Fix misplaced exactness check that was causing unnecessary work in Decimal.__pow__.

This commit is contained in:
Mark Dickinson 2010-07-08 19:09:16 +00:00
parent a123631a5c
commit e42f1bb354
1 changed files with 4 additions and 3 deletions

View 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: