This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi!
The following test addition has 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, I'm proposing them anyway, as it's just an
enhancement of tests already present. Tested for several MIPS multilibs,
x86, x86_64, PowerPC -m64.
* 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.
diff --git math/basic-test.c math/basic-test.c
index 9e9b848..44145a7 100644
--- math/basic-test.c
+++ 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;
GrÃÃe,
Thomas
Attachment:
pgpLEh4qfCzTD.pgp
Description: PGP signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |