Description: Added 2 new configure options, --enable-exception and --enable-accuracy.
--enable-exception lets the library check whether user's exception handling
functions are present during compiler data conversions and use them if they are.
When it's disabled, this step is skipped to improve conversion speed. This
step isn't implemented yet for soft conversions because there would be little
gain in speed.
--enable-accuracy guarantees data accuracy during data conversions. It means
the library will choose compiler conversions only if the accurate data is
secured. Otherwise, the library will go for the library's own conversions. If
this option is disabled, the library uses compiler conversions in favor of
their speed as long as they work even if data can be incorrect.
Platforms tested: h5committest and fuss. Some systems may fail after this
checkin.
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Description: When converting floating-point numbers to integers and the values of
floating-point number are greater than the maximal value of integer, Cray X1 generates
floating exception.
Solution: Added a test in configure to detect Cray X1's exception. Set a flag to
indicate the machine that can handle overflow converting all floating-point to all
integer types. This flag should be set for all machines, except for Cray X1 where
floating exception is generated when the floating-point value is greater than the
maximal integer value.
Platforms tested: Cray X1 and h5committest.
Description: In this data conversion test, from floating number to floating number,
when the source is bigger than the destination, overflow may happen. The library
assign INFINITY while compiler's behavior is undefined. A compiler like SGI assigns
the maximal value for the destination.
Solution: When this situation occurs, simply check if the destination is INFINITY
instead of comparing values.
Platforms tested: modi4 and h5committest.
Description: Renamed test/dt_atomic.c to test/dt_arith.c(an abbreviation
of "arithmetic data types") to better describe the program. This checkin
broke down into three sections when the floating-point numbers are the
source, normalized, denormalized, and special values. If there's any
difference of destination values, only normalized value test reports
failure. The other 2 report only as warning.
Platforms tested: h5commitest and fuss
Misc. update: MANIFEST