Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
Bug fix
Description:
Correct use of H5Eprint() when 1.6 compatibility is turned on.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/compatibility
h5committest doesn't test this, so it wasn't run.
Purpose:
Needed to change the type of a variable in tid.c from int to hsize_t to
accomodate the change in H5Inmembers.
Description:
I lied... this is the last commit. Really, it is.
Solution:
Platforms tested:
Misc. update:
Purpose:
Small H5I API changes.
Description:
Changed public version of H5Inmembers to return the number of IDs in a
type by reference. This allows the user to differentiate between the
case when H5Inmembers has an error and when the ID type is just empty.
Added a new API function, H5Itype_exists, which allows the user to
find out whether an ID type exists or not, without throwing an error.
Solution:
Platforms tested:
Copper
Misc. update:
Description: Added new API H5Fget_name and new test program called filename.c. This function
returns the name of the file by object ID(file, group, dataset, named datatype, and attribute)
which belongs to the file.
Platforms tested: h5committest and fuss.
Misc. update: MANIFEST and RELEASE.txt
Code cleanup & small bug fix
Description:
Regenerate dependency files
Add htri_t as separate type from hbool_t for code tracing purposes.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
too minor to require h5committest
Code cleanup
Description:
Reduce compiler warnings on SGI IRIX
Platforms tested:
FreeBSD 4.10 (sleipnir)
SGI IRIX6 (Cheryl's machine)
Too minor to require full h5committest
Code optimization
Description:
Use 'size_t' instead of 'hsize_t' to track the number of elements in
memory buffers, especially for type conversion.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
Code cleanup
Description:
Add more files that should be removed to the clean & distclean targets.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Too minor to require h5committest
Refactor code
Description:
Move chunk and contiguous cached raw data from file information to dataset
information. This simplifies a number of internal interfaces, aligns the
code with it's purpose better and should allow more optimizations to the
chunked data I/O performance.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir)
h5committest
Code optimization
Description:
Don't recompute the internal index value for looking up the chunk in the
hash table, just use the value already computed from iterating through the
chunks.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
Code optimization & bug fix
Description:
When dimension information is being stored in the storage layout message
on disk, it is stored as 32-bit quantities, possibly truncating the dimension
information, if a dimension is greater than 32-bits in size.
Solution:
Fix the storage layout message problem by revising file format to not store
dimension information, since it is already available in the dataspace.
Also revise the storage layout data structures to be more compartmentalized
for the information for contiguous, chunked and compact storage.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
Solaris 2.7 (arabica)
h5committest
Bug fixes
Description:
Updated dependencies
Fixed error with C++ compiler builds of main library
Added H5Pset_data_transform to MPE info
Platforms tested:
FreeBSD 4.9 (sleipnir)
Bug fix.
Description:
Fixed handling of trivial data transform expressions (like 5/3 + 3) and some
data coversion fixes. Also added more tests to dtransform.c
Solution:
Added some more checks in the H5Z_xform_reduce_tree function to see if perhaps
the transform expression is complicated and is a non-trivial reduction.
Added tests for data conversion to dtransform as well as tests for a trivial
data transform expression.
Platforms tested:
h5committest'ed, except used arabica instead of sol and didn't do on copper
b/c no logon there. Problem noted with mtime test...doesn't appear to be
related to anything having to do with data transforms.
Description: The error stack was accidentally cleared during the program.
Solution: Change it to the correct output.
Platforms tested: RH 8(fuss). Simple change.
Misc. update:
New Feature
Description:
Add the data transform function, H5Pset_transform().
Platforms tested:
"h5committested".
Copper was down. Ran parallel tests in sol instead.
Misc. update:
bug fix
Description:
1. windows cannot recongize long long. We agree to use long_long to represent all "long long" compatible data types.
2. windows test can not check error code, it depends on error messages to be returned. This will be fixed in the future. In odhr.c, somehow only error value1 is generated, there are no error message even if some tests are missing. So just add an error message when error code is 1.
Solution:
change long long to long_long in dtypes.c;
Add an error message when error code is not 0 in ohdr.c
Platforms tested:
eirene(fortran),
arabica(fortran)
Misc. update:
Code cleanup
Description:
Remove bogus "#undef NDEBUG" at top of file, which was blocking compiler
flags from setting NDEBUG properly.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Temporarily disable float/double->unsigned long long conversion while I
work on fix.
Platforms tested:
Linux 2.4 (verbena)
too minor to require h5committest
Bug fix (sorta)
Description:
Add hack to allow the MS Visual Studio 6 compiler to build the library.
It cannot cast unsigned long long values to float or double values. So, add
another configuration macro to disable this conversion in the library. Just
the "hardware" conversion is disabled, so the library will still correctly
convert unsigned long long to float and double values, it will just happen
more slowly with the "software" conversion routine.
Platforms tested:
FreeBSD 4.9 (sleipnir) with "Windows" setting faked
inappropriate for h5committest
Bug fix (sorta)
Description:
The SGI machines have problems accurately (and consistently) converting
unsigned long values to float and double values, so put in a bit of a hack in
the datatype conversion test code to allow them to get "close enough". This
hack is enabled at configure time by a flag which should only be set on machines
with this problem.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Code cleanup
Description:
Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.
Platforms tested:
SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
FreeBSD 4.9 (sleipnir) w/ & w/o parallel
h5committest
Bug fix.
Description:
Allow the recent changes to support correct srcdir operation to also work
when building in place.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Misc. update:
Bug fix.
Description:
Not all machines (like Sun and AIX) support fabsl() and fabsf() used
in test/dtypes.c. Changed the coding to use macro names HDfabsl and
HDfabsf. Also set the two macros to use ABS for now so that they will
work for all machines. (need more portable fixes which would involve
configure.)
Platforms tested:
h5committested. (also tested in LANL QSC and Theta).
bug fix.
Description:
On LANL QSC, test/dtypes "sw long double -> double" had failed when the
long double values were too small, smaller than the minimum double normalized
floating number. The hw in QSC converts them mostly to 0 but occasionally,
it converts to the some non-zero values which are still <= the minimum
double normalized number. But the conversion verification did not like
them and flagged them as errors.
Solution:
Added code to check if the src value is already smaller than the minimum
number the float class can hold. When that happens and if both hw and sw
conversion results are <= the minimum number, then accepts them as okay
because if the src is smaller than the dst minimum number, an underflow
has occured.
Platforms tested:
Tested in LANL QSC and Theta.
Description: This test script put executable program in hdf5/test/testfiles where
output HDF5 file was created. It might cause conflict when multiple buildings happen.
Platforms tested: RH 8(fuss)
Description: Mainly are header message changes for dataspace. In last round
of check-in, a new header message for dataspace to created, which is not a good
way. Now, there will be no new message for dataspace, but just add the type of
dataspace in the message while increment its version number. Backward compatibility
is addressed. The attribute design is modified accordingly. Took out Null
dataspace test from tmisc.c and put it in th5s.c.
Platforms tested: h5committest