1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00

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.
This commit is contained in:
Thomas Schwinge
2013-05-23 17:31:42 +02:00
parent 6f65e66895
commit f1cc4c8654
2 changed files with 24 additions and 7 deletions

View File

@@ -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;