From f1cc4c8654b6bc431273286d3562942c50975caf Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 23 May 2013 17:31:42 +0200 Subject: math: Additional type conversion tests These have helped me find and fix type conversion issues in QEMU's MIPS hardware emulation. While certainly glibc is not the best place for such tests, they're just an enhancement of tests already present. --- math/basic-test.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'math') diff --git a/math/basic-test.c b/math/basic-test.c index 9e9b848..44145a7 100644 --- a/math/basic-test.c +++ b/math/basic-test.c @@ -148,7 +148,7 @@ NAME (void) \ check (#FLOAT " isinf (-HUGE_VALx) == -1", isinf (x1) == -1); \ } -#define TEST_TRUNC(NAME, FLOAT, DOUBLE, SUFFIX) \ +#define TEST_CONVERT(NAME, FLOAT, DOUBLE, SUFFIX) \ void \ NAME (void) \ { \ @@ -189,11 +189,14 @@ NAME (void) \ TEST_FUNC (float_test, float, f, FLT_EPSILON, HUGE_VALF) TEST_FUNC (double_test, double, , DBL_EPSILON, HUGE_VAL) -TEST_TRUNC (truncdfsf_test, float, double, ) +TEST_CONVERT (convert_dfsf_test, float, double, ) +TEST_CONVERT (convert_sfdf_test, double, float, f) #ifndef NO_LONG_DOUBLE TEST_FUNC (ldouble_test, long double, l, LDBL_EPSILON, HUGE_VALL) -TEST_TRUNC (trunctfsf_test, float, long double, l) -TEST_TRUNC (trunctfdf_test, double, long double, l) +TEST_CONVERT (convert_tfsf_test, float, long double, l) +TEST_CONVERT (convert_sftf_test, long double, float, f) +TEST_CONVERT (convert_tfdf_test, double, long double, l) +TEST_CONVERT (convert_dftf_test, long double, double, ) #endif int @@ -201,12 +204,15 @@ do_test (void) { float_test (); double_test (); - truncdfsf_test(); + convert_dfsf_test(); + convert_sfdf_test(); #ifndef NO_LONG_DOUBLE ldouble_test (); - trunctfsf_test(); - trunctfdf_test(); + convert_tfsf_test(); + convert_sftf_test(); + convert_tfdf_test(); + convert_dftf_test(); #endif return errors != 0; -- cgit v1.1