tests/float: Make output of math function tests more readable.

By explicitly naming the function, its arguments, and result.

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George 2023-02-16 10:27:10 +11:00
parent 799d888182
commit 177ae2f346
4 changed files with 21 additions and 22 deletions

View File

@ -30,12 +30,12 @@ for name, f, args in (
): ):
for x in args + (inf, -inf, nan): for x in args + (inf, -inf, nan):
try: try:
ans = f(x) ans = "%.4f" % f(x)
print("%.4f" % ans)
except ValueError: except ValueError:
print(name, "ValueError") ans = "ValueError"
except OverflowError: except OverflowError:
print(name, "OverflowError") ans = "OverflowError"
print("%s(%.4f) = %s" % (name, x, ans))
# double argument functions # double argument functions
for name, f, args in ( for name, f, args in (
@ -47,7 +47,7 @@ for name, f, args in (
): ):
for x in args + ((0, inf), (inf, 0), (inf, inf), (inf, nan), (nan, inf), (nan, nan)): for x in args + ((0, inf), (inf, 0), (inf, inf), (inf, nan), (nan, inf), (nan, nan)):
try: try:
ans = f(*x) ans = "%.4f" % f(*x)
print("%.4f" % ans)
except ValueError: except ValueError:
print(name, "ValueError") ans = "ValueError"
print("%s(%.4f, %.4f) = %s" % (name, x[0], x[1], ans))

View File

@ -29,9 +29,9 @@ for name, f, args in (
): ):
for x in args + (inf, -inf, nan): for x in args + (inf, -inf, nan):
try: try:
ans = f(x) ans = "%.4f" % f(x)
print("%.4f" % ans)
except ValueError: except ValueError:
print(name, "ValueError") ans = "ValueError"
except OverflowError: except OverflowError:
print(name, "OverflowError") ans = "OverflowError"
print("%s(%.4f) = %s" % (name, x, ans))

View File

@ -38,12 +38,12 @@ functions = [
] ]
for function_name, function, test_vals in functions: for function_name, function, test_vals in functions:
print(function_name)
for value in test_vals: for value in test_vals:
try: try:
print("{:.5g}".format(function(value))) ans = "{:.5g}".format(function(value))
except ValueError as e: except ValueError as e:
print(str(e)) ans = str(e)
print("{}({:.5g}) = {}".format(function_name, value, ans))
tuple_functions = [ tuple_functions = [
("frexp", frexp, test_values), ("frexp", frexp, test_values),
@ -51,10 +51,9 @@ tuple_functions = [
] ]
for function_name, function, test_vals in tuple_functions: for function_name, function, test_vals in tuple_functions:
print(function_name)
for value in test_vals: for value in test_vals:
x, y = function(value) x, y = function(value)
print("{:.5g} {:.5g}".format(x, y)) print("{}({:.5g}) = ({:.5g}, {:.5g})".format(function_name, value, x, y))
binary_functions = [ binary_functions = [
( (
@ -83,9 +82,9 @@ binary_functions = [
] ]
for function_name, function, test_vals in binary_functions: for function_name, function, test_vals in binary_functions:
print(function_name)
for value1, value2 in test_vals: for value1, value2 in test_vals:
try: try:
print("{:.5g}".format(function(value1, value2))) ans = "{:.5g}".format(function(value1, value2))
except (ValueError, ZeroDivisionError) as e: except (ValueError, ZeroDivisionError) as e:
print(type(e)) ans = type(e)
print("{}({:.5g}, {:.5g}) = {}".format(function_name, value1, value2, ans))

View File

@ -44,9 +44,9 @@ functions = [
] ]
for function_name, function, test_vals in functions: for function_name, function, test_vals in functions:
print(function_name)
for value in test_vals: for value in test_vals:
try: try:
print("{:.4g}".format(function(value))) ans = "{:.4g}".format(function(value))
except ValueError as e: except ValueError as e:
print(str(e)) ans = str(e)
print("{}({:.4g}) = {}".format(function_name, value, ans))