From: Thomas Schwinge Date: Thu, 23 May 2013 15:31:42 +0000 (+0200) Subject: math: Additional type conversion tests X-Git-Tag: glibc-2.19~860 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1cc4c8654b6bc431273286d3562942c50975caf;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 6659d960903..83b3956a43c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2013-08-29 Thomas Schwinge + + * math/basic-test.c (TEST_CONVERT): New macro, renamed from + TEST_TRUNC. + (convert_dfsf_test, convert_tfsf_test, convert_tfdf_test): New + functions, renamed from truncdfsf_test, trunctfsf_test, + trunctfdf_test. + (convert_sfdf_test, convert_sftf_test, convert_dftf_test): New + functions. + (do_test): Run all these. + 2013-08-29 Ondřej Bílka * argp/argp-help.c: Fix typos. diff --git a/math/basic-test.c b/math/basic-test.c index 9e9b848ee56..44145a75f61 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;