27 lines
681 B
Python
27 lines
681 B
Python
|
# Tests domain errors in math functions.
|
||
|
# This is split out from math_domain.py because math.pow(0, -inf) was changed
|
||
|
# in Python 3.11, and so this test requires a .py.exp file.
|
||
|
# (See https://github.com/python/cpython/issues/88505)
|
||
|
|
||
|
try:
|
||
|
import math
|
||
|
except ImportError:
|
||
|
print("SKIP")
|
||
|
raise SystemExit
|
||
|
|
||
|
inf = float("inf")
|
||
|
|
||
|
for name, f in (
|
||
|
("pow", math.pow),
|
||
|
("log", math.log),
|
||
|
("fmod", math.fmod),
|
||
|
("atan2", math.atan2),
|
||
|
("copysign", math.copysign),
|
||
|
):
|
||
|
for x in ((0, -inf),):
|
||
|
try:
|
||
|
ans = "%.4f" % f(*x)
|
||
|
except ValueError:
|
||
|
ans = "ValueError"
|
||
|
print("%s(%.4f, %.4f) = %s" % (name, x[0], x[1], ans))
|