From b1fa907d563b9efb77edc6a83056320a14408966 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 8 Jan 2016 14:27:21 +0000 Subject: [PATCH] tests: Allow float tests to run when MATH_SPECIAL_FUNCTIONS is disabled. --- tests/float/cmath_fun.py | 1 - tests/float/cmath_fun_special.py | 32 ++++++++++++++++++++++++++++++++ tests/float/math_fun.py | 9 --------- tests/float/math_fun_special.py | 14 +++++++++++++- 4 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 tests/float/cmath_fun_special.py 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))