summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2003-11-24 16:49:27 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2003-11-24 16:49:27 (GMT)
commit80c45ea54921218b63339fc9460b4f7a1d58c554 (patch)
tree5df409383fcbaffb81c20b5f6d1d44ae579e91ee /test
parent7d68090f0362cf562c497e8b4ee730a2ba634215 (diff)
downloadhdf5-80c45ea54921218b63339fc9460b4f7a1d58c554.zip
hdf5-80c45ea54921218b63339fc9460b4f7a1d58c554.tar.gz
hdf5-80c45ea54921218b63339fc9460b4f7a1d58c554.tar.bz2
[svn-r7876] Purpose:
Omnibus floating-point bug fix changes Description: There are a number of problems in the floating-point conversion code that were exposed by Ray's recent int<->float checkin: - The 'my_isnan' code in test/dtypes.c was broken and would always return true. The meant that the actual values in the float<->float conversion tests were _never_ checked, hiding the other bugs included in this checkin. - A recent change I made to the type conversion code used "FLT_MIN" instead of "-FLT_MAX" for the most negative 'float' value for the double->float conversion, which meant that any the negative number that was converted from a double to a float would have been mapped to zero, essentially. - A change that Robb appeared to have made ~2.5 years ago to the "generic" float->float conversion routine appears to be incorrect and I've backed it out. - Floating-point conversions on SGI's which converted denormalized values would be mapped to zero instead of being propertly preserved in the new type. This was addressed by an SGI-specific system call to prevent the behavior. Solution: Described above, generally. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest Misc. update: release_docs/RELEASE update forthcoming...
Diffstat (limited to 'test')
-rw-r--r--test/dtypes.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/test/dtypes.c b/test/dtypes.c
index 67f9f84..96798e3 100644
--- a/test/dtypes.c
+++ b/test/dtypes.c
@@ -3894,9 +3894,8 @@ my_isnan(flt_t type, void *val)
} else {
return 0;
}
- if (!strstr(s, "NaN") || !strstr(s, "NAN") || !strstr(s, "nan")) {
+ if (strstr(s, "NaN") || strstr(s, "NAN") || strstr(s, "nan"))
retval = 1;
- }
}
return retval;