Bug fixes and misc. code fixing.
Description:
Updated to reflect current DDL document. Also changed VL data to be able
to be able also dump VL data of any other datatype.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Corrections & updates
Description:
Updated and corrected DDL description & examples to include all the
current features for the v1.4 release. Lots of changes...
Platforms tested:
Netscape 4.76
Bug fix
Description:
The code for determining what a string should print out if it was
declared as H5T_STR_NULLTERM (C strings), H5T_STR_SPACEPAD
(Fortran strings), or H5T_STR_NULLPAD (print null characters to
the end of the line) was mucked. A user had a problem with it and
suggested a change, but the change didn't seem to work properly.
Also, if the string was H5T_STR_SPACEPAD, it could have stopped
when encountering a NULL even if it hadn't gotten to the end of
the string.
Solution:
Reworked the code to make it more understandable what's happening
and to add in support for H5T_STR_SPACEPAD which may have been
missing before.
Platforms tested:
Linux
Simple changes
Description:
testphdf5.h:
Call MPI_Abort when error is detected. MPI_Finalized was used
before but it might hang if the test has already encountered errors.
Also, it does not do the H5Eprint any more since auto report is on.
t_mdest.c:
Changed the variable name of rank and nprocs to mpi_rank and mpi_size
so that it is the same with the other tests and can use the VRFY macro
call.
Platforms tested:
modi4-64.
Bug fix
Description:
If TESTH5TOH4 or TESTH4TOH5 wasn't set, then it would mess up the
testing process by adding a ``#'' to the for statement (since
there was a line-continuation in the definition of the macro).
Solution:
Placed the macro expansions all on one line so that there's no
junk characters picked up by accident.
Platforms tested:
OSF1 (Gondolin)
Bug fix
Description:
make reconfigure complained syntax error.
Solution:
The for loop previous added contained a typo. Replaced $$test
with $$sub.
Platforms tested:
modi4-64.
Purpose:
Code maintenance and development
Description:
I added two functions h5open_f and h5close_f to initialize
C library and Fortran interface (flags, predefined datatypes, etc).
Those calls are required for any F90 program that uses HDF5.
I renamed H5f90misc.c and H5f90miscf.f90 files to H5f.c and H5ff.f90.
New functions are added to those new files.
Platforms tested:
Solaris 2.6
Code bullet-proofing
Description:
There were several hard-coded values in various places in this test and
it wasn't checking for out-of-memory conditions very robustly.
Solution:
Changed hard-coded values to be computed values and performed better
checking for out-of-memory situations.
Platforms tested:
SGI O2K (modi4) and Solaris 2.6 (baldric)
Bug fix, cleanup,...
Description:
The test was doing the hyperslab select incorrectly (thinking
count was the block length.
Solution:
Fixed it to do the correct hyperslab selection.
Changed it to calculate different data for different datasets.
Changed output by rows instead by cols. It tests the purpose
of creating multiple datasets the same but runs faster.
Platforms tested:
modi4-64.
Purpose:
Bug fix
Description:
HP and AIX compilers did not like duplicate array declarations in
common blocks statements.
Solution:
Removed duplication
Platforms tested:
SP2 and HPUX 11.00
Bug fix
Description:
With the changing of the spelling error in the h5ls usage
statement, these testfiles puked.
Solution:
Corrected them in there.
Platforms tested:
Linux
Addtion
Description:
Added variable length datatypes to the DDL and put an example in
the "example" thingy at the bottom.
Doo dah doo dah.
Platforms tested:
w3m
Purpose:
Code maintenance
Description:
Fixed the code to use new h5tarray_create_f subroutine to
create a compound datatype with an array field.
Platforms tested:
Solaris 2.6
Purpose:
Bugs fix
Description:
I used H5Tcreate_array instead of H5Tarray_create in C stub
Solution:
Fixed
Platforms tested:
Solaris 2.6
OCVS: ----------------------------------------------------------------------
Code cleaning
Description:
Use the variable to rid the warnings of "variable set but not used".
Platforms tested:
Linux and modi4 -64. Just compile only.
Purpose:
Code development and maintenance
Description:
Four new fortran functions to support array datatype were added:
h5tarray_create_f
h5tget_array_ndims_f
h5tget_array_dims_f
h5tget_super_f
Two functions were deleted (commented out for now, can be returned easily if
necessary):
h5tinsert_array_f
h5tget_member_dims
Platforms tested:
Library build was tested on Solaris2.6. I have to modify test program to
use new functions. Right now test program will not compile.
Small code optimization
Description:
Statistics on the amount of times a datatype conversion required alignment
were being kept in all case, even though they are only used when H5T_DEBUG
is turned on.
Solution:
Build some extra macros so that the statistics are only kept when the
H5T_DEBUG macro is defined.
Platforms tested:
Solaris 2.6 (baldric)
Bug fix
Description:
Previous re-arrangement of FUNC_ENTER macro was a _little_ too agressive
about not re-checking for library or interface re-initialization. Although
it happens very rarely that the library is shut down and then re-started
the library & interface initialization functions weren't getting run in
that case.
Solution:
Separated out the library, interface & function checks again. This version
is still a little faster than the previous way things were being done.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Bug fix
Description:
The output of floating point dumps wasn't necessarily standard.
The h5ls utility does it in a better way.
Solution:
Changed the output parameters from %g to %1.*g and added the
appropriate FLT_DIG/DBL_DIG parameter for the `*' in the above.
Platforms tested:
Linux
Bug fix
Description:
I was writing things out to the HDF file in big-endian format
without doing any conversions on the data or anything like that.
This was causing tests to fail on most machines
Solution:
Removed the big-endian craziness...But, this kinda resulted in a
bug in the HDF dumper which Albert and Robb suggested ways of
fixing.
Platforms tested:
Linux
Code optimization
Description:
Re-vamped FUNC_ENTER macro to remove as many of the if's as possible and
also to only check once if any given function is an API function.
This improves the performance of the hyperslab I/O benchmark (h5hypers)
that I've been testing with by another 5%. All library functions should
be 5-15% faster, depending on how many times they are called and what
percentage of the function's time was spent in the FUNC_ENTER macro vs.
the percentage of time in the main body of the function.
Platforms tested:
Solaris 2.6 (baldric)
* 2000-11-15 Robb Matzke <matzke@llnl.gov> (CC_VERSION)
The compiler is always expanded to a
full path name if possible. This feature enhancement was
requested by Mark Miller, LLNL.
Bug fix
Description:
When performing I/O on the entire dataset for datasets with the maximum
number of dimensions, H5S_MAX_RANK, (32 currently), the dimension
information was getting corrupted internally and causing no data to be
actually written to the file.
Solution:
Changed the internal array sizes from H5S_MAX_RANK to H5O_LAYOUT_NDIMS,
which is one element larger to accomodate the size of the elements
themselves.
Platforms tested:
Solaris 2.7 (arabica)
Bug
Description:
Compiler needed both the -instances=global and the -LANG:std flag
to function.
libtools spits out a warning about not being able to find the
ANG:std library directory, but that's okay...it passes it to the
linker anyway.
Platforms tested:
Solaris (Arabica)
pathc
Description:
TFLOPS coredumped on h5ls because when h5ls calls ioctl(TIOCGWINSZ),
the ioctl() routine coredumped inside.
Solution:
It is likely that TFLOPS does not support window-size in the
compute nodes. Still, it should not coredump. Bypass it for
TFLOPS for now.
Platforms tested:
TFLOPS & modi4 (-64)