Skip special case in mpc_pow_int() for special numbers

Closes #472
This commit is contained in:
Sergey B Kirpichev
2024-08-14 07:46:44 +03:00
parent 958879588e
commit 5ac8dcda88
2 changed files with 5 additions and 1 deletions
+1 -1
View File
@@ -260,7 +260,7 @@ def mpc_pow_int(z, n, prec, rnd=round_fast):
de = aexp - bexp
abs_de = abs(de)
exact_size = n*(abs_de + max(abc, bbc))
if exact_size < 10000:
if exact_size < 10000 and min(abc, bbc) >= 0:
if de > 0:
aman <<= de
aexp = bexp
+4
View File
@@ -694,3 +694,7 @@ def test_issue_471():
assert bernpoly(4, inf) == inf
assert bernpoly(4, mpc(inf, 0)) == mpc(inf, 0)
assert isnan(bernpoly(4, nan))
def test_issue_472():
assert bernpoly(4, mpc(inf, 1e-50)) == mpc(inf, 0)
assert mpc(inf, 2)**4 == mpc(inf, 0)