Add more C++ wrappers and documentation - incrementally check-in
Description:
Added class ArrayType to provide wrapper for:
H5Tarray_create
H5Tget_array_ndims
H5Tget_array_dims
Test for the new wrapper will follow in a few weeks.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Add more C++ wrappers and documentation - incrementally check-in
Description:
Added wrapper for:
H5Tdetect_class
Also, added Doxygen documentation to existing member functions of
AtomType and DataType. Test for the new wrapper will follow in a
few weeks.
Some typos and small format changes are done in H5File.cpp.
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Add more C++ wrappers - incrementally check-in
Description:
Added more wrappers for C H5F functions and added Doxygen documentation
to existing member functions of H5File. This is an incremental check-in
to preserve the code, corresponding tests will follow in a few weeks.
Newly added wrappers are for:
H5Fget_freespace
H5Fget_obj_count
H5Fget_obj_ids
H5Fget_vfd_handle
Platforms:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Windows 2000
Code optimization
Description:
Don't make a separate allocation for the selection offset - incorporate
it into the selection structure as a fixed size array.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
Description: A new bug is found on HP. There is float exception during conversion from double to
unsigned long long when the value of double is very big.
Solution: Try to catch the problem in configure and skip this part of test.
Platforms tested: kelgia and verbena(mainly these two machines are involved)
Code optimization
Description:
Eliminate some trivial functions with macros that perform the same
operation.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
Code optimization
Description:
Defer creating the span trees for hyperslab selections until they are
actually needed (which may be never, in certain circumstances).
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
Update
Description:
Add H5Ztrans.c to hdf5 and hdf5dll projects. Add h5config.h to all.zip.
Solution:
Platforms tested:
Windows XP Visual C++ 6.0, DEC Fortran 6.0, and .Net.
Misc. update:
Description: Somehow part of dtypes.c were wiped out by the change yesterday,
causing failure on verbena's PGI compiler. Another issue is to run autoheader
to generate H5config.h.in.
Platforms tested: verbena(changes only matter to it)
Code optimization
Description:
Eliminate many redundant lookups to check for no-op type conversion by
remembering that a type conversion path is the no-op path.
Also, don't allow non-no-op conversions which happen to be no-ops on a
particular machine (such as int<->long conversions on machines where int and
long are the same size and format, etc.) to replace the default no-op
conversion.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
Description: The HP compiler cannot convert from float-point numbers to unsigned long long
correctly. It sets the maximal value of unsigned long long as 0x7fffffffffffffff.
Solution: Skip the conversion test when this happens by testing it during configuration.
Platforms tested: kelgia(HP-UX 11) and fuss(RH 8)
Fix part of bug #59 (Bugzilla)
Description:
Removed two extra lines in the script hdf5cpptest.bat by mistake,
that caused errors when running the test.
The C++ library is unabled by mistake again. Disabled both hdf5_cpp
and hdf5_cppdll.
Platforms tested:
Windows 2000
Misc. update:
Fix bug #124 (Bugzilla)
Description:
Build failed on Windows because the C++ API provides support for
Stream VFD, yet this feature is disabled on Windows, making its
support from the C library unavailable.
Solution:
Added #ifdef H5_HAVE_STREAM to properly support Stream VFD.
Platforms tested:
Linux 2.4 (eirene)
Windows 2000
Misc. update:
Improvement
Description:
The MPI atomicity and file_sync tests may hang if a filesystem
is not able to support the operation. This will block the
whole tests. PHDF5 is not using either features. So, removed
them from the default tests.
Platforms tested:
Only in eirene using pp. Copper is still down.
Code optimization
Description:
Further reduce the number of copies we make of a hyperslab selection for
chunked I/O, especially when we are only going to throw the old selection away
for a new one.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
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)
Description: For certain compiler(PGI we know so far), during conversion
from float or double to unsigned long long, it does round-up when the
fraction part is greater than 0.5, which shouldn't happen.
Solution: check it during configuration and compensate this offset
during testing in dtypes.
Platforms tested: verbena and fuss. verbena is the only machine with
PGI compiler. Ran it on fuss to verify it with other compiler.
Code cleanup
Description:
Reset pointers to heap info and actual heap after we have unlocked them,
to avoid accidentally referencing them after that point.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Bug fix.
Description:
Fixed token_type enum struct in H5Ztrans.c to compile under windows.
Solution:
Prefixed all values in the struct with H5Z_XFORM_ to prevent name collisions
with pre-defined values.
Platforms tested:
h5committest'ed, but on arabica + no sol.
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: H5T_reverse_order was declared as private function.
Solution: Change it to static local function in H5Tconv.c since it's not
used by any function in other file.
Platforms tested: RH 8(fuss)
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:
Code cleanup
Description:
Refactored data transform code to reduce amount of symbols in the global
scope and also cleaned up & simplified the code a bit.
Platforms tested:
h5committest (minus copper, plus serial modi4)
FreeBSD 4.9 (sleipnir) w & w/o parallel
Description: Solaris 64-bit machines cannot handle round-up correctly during
conversion between unsigned (long) long and double.
Solution: During configuration, run a program to test if there is any failure
during conversion. Enable a macro if failures happen and adjust the test/dtypes
for round-up.
Platforms tested: h5committest, arabica 64-bit.
New Feature
Description:
Add the data transform function, H5Pset_transform().
Platforms tested:
"h5committested".
Copper was down. Ran parallel tests in sol instead.
Misc. update:
Cleanup source.
Description:
H5DZtrans.c is renamed as H5Ztrans.c.
H5DZ.c is not used any more.
Platforms tested:
No need since removing files only.
Misc. update:
Code optimization
Description:
Improved LRU algorithm for locating blocks of the correct size in the
block free-list
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
too minor for h5committest