Refactor code
Description:
Use "template macro" technique to eliminate a huge amount of repeated code
in type initialization code (almost 1000 lines, between this change and the
changes to the H5Tconv.c file earlier).
This centralizes the common parts of the code and makes the different parts
of the code more obvious.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Optimize code
Description:
Eliminate some computations from inner loop, giving about a 5% speedup.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to h5committest
Refactored code
Description:
Switched float->double and double->int conversions to use new, more generic
conversion looping macros.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too small to require h5committest
More refactoring
Description:
Re-wrote inner loop of integer conversion routines with "psuedo-template"
macros, to hoist 'if-else's out of inner loop in an easy to understand way.
This speeds up the integer type conversions by 15-20%.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code cleanup
Description:
Re-wrote duff's device with some macro substitution to make algorithm more
obvious.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too small to require h5committest
Refactor integer conversion macros
Description:
Turned integer conversion macros "inside" out, using an interlocking
macro technique similar to templates in C++. The macro which actually performs
the conversion is now invoked "genericly" from inside another macro, which
will allow the inner conversion loop to be optimized in a much easier way.
This "psuedo-template" technique could be useful for other semi-repetitious
patterns in the library - possibly the datatype initialization code...
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Code cleanup
Description:
Start stripping leftovers from HDF4 out of this file, working toward
getting everything defined at configure time, instead of depending on the
framework of ifdef's used in HDF4.
Platforms tested:
h5committest
Bug fix
Description:
Fixed type declaration of rdcc_nelmts that was causing daily tests to fail.
(Checked w/Elena first)
Platforms tested:
h5committest
updated help page
Description:
help message for enable-stream-vfd was still default=no.
changed to default=yes.
Platforms tested:
no h5committest. Only tested in eirene since change is
simple.
Misc. update:
Description: This program test performance of create or open datasets and create
attributes for datasets.
Platforms tested: h5committest
Misc. update: MANIFEST
Purpose: Bug fix
Description: The third parameter to the h5pget(set)_cache_f subroutines
had a wrong type
Solution: Fixed the type and changed the docs.
Platforms tested: kelgia, arabica 64-bit, copper 64-bit
Misc. update:
Purpose: Rolling over changes from 1.6 branch
Description: h5pget(set)_cache_f functions had a wrong type of the
third parameter
Solution: Fixed the type to be INTEGER(SIZE_T)
Platforms tested: kelgia, arabica 64-bit, copper 64-bit
Misc. update:
Add check
Description:
Added a check to make sure that the "tr" program actually works.
Platforms tested:
Linux (small fix and only to configure)
Misc. update:
Code cleanup
Description:
Change field member count and indices for compound and enumerated types from
'int' to 'unsigned' to better reflect actual use.
Cleaned up a few other minor compiler warnings, etc.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena)
too minor to require h5committest
Bug fix
Description:
"group" errors were not being included in the total # of errors
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Code cleanup
Description:
Cleaned up various compiler warnings
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Code cleanup
Description:
Removed "H5Git" routines, now that there are library routines which perform
the same functionality.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Update
Description:
Enable the stream-vfd driver by default. --disable-stream-vfd if you
don't want it.
Platforms tested:
Linux (configuration change, no need for full testing)
Misc. update:
Purpose: Bug fix
Description: Parameter rdcc_nelmts of the h5pget_cache_f subroutine
had wrong INTEGER(SIZE_T) instead of INTEGER type.
Solution: Fixed the type
Platforms tested: arabica in 64-bit mode (where INTEGER(SIZE_T) is not
the same as INTEGER)
Misc. update:
Bug fix
Description:
The 'char *' type is one of the "strongly" aligned types on Crays, but
a 'void *' is "weakly" aligned. So, assigning a 'void *' (pointing to a
location to place a 'char *') to a 'char **' can change the pointer value
during the assignment.
Solution:
Don't alias the 'void *' where the variable-length information ('char *'
or 'hvl_t') will go. Use a temporary variable on the stack to build up the
information about the VL string or sequence and then memcpy() the temporary
variable directly to the location pointed to with the 'void *'
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
specific to Cray problems, h5committest not necessary.
Bug fix
Description:
The 'char *' type is one of the "strongly" aligned types on Crays, but
a 'void *' is "weakly" aligned. So, assigning a 'void *' (pointing to a
location to place a 'char *') to a 'char **' can change the pointer value
during the assignment.
Solution:
Don't alias the 'void *' where the variable-length information ('char *'
or 'hvl_t') will go. Use a temporary variable on the stack to build up the
information about the VL string or sequence and then memcpy() the temporary
variable directly to the location pointed to with the 'void *'
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
specific to Cray problems, h5committest not necessary.
Bug fix
Description:
Correct the size of the buffer needed for the destination value to use
the actual destination type size.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Function index formatting
Platforms tested:
IE 5, Safari
Code cleanup
Description:
Added line #'s to a bunch of the error printf's, so it's easier to locate
where an error occurs.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
Bug fix
Description:
The tests recently added for checking a file's freespace and verifying the
new fields added to the H5G_stat_t structure use H5T_NATIVE_INT as the type for
the datasets and attributes they create. Because the tests check explicit file
sizes, this causes problems on Crays, where a native int is 64-bit instead of
32-bit.
Solution:
Change the tests to use H5T_STD_U32LE instead of H5T_NATIVE_INT.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
Bug fix
Description:
The VL type conversion routine attempt to align it's destination buffer to
an offer that will work for both hvl_t and char * types, but the algorithm used
fails to work correctly on Cray machines.
Solution:
Give up on attempting to align the buffer when it's allocated on the stack.
Just dynamically allocate it instead.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Minor copy edits
Platforms tested:
IE 5, Safari
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Corrected link to the F90 subroutine h5rget_object_type_f from the
H5Rget_obj_type function description
Platforms tested:
IE 5, Safari
Feature, sort of.
Description:
Reactivated the big dataset test. Changed it
to default off, can be turned on via -b.
Platforms tested:
Only in Copper which is the only local machine safe to run
mulitple GB size files.
Misc. update: