diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-05-23 17:31:42 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-08-29 12:21:07 +0200 |
commit | f1cc4c8654b6bc431273286d3562942c50975caf (patch) | |
tree | 9009de23d64f1e1fdfccf4fbdd8824dfa865d385 /math/basic-test.c | |
parent | 6f65e668957a50e153cba6822f747d13ad1b40ad (diff) | |
download | glibc-f1cc4c8654b6bc431273286d3562942c50975caf.zip glibc-f1cc4c8654b6bc431273286d3562942c50975caf.tar.gz glibc-f1cc4c8654b6bc431273286d3562942c50975caf.tar.bz2 |
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.
Diffstat (limited to 'math/basic-test.c')
-rw-r--r-- | math/basic-test.c | 20 |
1 files changed, 13 insertions, 7 deletions
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; |