Commit Graph

93 Commits

Author SHA1 Message Date
Quincey Koziol
09ee6ebc4c [svn-r8733] Purpose:
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
2004-06-23 12:57:16 -05:00
Raymond Lu
0ed0224142 [svn-r8700] *** empty log message *** 2004-06-17 11:53:36 -05:00
Quincey Koziol
ffbd43d88b [svn-r8684] Purpose:
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
2004-06-14 14:33:08 -05:00
Raymond Lu
8735902ea3 [svn-r8663] *** empty log message *** 2004-06-11 16:06:29 -05:00
Raymond Lu
24ccbea9f3 [svn-r8608] Purpose: more test.
Description:  Test if datatype operation can handle opaque type without any tag.


Platforms tested:  h5committest.
2004-06-03 13:33:14 -05:00
Quincey Koziol
d09b08ce39 [svn-r8384] Purpose:
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
2004-04-17 23:10:36 -05:00
Albert Cheng
9c38fa3e32 [svn-r8369] Purpose:
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).
2004-04-17 12:16:15 -05:00
Albert Cheng
eb266def02 [svn-r8359] Purpose:
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.
2004-04-16 16:24:51 -05:00
Quincey Koziol
a550ccd1d2 [svn-r8010] Purpose:
Bug fix

Description:
    Add special-case handling to floating-point conversion tests to avoid
problems with denormalized values on Cray T3E & T90 platforms.  (Still not
working on Cray SV1, but at least it's closer).

Solution:
    Detect denormalized values and don't try to operate on them on the Crays.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray T3E (hubble.cray.com)
    Cray T90 (gypsy.cray.com)
2003-12-31 15:36:44 -05:00
Quincey Koziol
4a77040deb [svn-r7891] Purpose:
Code cleanup

Description:
    Clean up a compiler warning

Platforms tested:
    Titan (user02)
    Too minor to require h5committest
2003-11-26 12:05:07 -05:00
Quincey Koziol
36a46913be [svn-r7883] Purpose:
Bug fix

Description:
    Handle denormalized floating-point values in a more general way that
uses a different 'epsilon' for determining if two values are "close enough"

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
    Pittsburgh Alpha Cluster (lemieux.psc.edu)
2003-11-25 14:26:04 -05:00
Quincey Koziol
80c45ea549 [svn-r7876] Purpose:
Omnibus floating-point bug fix changes

Description:
    There are a number of problems in the floating-point conversion code that
were exposed by Ray's recent int<->float checkin:
    - The 'my_isnan' code in test/dtypes.c was broken and would always return
        true.  The meant that the actual values in the float<->float conversion
        tests were _never_ checked, hiding the other bugs included in this
        checkin.
    - A recent change I made to the type conversion code used "FLT_MIN" instead
        of "-FLT_MAX" for the most negative 'float' value for the double->float
        conversion, which meant that any the negative number that was converted
        from a double to a float would have been mapped to zero, essentially.
    - A change that Robb appeared to have made ~2.5 years ago to the "generic"
        float->float conversion routine appears to be incorrect and I've backed
        it out.
    - Floating-point conversions on SGI's which converted denormalized values
        would be mapped to zero instead of being propertly preserved in the new
        type.  This was addressed by an SGI-specific system call to prevent the
        behavior.

Solution:
    Described above, generally.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest

Misc. update:
    release_docs/RELEASE update forthcoming...
2003-11-24 11:49:27 -05:00
Quincey Koziol
f3e445cfcb [svn-r7469] Purpose:
Code cleanup, etc.

Description:
    Generalize Ray's datatype fixes to handle packing compound datatypes which
are the base type of an array or variable-length type, etc.

    Also track "packedness" of a compound datatype from it's creation, instead
of only setting the 'packed' flag after the datatype was explicitly packed.

    Updated docs to reflect that a compound datatype is allowed to grow (but
not shrink).

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-11 23:36:23 -05:00
Quincey Koziol
04137b3a16 [svn-r7435] Purpose:
Bug Fix and code cleanup

Description:
    Correct error in H5T_detect_class that was causing nested compound datatypes
with to not detect the datatype class of fields correctly, which caused errors
with fill-values, variable-length datatypes and chunks later on.

    Return the rank of the array datatype from H5Tget_array_dims(), like
H5Sget_dims().

    Lots of cleanups to datatype code, to make the handling of arrays, compound
types, variable-length strings and sequences and enumerated types more
consistent and robust.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-08-30 20:50:47 -05:00
Raymond Lu
67449f5c65 [svn-r7021] Purpose: bug fix
Description: H5Tget_native_type fails for multiple kinds of datatype on Cray; it fails
             fix-length string type, too.


Platforms tested: Cray, h5committest
2003-06-10 16:04:58 -05:00
Quincey Koziol
263ff3e4fd [svn-r6940] Purpose:
Code cleanup

Description:
    Call srand(time(NULL)) before performing tests, to better randomize numbers
chosen for testing.

Platforms tested:
    h5committestted (although Fortran tests failed for some reason)
2003-05-31 11:19:28 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

Platforms tested:
    Linux (This change is only in the comments, so I just check that the
    modules still compile)

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
1b082cf2c2 [svn-r5597] Purpose:
Code cleanup

Description:
    The test for inserting a compound datatype into itself (which should fail)
    is issuing warnings about this failure.

Solution:
    Turn the warnings off during this test.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-11 15:02:27 -05:00
Quincey Koziol
7a272fc660 [svn-r5567] Purpose:
Bug fix (bug #777)

Description:
    Current code allows a compound datatype to be inserted into itself.

Solution:
    Check if the ID for the member is the same as the ID for the compound
    datatype and reject it if so.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-10 12:07:38 -05:00
Quincey Koziol
03ab48c9c3 [svn-r5444] Purpose:
Code cleanup

Description:
    Clean up warnings on IRIX64 6.5 (modi4)

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-20 13:43:31 -05:00
Albert Cheng
73683e4380 [svn-r5278] Purpose:
Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC
Description:
    configure generates many macros definitions on the fly and
    were stored in src/H5config.h which is included by H5public.h.
    But other software that uses hdf5 may also run their own configure.
    There can be a clash in macro name space.  We decided awhile ago
    to prepend all generated macros with "H5_" to avoid conflicts.
    The process has started and this commit completes it (at least attempt
    to).
Solution:
    Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to
    H5_SIZEOF_xxx and H5_HAVE_xxx).  Then H5private.h no longer includes
    H5config.h.  This cuts H5config.h away from HDF5 source code.
Pending issues:
    The module of fortran and pablo are to be resolved in a different
    commit.
Platforms tested:
    eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
2002-04-28 03:34:17 -05:00
Quincey Koziol
ef9c40754b [svn-r5200] Purpose:
Code Cleanup

Description:
    Clean up compiler warnings from the last bunch of checkins

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-18 09:05:38 -05:00
Raymond Lu
242d36d263 [svn-r5147]
Purpose:
    New feature
Description:
    Added a query function H5Tget_member_index for compound and enumeration
    data types, to retrieve member's index by its name.
Platforms tested:
    Linux 2.2
2002-04-05 17:31:20 -05:00
Quincey Koziol
76034a33b2 [svn-r4737] Purpose:
Bug Fix
Description:
    Added regression test for proper library behavior when adding fields past
    the end of a datatype.
Platforms Tested:
    FreeBSD 4.4 (sleipnir)
2001-12-18 15:28:38 -05:00
Quincey Koziol
d456c2bb82 [svn-r4643] Purpose:
Code cleanup
Description:
    Windows is generating hundreds of warnings from some of the practices in
    the library.  Mostly, they are because size_t is 32-bit and hsize_t is
    64-bit on Windows and we were carelessly casting the larger values down to
    the smaller ones without checking for overflow.

    Also, some other small code cleanups,etc.

Solution:
    Re-worked some algorithms to eliminate the casts and also added more
    overflow checking for assignments and function parameters which needed
    casts.

    Kent did most of the work, I just went over his changes and fit them into
    the the library code a bit better.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:29:13 -05:00
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -05:00
Bill Wendling
bfd983e7f4 [svn-r3770] Purpose:
Update
Description:
    Changed includes of the form:

            #include <hdf5_file.h>

    to

            #include "hdf5_file.h"

    so that gcc can pick them up easier without including the system
    header files since we don't care about them.
Platforms tested:
    Linux
2001-04-03 13:09:16 -05:00
Quincey Koziol
59f299b826 [svn-r3747] Purpose:
Portability tweaks
Description:
    Certain features (signal for FPE, some assertions, etc) used in testing
    are not available in certain non-UNIX platforms.
Solution:
    Ifdef'd out the test code on the platforms which don't have that support.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-03-31 22:29:33 -05:00
Quincey Koziol
a319837a4f [svn-r3326] Purpose:
Clean up warnings
Description:
    The "FAILED" macro is defined by Windows and is causing warnings and
    potential errors when compiled on that platform.
Solution:
    Change our macro from FAILED to H5_FAILED.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-25 12:03:29 -05:00
Quincey Koziol
35bc545296 [svn-r3252] Purpose:
Code cleanup.
Description:
    Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
    extra warnings.  Including a few show-stoppers for compression on IRIX
    machines.
Solution:
    Changed lots of variables' types to more sensible and consistent types,
    more range-checking, more variable typecasts, etc.
Platforms tested:
    FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
2001-01-09 16:22:30 -05:00
Quincey Koziol
e974009fd6 [svn-r3132] Purpose:
More tests
Description:
    Added regression test for non-optimized compound datatype conversion fix.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-12-13 18:33:57 -05:00
MuQun Yang
0cf81a0aa8 [svn-r3001]
Purpose:
    Fix a bug caught by debug version of windows 2000 at test_compound_5(struct optimization converter).
Description:
    free memory of a variable before checking the result by using that variable.
Solution:
    put free(buf) and free(bkg) after the following block:

     /* Check results */
    if (memcmp(src[1].name, dst[1].name, sizeof(src[1].name)) ||
        src[1].tdim!=dst[1].tdim ||
        src[1].coll_ids[0]!=dst[1].coll_ids[0] ||
        src[1].coll_ids[1]!=dst[1].coll_ids[1] ||
        src[1].coll_ids[2]!=dst[1].coll_ids[2] ||
        src[1].coll_ids[3]!=dst[1].coll_ids[3]) {
        FAILED();
        return 1;
    }

Platforms tested:
    windows 2000 and confirmed at LINUX(eirene).
2000-11-25 17:30:59 -05:00
Quincey Koziol
04223a18f4 [svn-r2866] Purpose:
Code cleanup
Description:
    Found more "Have_foo" usage and converted them to "H5_HAVE_foo"
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 10:58:12 -05:00
Quincey Koziol
f178100d14 [svn-r2844] Purpose:
New Feature
Description:
    Added array datatype tests to the regression tests.  These datatype
    combinations are tested currently:
        1-D array of atomic datatypes
        3-D array of atomic datatypes
        array of array of atomic datatypes
        array of compound of atomic datatypes
        array of compound of array datatypes
        array of VL of atomic datatypes
        array of VL of array datatypes

    Also added a test to verify that the older style compound datatype with
    array fields works correctly.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 16:47:59 -05:00
Albert Cheng
dd4203674a [svn-r2531] Description:
The "FILENAME" declared extern in h5test.h is not always used.
    It was used in h5_cleanup to remove temporary files created
    during tests.  Not all tests codes have used this routine.
    Indeed, quite a few of test programs do "#define FILENAME ".
    Also, h5_cleanup needs to work in tandem with h5_fixname.
    h5_fixname accepts an explicite base_name argument instead
    of using the global variable FILENAME.  That is cleaner.
Solution:
    Added char *base_name[] as a new argument to h5_cleanup, in
    the same style as h5_fixname.  Removed "extern char *FILENAME..."
    from use.  Also, undo some unnecessary declaration of "char *FILENAME"
    from some tests which don't use it at all (yet).
Platforms tested:
    modi4-64(irix64), arabica(solari2.7), eirene(linux)
    (arabica could not launch tests automatically.  I had to hack
     in LD_LIBRARY_PATH to make them run.)
2000-09-09 19:08:27 -05:00
Quincey Koziol
ecb52e75d3 [svn-r2317] Close a small memory leak in the test program (not library). 2000-06-01 18:42:25 -05:00
Robb Matzke
14fc9bb100 [svn-r2266] Minor change for 64-bit libs 2000-05-18 14:47:04 -05:00
Robb Matzke
bc520e88b4 [svn-r2262] * 2000-05-18
** src/H5Tconv.c
** src/H5Tpkg.h
** src/H5Tpublic.h
	The H5T_conv_struct_opt() function had a design flaw -- it
	didn't keep information about the stride to use to step
	through the temporary/background-value buffer and thus nested
	invocations would clobber each other's temp buffers.  This was
	fixed by splitting the `stride' argument into `buf_stride' and
	`bkg_stride' arguments for all the conversion functions. THIS
	IS AN API CHANGE, but users will get a compiler warning when
	they pass their conversion function pointer to H5Tregister().

** src/H5T.c
** src/H5Tprivate.h
	Added a bkg_stride argument to the H5T_convert() definition in
	order to fix a bug related to the optimized compound datatype
	conversion function.

** src/H5T.c
** src/H5A.c
** src/H5D.c
** src/H5Ofill.c
** src/H5P.c
	Added bkg_stride=0 argument to the H5T_convert() calls.

** test/dtypes.c
	Added a test for the H5T_conv_struct_opt() bug fixed above.

** src/H5FL.c
	The H5FL_term() function should return non-zero even when it
	couldn't free all the free lists do to their being used by
	some other package.  When that other package terminates it
	will return non-zero, causing H5FL_term() to be called
	again. This fixes some of the `infinite loop closing library'
	messages.

** tools/pdb2hdf
	Uses print_version() instead of doing that itself.

** src/H5Ppublic.h
	Renamed H5Pget_gc_reference() declaration to make it match the
	definition.

** src/H5FDlog.c
	Added API tracing macros.

	Removed `const' qualifier from a `char*' member of a struct
	which was allocated on the heap.

** src/H5TB.c
	Added curly braces to a couple deeply-nested `if' statements
	to make them clearer and to shut up the increadibly stupid and
	just plain incorrect gcc warning about ambiguous `else'.

** test/titerate.c
	Removed incomplete initialization in favor of memset() for one
	auto variable to stop compiler warnings.

** tools/Depencencies
	Regenerated to remove references to h5dumputil.c
2000-05-18 11:40:20 -05:00
Quincey Koziol
02e4ee5edf [svn-r2073] Added free-list code to the library and took out the older "temporary buffer"
code, since the functionality was superceded.  See the followup document for
details on the free-list code.
2000-04-04 16:00:31 -05:00
Quincey Koziol
eea89e1e6c [svn-r1651] Fold in J90 changes 1999-09-24 17:35:30 -05:00
Robb Matzke
cc89b8a605 [svn-r1572] Changes since 19990810
----------------------

./MANIFEST
./src/H5FDmulti.c		[NEW]
./src/H5FDmulti.h		[NEW]
./src/Makefile.in
./src/hdf5.h
	The split driver was reimplemented as a more general "multi"
	driver which is capable of splitting data into multiple files
	like the family driver except the partioning is done by memory
	usage type instead of address. The H5Pset_fapl_split()
	function just calls H5Pset_fapl_multi() with arguments which
	prepare to split the address space into two files: meta and
	raw data.

	This is the first version. I plan to allow the open() call to
	relax a bit which would allow one to open an hdf5 file when
	only the meta-data file is present. This would allow a very
	large file to be split and stored on tape and the relatively
	small meta file to be mirrored on disk to allow limited
	browsing of the file (any request for raw data would fail).

./src/H5private.h
./src/H5F.c
./src/H5FD.c
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDmpio.c
./src/H5FDsec2.c
	Added the ability for a file driver to store information in
	the superblock which would be needed if the file were opened
	again later for reading.  The format is driver-defined which
	allows users to extend it however they like.

./doc/html/H5.format.html
	Added information about the new driver information block of
	the superblock. This is where file drivers store information
	they need in order to reopen the file later.


./src/H5F.c
./src/H5Fprivate.h
./src/H5FD.c
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5Fistore.c
./src/H5R.c
	The file access properties and the file access property list
	were decoupled, which allows the property list to more cleanly
	contain properties for various levels of the file and which
	allows the property list to be modified more cleanly when
	opening files.

./src/H5.c
./src/H5FDpublic.h
	Removed H5FD_MEM_META and H5FD_MEM_GROUP since they're never
	used.

./src/H5D.c
	Changed the way we detect the MPIO driver in all these special
	cases.

./src/H5F.c
./src/H5Rpublic.h
./test/tfile.c
	The default file sizeof(offset) was changed to be a function
	of haddr_t instead of hsize_t.

	THE H5RPUBLIC.H DEFINITIONS WILL HAVE PROBLEMS IF THE USER
	CREATES A FILE WITH NON-DEFAULT OFFSET AND SIZE SIZES!

./src/H5F.c
	Fixed an uninitialized memory access bug in file closing
	related to the VFL.

./src/H5T.c
./src/H5Tpublic.h
	Added an H5T_NATIVE_HADDR predefined datatype which
	corresponds to the `haddr_t' type.

./test/Makefile.in
	Reformatted long lines.

./test/big.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
	Removed the H5F_ACC_DEBUG flag from file creation/open calls.

./test/big.c
	Plugged a memory leak.

./test/h5test.c
	Added support for the `multi' driver.

	Removed #warning about not having the stdio driver. Plans are
	to not implement it since the sec2 driver serves the same
	purpose and testing didn't show any difference in execution
	times between the two.
1999-08-17 14:12:59 -05:00
Robb Matzke
e4834c43ce [svn-r1548] Changes since 19990727
----------------------

./src/H5.c		[1.3]
./src/H5AC.c		[1.3]
./src/H5ACprivate.h	[1.3]
./src/H5B.c		[1.3]
./src/H5Bprivate.h	[1.3]
./src/H5D.c		[1.3]
./src/H5F.c		[1.3]
./src/H5Farray.c	[1.3]
./src/H5Fcore.c		[1.3]
./src/H5Ffamily.c	[1.3]
./src/H5Fistore.c	[1.3]
./src/H5Flow.c		[1.3]
./src/H5Fmpio.c		[1.3]
./src/H5Fprivate.h	[1.3]
./src/H5Fsec2.c		[1.3]
./src/H5Fsplit.c	[1.3]
./src/H5Fstdio.c	[1.3]
./src/H5G.c		[1.3]
./src/H5Gent.c		[1.3]
./src/H5Gnode.c		[1.3]
./src/H5Gprivate.h	[1.3]
./src/H5Gstab.c		[1.3]
./src/H5HG.c		[1.3]
./src/H5HGprivate.h	[1.3]
./src/H5HL.c		[1.3]
./src/H5HLprivate.h	[1.3]
./src/H5MF.c		[1.3]
./src/H5MFprivate.h	[1.3]
./src/H5O.c		[1.3]
./src/H5Oattr.c		[1.3]
./src/H5Ocont.c		[1.3]
./src/H5Odtype.c	[1.3]
./src/H5Oefl.c		[1.3]
./src/H5Olayout.c	[1.3]
./src/H5Oprivate.h	[1.3]
./src/H5Oshared.c	[1.3]
./src/H5Ostab.c		[1.3]
./src/H5P.c		[1.3]
./src/H5R.c		[1.3]
./src/H5Smpio.c		[1.3]
./src/H5T.c		[1.3]
./src/H5Tvlen.c		[1.3]
./src/H5private.h	[1.3]
./test/dtypes.c		[1.3]
./test/gheap.c		[1.3]
./test/istore.c		[1.3]
./test/lheap.c		[1.3]
./test/ohdr.c		[1.3]
./tools/h5debug.c	[1.3]
	File addresses (the `haddr_t' type) are passed by value
	instead of by reference. The type is no longer a struct. This
	is one of the preliminary changes needed for the Virtual File
	Layer stuff.

./src/H5Fprivate.h	[1.3]
./src/H5Flow.c		[1.3]
	Some address functions were rewritten as macros.
1999-07-28 13:25:43 -05:00
Robb Matzke
a5d799d351 [svn-r1533] ./test/dtypes.c [1.2, 1.3]
Fixed the decimal value which is printed for `dst' when an
	error is detected. The hexadecimal value was correct.
1999-07-23 14:50:00 -05:00
Quincey Koziol
3bdafe922a [svn-r1419] Modified dtypes.c to add new dataset transfer property list ID in
H5Tconvert calls.
    Added tests to tvltypes.c which test arrays of VL compound datatypes,
array of compound datatypes with VL fields and arrays of nested VL sequences
of VL sequences of atomic types, all of which are working correctly.
1999-07-03 05:34:27 -05:00
Robb Matzke
8baa675250 [svn-r1362]
Changes since 19990616
----------------------

./src/H5T.c
./src/H5Tconv.c
	All conversion functions take an extra argument called
	`stride' which is the number of bytes to advance the source
	and destination pointers after each element is converted. If
	the value is zero then the old behavior is preserved (source
	and destination values are packed). This feature was necessary
	to implement the compound datatype conversion optimizations
	and it causes a minor change to the API (application-defined
	type conversion functions take an extra size_t stride
	argument).

./src/H5Tconv.c
	An additional compound data type conversion function was added
	which is applied unless the destination type is larger than
	the source type. I'm measuring significant performance
	increases for certain operations:

	    Test Name    Struct-Conv    Noop-Conv
			 New(Old) MB/s  New(Old) MB/s
	    ----------   -------------  -------------
	    Reordering   2.062(0.3936)  54087(0.9047)
	    Subsetting   2.901(0.6581)  40192(1.1100)
	    Shrinking    1.976(0.3925)  33628(1.1500)
	    ----------   -------------  -------------

./test/dtypes.c
	Added various compound datatype conversion tests.

	Fixed return values from functions.

./src/H5T.c
	Conversion timers are updated only if H5T debugging is turned
	on a runtime (in addition to compile time). This allows the
	data type layer to be compiled with debugging support without
	having to pay a big runtime penalty if the debugging isn't
	actually used.

./src/H5A.c
./src/H5D.c
./src/H5Ofill.c
./src/H5P.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
	Added the stride argument to the H5T_convert() calls. The
	stride is always zero, which means that the source and
	destination data values are packed.

./configure.in
./configure			[REGENERATED]
	If API tracing is turned off then libhdf5.settings will say
	`no' instead of nothing.

./test/flush1.c
./test/flush2.c
	Added better error messages in a couple places.
1999-06-18 10:12:18 -05:00
Robb Matzke
b98fcbf592 [svn-r1306] Changes since 19990602
----------------------

./doc/html/Datatypes.html
./test/dtypes.c
	Added documentation and tests for opaque types.

./tools/h5ls.c
	Added a `-x' or `--hexdump' argument which is not fully
	implemented (because I want to synchronize h5tools.c first)
	but which will eventually print raw data in hexadecimal format
	without any translation from disk. This would be useful for
	debugging references and VL types.

./tools/h5tools.c
	Added support for references (not quite finished yet, but
	compiles -- I wanted to sync up this file before Patrick and I
	got too far apart...)


./src/H5R.c
	Checked for error return value from H5R_get_object_type()

./src/H5A.c
./src/H5D.c
	Changed error return values from NULL to FAIL

./test/Makefile.in
./test/trefer.c
	Creates trefer1.h5 and trefer2.h5 so that the second test
	doesn't clobber the first file since the files might be useful
	for debugging.
1999-06-07 10:05:02 -05:00
Robb Matzke
e352d29757 [svn-r1292] Changes since 19990430
----------------------

Remove changes from CVS

./bin/release
	Added a `--nocheck' switch which causes the script to not
	check the contents of the MANIFEST file against CVS. This is
	sometimes useful when you need to make a quick snapshot but
	the MANIFEST file is not quite up to date.

./src/H5D.c
	Removed warnings for unused variables

./src/H5Fprivate.h
	Removed the WIN32 definition for `uint' and changed the data
	type for `eof_written' from `uint' to `uintn'. Shouldn't this
	really be `hbool_t'?

./src/H5Odtype.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./test/dtypes.c
./doc/html/H5.format.html
	Added support for bitfields and opaque data types.
1999-06-02 08:59:35 -05:00
Albert Cheng
b6096d832c [svn-r1274] Added code to delete the core file that maybe generated by
SIGFPE during the test.
1999-05-24 22:25:37 -05:00
Robb Matzke
cc2184b6ef [svn-r1240] Changes since 19990427
----------------------

./tools/h5ls.c
	Added a `--address' (`-a') switch which causes h5ls to display
	file addresses for raw data. For contiguous datasets it's just
	a nice simple number, but for chunked datasets it's a list of
	logical dataset coordinates, file addresses, filter masks, and
	storage sizes.

	Changed `--dump' switch to `--data'.

./src/H5D.c
./src/H5F.c
./src/H5Fprivate.h
	Enhanced the indexed-storage B-tree iterator so it can dump
	raw data addresses (and other info) to the standard error
	stream.

	Added H5Ddebug() so h5ls has a way to dump addresses for
	datasets. I'm not sure what else this API function should do,
	so I think we should discuss it before we document it. So far,
	h5ls is the only thing that uses it, and we can easily change
	that.

./src/H5Tconv.c
./test/dtypes.c
	Finally had a chance to verify Paul's H5T_conv_s_s (general
	string to string conversions) bug fixes and incorporate them
	into H5T_conv_f_f (general floating-point to floating-point
	conversions) and H5T_conv_i_i (general integer to integer
	conversons). Thanks Paul.

./src/H5D.c
./src/H5S.c
./src/H5Sprivate.h
	Added performance timers around data space read and write
	callbacks. They were already there for the gather/scatter
	callbacks.

	The timings for read/write callbacks are displayed along with
	gather/scatter when data space debugging is turned on.

./bin/iostats
	Updated to print totals. Added a `--fast' option that doesn't
	do any output except the totals and is much faster.

./bin/trace
	Changed __unused__ to UNUSED to match source code.

./config/gnu-flags
	Updated error message for pgcc. I've sent bug reports to the
	pgcc people but the new version still has the same bug.

./configure.in
./config/conclude.in
./config/depend.in
	Fixed dependencies for non-GNU makes when run in a directory
	other than the hdf5 source tree.

	Updated GNU `make dep' rules to copy the distributed
	dependencies for non-GNU makes into the source tree when run
	in some other directory.
1999-04-30 10:54:52 -05:00
Robb Matzke
43c356f93d [svn-r1184] Changes since 19990402
----------------------

./config/commence.in
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
	Fixed so private libraries are not installed publicly.

	The installation directories `bin', `include', and `lib' are
	created mode 755.

./src/H5.c
./src/H5A.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Vprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
./test/chunk.c
./test/dsets.c
./test/dtypes.c
./test/h5test.c
./test/overhead.c
./test/ragged.c
./test/tattr.c
./tools/h5dump.c
./tools/h5findshd.c
./tools/h5ls.c
	Changed `__unused__' to `UNUSED' to fix a conflict with GNU
	header files.

./src/H5Tpkg.h
./test/h5test.h
	Removed __unused__ from forward function declarations.

./src/H5P.c
	Removed a comment about restrictions for the type conversion
	temporary buffers. Thanks to Quincey, the comment no longer
	applied.

./src/H5T.c
	Relaxed the H5Tpack() a little so it would pack compound data
	structures that had non-transient atomic members.

./tools/h5ls.c
	Added a `-g' (or `--group') flag that causes information to be
	printed about the specified group instead of the group's
	contents. (sort of like Unix's `ls -d'). The `-g' can be used
	in combination with `-r' to print information about the group
	and its contents.
1999-04-15 14:57:50 -05:00