circuitpython/tests/float/math_fun_special.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

61 lines
1.2 KiB
Python
Raw Normal View History

# test the special functions imported from math
try:
from math import *
2021-04-20 01:22:44 -04:00
erf
except (ImportError, NameError):
print("SKIP")
raise SystemExit
2021-04-20 01:22:44 -04:00
test_values = [
-8.0,
-2.5,
-1,
-0.5,
0.0,
0.5,
2.5,
8.0,
]
pos_test_values = [
0.001,
0.1,
0.5,
1.0,
1.5,
10.0,
]
functions = [
2021-04-20 01:22:44 -04:00
("expm1", expm1, test_values),
("log2", log2, test_values),
("log10", log10, test_values),
("cosh", cosh, test_values),
("sinh", sinh, test_values),
("tanh", tanh, [-1e6, -100] + test_values + [100, 1e6]),
("acosh", acosh, [1.0, 5.0, 1.0]),
("asinh", asinh, test_values),
("atanh", atanh, [-0.99, -0.5, 0.0, 0.5, 0.99]),
("erf", erf, test_values),
("erfc", erfc, test_values),
("gamma", gamma, pos_test_values),
(
"lgamma",
lgamma,
pos_test_values
+ [
50.0,
100.0,
],
),
]
for function_name, function, test_vals in functions:
for value in test_vals:
try:
ans = "{:.4g}".format(function(value))
except ValueError as e:
ans = str(e)
print("{}({:.4g}) = {}".format(function_name, value, ans))