summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--tests/float/cmath_fun.py1
-rw-r--r--tests/float/cmath_fun_special.py32
-rw-r--r--tests/float/math_fun.py9
-rw-r--r--tests/float/math_fun_special.py14
4 files changed, 45 insertions, 11 deletions
diff --git a/tests/float/cmath_fun.py b/tests/float/cmath_fun.py
index dfb6c56bd2..3ebcf59186 100644
--- a/tests/float/cmath_fun.py
+++ b/tests/float/cmath_fun.py
@@ -32,7 +32,6 @@ functions = [
('rect', rect, ((0, 0), (0, 1), (0, -1), (1, 0), (-1, 0), (1, 1), (-1, 1), (1, -1), (123., -456.))),
('exp', exp, test_values),
('log', log, test_values_non_zero),
- ('log10', log10, test_values_non_zero),
('sqrt', sqrt, test_values),
('cos', cos, test_values),
('sin', sin, test_values),
diff --git a/tests/float/cmath_fun_special.py b/tests/float/cmath_fun_special.py
new file mode 100644
index 0000000000..422964dd75
--- /dev/null
+++ b/tests/float/cmath_fun_special.py
@@ -0,0 +1,32 @@
+# test the special functions imported from cmath
+
+try:
+ from cmath import *
+ log10
+except (ImportError, NameError):
+ print("SKIP")
+ import sys
+ sys.exit()
+
+test_values_non_zero = []
+base_values = (0.0, 0.5, 1.2345, 10.)
+for r in base_values:
+ for i in base_values:
+ if r != 0. or i != 0.:
+ test_values_non_zero.append(complex(r, i))
+ if r != 0.:
+ test_values_non_zero.append(complex(-r, i))
+ if i != 0.:
+ test_values_non_zero.append(complex(r, -i))
+ if r != 0. and i != 0.:
+ test_values_non_zero.append(complex(-r, -i))
+
+functions = [
+ ('log10', log10, test_values_non_zero),
+]
+
+for f_name, f, test_vals in functions:
+ print(f_name)
+ for val in test_vals:
+ ret = f(val)
+ print("complex(%.5g, %.5g)" % (ret.real, ret.imag))
diff --git a/tests/float/math_fun.py b/tests/float/math_fun.py
index 277507ecf0..d9f179587d 100644
--- a/tests/float/math_fun.py
+++ b/tests/float/math_fun.py
@@ -13,16 +13,7 @@ unit_range_test_values = [-1., -0.75, -0.5, -0.25, 0., 0.25, 0.5, 0.75, 1.]
functions = [('sqrt', sqrt, test_values),
('exp', exp, test_values_small),
- ('expm1', expm1, test_values_small),
('log', log, test_values),
- ('log2', log2, test_values),
- ('log10', log10, test_values),
- ('cosh', cosh, test_values_small),
- ('sinh', sinh, test_values_small),
- ('tanh', tanh, test_values_small),
- ('acosh', acosh, [1.0, 5.0, 1.0]),
- ('asinh', asinh, test_values),
- ('atanh', atanh, [-0.99, -0.5, 0.0, 0.5, 0.99]),
('cos', cos, test_values),
('sin', sin, test_values),
('tan', tan, test_values),
diff --git a/tests/float/math_fun_special.py b/tests/float/math_fun_special.py
index c30085a2be..00336efc4a 100644
--- a/tests/float/math_fun_special.py
+++ b/tests/float/math_fun_special.py
@@ -12,6 +12,15 @@ test_values = [-8., -2.5, -1, -0.5, 0.0, 0.5, 2.5, 8.,]
pos_test_values = [0.001, 0.1, 0.5, 1.0, 1.5, 10.,]
functions = [
+ ('expm1', expm1, test_values),
+ ('log2', log2, test_values),
+ ('log10', log10, test_values),
+ ('cosh', cosh, test_values),
+ ('sinh', sinh, test_values),
+ ('tanh', tanh, test_values),
+ ('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),
@@ -21,4 +30,7 @@ functions = [
for function_name, function, test_vals in functions:
print(function_name)
for value in test_vals:
- print("{:.5g}".format(function(value)))
+ try:
+ print("{:.5g}".format(function(value)))
+ except ValueError as e:
+ print(str(e))