aboutsummaryrefslogtreecommitdiff
path: root/math/basic-test.c
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-05-23 17:31:42 +0200
committerThomas Schwinge <thomas@codesourcery.com>2013-08-29 12:21:07 +0200
commitf1cc4c8654b6bc431273286d3562942c50975caf (patch)
tree9009de23d64f1e1fdfccf4fbdd8824dfa865d385 /math/basic-test.c
parent6f65e668957a50e153cba6822f747d13ad1b40ad (diff)
downloadglibc-f1cc4c8654b6bc431273286d3562942c50975caf.tar
glibc-f1cc4c8654b6bc431273286d3562942c50975caf.tar.gz
glibc-f1cc4c8654b6bc431273286d3562942c50975caf.tar.bz2
glibc-f1cc4c8654b6bc431273286d3562942c50975caf.zip
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.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/math/basic-test.c b/math/basic-test.c
index 9e9b848ee5..44145a75f6 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;