Commit Graph

99 Commits

Author SHA1 Message Date
Quincey Koziol
c1131a02e5 [svn-r4393] Purpose:
Bug Fix
Description:
    Byte swapping routine was core dumping when attempting to convert 0
    elements.
Solution:
    Don't try to byte swap when there is nothing to do... :-)

    Apologies to Kent for my comments on Friday about testing his checkins,
    especially when it was I who needed to do moer testing. :-/

Platforms tested:
    Solaris 2.7 (arabica)
2001-08-20 12:19:30 -05:00
Quincey Koziol
94ce84440f [svn-r4390] Purpose:
Bug fix.
Description:
    Byte swapping algorithm wasn't converting the last 8 elements correctly.
Solution:
    Used correct variable... :-)
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-18 20:00:22 -05:00
Quincey Koziol
5b83004cfb [svn-r4377] Purpose:
Code improvement
Description:
    The byte swapping routine for data conversion was inefficient.
Solution:
    Applied a number of optimizations which should yield around a 2-3 times
    faster algorithm.
Platforms tested:
    Solaris 2.6 (baldric)
2001-08-17 17:16:11 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Quincey Koziol
95862451f7 [svn-r4324] Purpose:
New Features!
Description:
    Start migrating the internal use of property lists in the library from the
    older implementation to the new generic property lists.

    Currently, only the dataset transfer property lists are migrated to the
    new architecture, all the rest of the property list types are still using
    the older architecture.

    Also, the backward compatibility features are not implemented yet, so
    applications which use dataset transfer properties may need to make the
    following changes:
        H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
            and
        H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)

    This still may have some bugs in it, especially with Fortran, but I should
    be wrapping up those later today.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-10 15:47:05 -05:00
Quincey Koziol
990fadfbe5 [svn-r4181] Purpose:
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
    Fold in the hyperslab speedups, clean up compile warnings and change a
    few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
2001-07-10 16:19:18 -05:00
Bill Wendling
5e483d0184 [svn-r3781] Purpose:
Update
Description:
    Changed

        #include <hdf_file.h>

    construct to

        #include "hdf_file.h"

    so that the GNU compiler can more easily pick up the dependencies
    which it places in the .depend and Dependencies files. Also
    regenerated the Dependencies to go along with this.
Platforms tested:
    Linux
2001-04-05 12:29:14 -05:00
Quincey Koziol
9461e68750 [svn-r3384] Purpose:
Bug Fix
Description:
    The 'carry' variable in the general floating point-to-floating point
    conversion routine wasn't getting initialized correctly and was causing
    problems while converting certain sequences of floating point numbers
    on the Cray SV1.
Solution:
    Added 'else carry=0;' line to always reset the carry variable to a known
    value.
Platforms tested:
    Cray SV1 (killeen)
2001-02-09 11:00:45 -05:00
Robb Matzke
5fa7f93263 [svn-r3346] ./hdf5-1.4/src/H5Tconv.c
2001-02-03 00:19:25 Robb Matzke  <matzke@llnl.gov>
	* H5T_conv_f_f: Fixed a bug where I had forgotten to increment the floating-point
	   exponent if rounding the significand resulted in a
	   carry. Thanks to Guillaume Colin de Verdiere for
	   finding this one!
2001-02-02 23:38:09 -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
10c6d6d500 [svn-r3138] Purpose:
Bug Fix
Description:
    More descrimination is necessary for the type of background buffer needed.
    Compound types need H5T_BKG_TEMP and vlen & array types need H5T_BKG_YES.
Solution:
    Make the internal routine be more specific about the background type set.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-12-14 11:10:32 -05:00
Quincey Koziol
8653f01910 [svn-r3133] Purpose:
Bug fix
Description:
    Set the background buffer type to different values for compound vs. vlen
    & array datatypes.
Platforms tested:
    Cray J90 (killeen)
2000-12-13 19:35:07 -05:00
Quincey Koziol
1f4c821432 [svn-r3131] Purpose:
Bug fix
Description:
    Non-optimized conversions have a memory overwrite bug when the destination
    size of a compound datatype is greater than the source size.
Solution:
    Corrected direction of walking through the destination array for final
    copying.
Platforms tested:
    FreeBSD 4.2 (hawkwind) & Cray J90 (killeen)
2000-12-13 18:33:05 -05:00
Quincey Koziol
be2d93daff [svn-r3110] Purpose:
Bug Fix
Description:
    Compound datatypes weren't reading background data properly when used
    with array or vlen fields.
Solution:
    Changed to always read background information from file in those situations.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-12-11 15:06:02 -05:00
Quincey Koziol
19d811532a [svn-r3020] Purpose:
Code addition
Description:
    The dumper needs to know when a datatype needs to be reclaimed, so I
    added a small helper function to detect if a particular datatype is or
    contains a particular class of datatypes.
Platforms tested:
    Linux 2.2.16-3smp (eirene)
2000-11-29 12:38:19 -05:00
Quincey Koziol
ad731c2c1b [svn-r3019] Purpose:
Patch on the patch of my code cleanup... :-)
Description:
    Fix compiler problems with previous code patching...
Platforms tested:
    Linux 2.2.16-3smp (eirene)
2000-11-29 11:52:42 -05:00
Quincey Koziol
dd6d6f7b45 [svn-r3015] Purpose:
Bug fixes
Description:
    Patch things back up from incompletely changing some variables in
    yesterday's code cleanup, this should fix the compiler errors that Kent
    and Bill have found in the CVS version of the code.

    Also, fix a bug buried in the datatype conversions when compound datasets
    were nested inside an array or variable-length datatype.  Internally
    require that any datatype which contains a compound datatype sets the
    "need_bkg" conversion flag so a background buffer to pass to the compound
    datatype conversion is allocated.

Platforms tested:
    FreeBSD 4.2 (hawkwind) & Solaris 2.6 (baldric)
2000-11-29 10:47:23 -05:00
Quincey Koziol
ac955b2ccc [svn-r3013] Purpose:
Code cleanup
Description:
    Cleaned up a few warnings which cropped up with different configure
    switches.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-11-28 15:09:36 -05:00
Quincey Koziol
0726621eaa [svn-r3005] Purpose:
Backward compatibility code
Description:
    Add in code to allow the library to emulate the v1.2 API and behavior.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2000-11-27 18:01:48 -05:00
Quincey Koziol
b909264b79 [svn-r2952] Purpose:
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)
2000-11-16 15:36:13 -05:00
Quincey Koziol
47bef32530 [svn-r2865] Purpose:
Code Cleanup
Description:
    Removed unused variable.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 10:56:43 -05:00
Robb Matzke
82a7138733 [svn-r2854] ./hdf5/src/H5Tconv.c 2000-11-10 09:34:07 -05:00
Quincey Koziol
e32c78d023 [svn-r2843] Purpose:
New Feature
Description:
    Added array datatype to library.  See documentation at:
        http://hdf.ncsa.uiuc.edu/HDF5/planning/DP/ArrayType.html
    for complete details on the impact to the library.
Solution:
    Changes to the base library include removing the ability of compound
    datatype fields to be an array (they can use an array type for the field,
    to duplicate the functionality) and adding in the new array datatype
    everywhere appropriate. (I hope :-)
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 16:45:27 -05:00
Quincey Koziol
64b8f7fd73 [svn-r2657]
Purpose:
    Parallel Bug Fixes
Description:
    Was out of sync with header file re-arrangements I checked in last night.

Solution:
    Fixed to use new header files, etc.
Platforms tested:
	O2K (modi4)
2000-10-10 15:55:54 -05:00
Quincey Koziol
ba28c64ba7 [svn-r2652] Purpose:
Maintainance & performance enhancements
Description:
    Re-arranged header files to protect private symbols better.

    Changed optimized regular hyperslab I/O to compute the offsets more
    efficiently from previous method of using matrix operations.

    Added sequential I/O operations at a more abstract level (at the same level
    as H5F_arr_read/write), to support the optimized hyperslab I/O.

Platforms tested:
    Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
2000-10-10 02:43:38 -05:00
Quincey Koziol
a61b205aff [svn-r2597] Purpose:
Fix compiler warning
Description:
    "HUGE_VAL" (a double value) was being put into a float type and generating
    a warning during compile time.
Solution:
    Replaced "HUGE_VAL" with "FLT_MAX"
Platforms tested:
    FreeBSD 4.1
2000-09-26 15:29:40 -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
Albert Cheng
a1b8768af2 [svn-r2009] Purpose
Bug fix.
Description
    When converting a floating point zero to a different format (e.g. Cray),
    the mantissa part was not set to zeros complete.  Cray does not
    seem to mind since the exponent part was set to all 0's.  Somehow,
    the HDF4 does not like it and convert that pattern to a non-zero
    value in IEEE.
Solution
    corrected the code to set the whole mantissa to zeros completely.
Platform tested:
    J90 & Solaris 2.7.
2000-03-08 18:25:15 -05:00
Robb Matzke
d5c8b0fe6c [svn-r1847] ** src/H5T.c
Fixed a bug with enumeration types not having the correct object
	header pointer.
1999-11-23 14:36:13 -05:00
Quincey Koziol
9e014467b6 [svn-r1836] Mainly fixed a bug in VL datatype comparisons which was causing non-equal
VL types to compare as equal.  Added some asserts to make certain nothing
slips through again.  Also cleaned up a few warnings from the SGI compiler.
1999-11-17 16:59:53 -05:00
Quincey Koziol
53b90c7069 [svn-r1702] Closed some more memory leaks on failure conditions... 1999-09-30 21:02:59 -05:00
Quincey Koziol
4d5186a245 [svn-r1689] Mainly adding support for "native" variable-length strings (C only currently),
but I fixed lots of misc. compiler warnings in other code and also tracked down
the memory overwrite bug that was causing the development branch to core dump
on most machines.
1999-09-28 19:30:21 -05:00
Quincey Koziol
eea89e1e6c [svn-r1651] Fold in J90 changes 1999-09-24 17:35:30 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] Changes since 19990730
----------------------

This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it).  So if you need MPIO I would
recommend sticking with the previous version for a while.

You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.

I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.

Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.

./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c			[REMOVED]
./src/H5Fstdio.c		[REMOVED]
./src/H5Fsec2.c			[REMOVED]
./src/H5Fsplit.c		[REMOVED]
./src/H5Fmpio.c			[REMOVED]
./src/H5Ffamily.c		[REMOVED]
./src/H5Fcore.c			[REMOVED]
./src/H5MFpublic.h		[REMOVED]
./src/H5FD.c			[NEW]
./src/H5FDcore.c		[NEW]
./src/H5FDcore.h		[NEW]
./src/H5FDfamily.c		[NEW]
./src/H5FDfamily.h		[NEW]
./src/H5FDmpio.c		[NEW]
./src/H5FDmpio.h		[NEW]
./src/H5FDprivate.h		[NEW]
./src/H5FDpublic.h		[NEW]
./src/H5FDsec2.c		[NEW]
./src/H5FDsec2.h		[NEW]
	Removed/added files for virtual file layer.

./bin/trace
./src/H5.c
	Removed unused public datatypes and added new VFL public
	datatypes.

	Changed an error message.

./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
	Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
	configuration since they're no longer applicable. The default
	file driver is always the sec2 driver and it always optimizes
	calls to lseek() or lseek64().

./config/depend.in
	C preprocessor errors generated during automatic dependency
	building are sent to /dev/null to prevent them from appearing
	twice in the make output.

./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
	Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
	with the `haddr_t' datatype which is now a public type.

./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
	The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
	because the properties apply to all types of I/O operations,
	not just datasets.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
	Modified to work with the virtual file layer by calling H5FD_*
	functions instead of H5F_low_* functions and by passing file
	access and data transfer properties by object ID instead of
	pointer.

	Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
	COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
	MPIO file driver.

	Moved MPIO-specific stuff into the MPIO driver.

./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
	The H5F_mpio_* private functions were renamed and placed in
	the H5FDmpio driver except those which appeared in H5Smpio.c.

./src/H5E.c
./src/H5Epublic.h
	Added major error number H5E_VFL for virtual file layer
	related errors.

./src/H5F.c
./src/H5Fprivate.h
	Changed the logic that controls whether the boot block is
	written. Instead of assuming that the first call to write the
	boot block is only to allocate space, I've added a function
	argument which makes this explicit.

	Changed the way files are compared so that a driver-defined
	comparison function can be called.  Files which belong to
	different drivers are always considered different.

	Removed H5F_driver_t since file drivers are now identified by
	object ID instead of a special non-user-extendible datatype.

	Removed all the hard-coded low-level file properties which
	have been replaced by the various file drivers.

./src/H5I.c
./src/H5Iprivate.h
	Added the H5I_inc_ref() which was removed a few months ago
	since we finally have a use for it.

./src/H5Ipublic.h
	Added the H5I_VFL object ID type to identify file drivers in
	the virtual file layer.

./src/H5MF.c
./src/H5MFprivate.h
	Moved all the allocation/deallocation code into the virtual
	file layer which allows file drivers to override much of it.

./src/H5P.c
./src/H5Ppublic.h
	Moved file driver-specific code into the various file driver
	files.

	The H5Pcopy() and H5Pclose() functions make calls into the
	virtual file driver to manage the memory for driver-specific
	file access and data transfer properties.

./src/H5private.h
./src/H5public.h
	The `haddr_t' type is now public.

./test/tfile.c
	Added a few more comments.
1999-08-10 15:21:32 -05:00
Quincey Koziol
d762ea6a31 [svn-r1494] Lots of various bug-fixes on VL datatypes. VL datatype fields in compound
datatypes aren't yet working, but other ways of using them (vlen atomic, vlen
compound and vlen vlen atomic, etc.) are working.
1999-07-16 13:11:52 -05:00
Quincey Koziol
650e29cff6 [svn-r1418] Modified H5Tconvert to require a dataset transfer property list ID as the
final parameter (so that VL datatypes have a way to pass in the custom memory
allocation routines).
    Fixed a conversion bug when VL fields were part of a compound datatype that
was causing the no-op conversion routine to be used instead of the vlen routine.
    Added the H5Pset_vlen_mem_manager and H5Pget_vlen_mem_manager routines to
allow users to provide their own custom memory allocation routines for VL data
read in from the file and reclaimed with H5Dvlen_reclaim.
    Finished coding on H5Dvlen_reclaim so it works now.
1999-07-03 05:31:26 -05:00
Robb Matzke
c78a6aedaf [svn-r1371]
Changes since 19990618
----------------------

./configure.in
./configure		[REGENERATED]
	Now that compound struct conversions don't make so many calls
	to convert their members I turned the H5T debugging back on by
	default (it will still be disabled in a production version).

./src/H5AC.c
./src/H5B.c
	Made it possible to turn off messages about debugging these
	two packages using the same method as for all other
	packages. Just supply an invalid file descriptor number or use
	the shell to redirect said descriptor to /dev/null like this:

	    $ HDF5_DEBUG=99,ac,b 99>/dev/null a.out

./src/H5T.c
	Changed the name of the old compound conversion function from
	`struct' to `struct(no-opt)' to be more consistent with the
	new version named `struct(opt)'.

	Fixed a bug in H5T_cmp() that caused any two VL types to
	compare as being equal.

	Removed duplicate code for bitfield comparisons in H5T_cmp().

./src/H5Tconv.c
	Relaxed some constraints in the new compound conversion
	function so it applies to more cases.  Also eliminated a
	memcpy in a tight loop.

./test/cmpd_dset.c
	Added a `--noopt' command line switch which unregisters the
	optimized compound conversion so we can test the non-optimized
	version.
1999-06-23 11:16:51 -05:00
Robb Matzke
15c5400284 [svn-r1364]
Changes since 19990618
----------------------

./Makefile.in
	Running `make' in the top directory recurses into the examples
	directory also except if the make target is one of: lib,
	progs, check, test, _test, install, uninstall.

./examples/Makefile.in
	Changed programs into tests, which just means that `make
	tests' does what `make progs' used to do and that `make check'
	runs the executables.

./src/H5Tconv.c
	Fixed a typo in the unsigned-to-signed native converter for
	large types to small types. This fixes a bug on baldric and
	possibly other machines for the `dtypes' test.

	Also fixed a signed vs. unsigned warning.
1999-06-18 13:29:17 -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
58eb9c4aa0 [svn-r1311] Changes since 19990607
----------------------

./tools/h5ls.c
./tools/h5tools.c
	Added support for printing bitfields and opaque data.

./test/dsets.c
	Added bitfield and opaque datasets to the output file so h5ls
	has something interesting to print.

./test/trefer.c
	Resync'd

./src/H5Tconv.c
	Fixed bitfield conversion which resulted in possible garbage
	in high-order bits of destination when the destination type is
	larger than the source type. Thanks for spotting it, Quincey.
1999-06-07 15:20:32 -05:00
Quincey Koziol
2a10e682a1 [svn-r1305] Checkpointing the VL datatype code. I believe the core functionality is here,
accessed with H5Tvlen_create, but I need to start writing tests now.  Also the
more esoteric API calls (such as H5Tget_vlen_buf_size and the memory management
calls) aren't implemented yet.
1999-06-04 17:27:28 -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
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
Dan Wells
fe83d5e288 [svn-r1182] Changed name of PABLO Mask to simplify automatic definitions. 1999-04-14 16:48:05 -05:00
Paul Harten
169754fb4c [svn-r1119] Purpose:
Bug fix

Problem:
    On Solaris2.5, once the library has been compilied with any type of
    optimization, a bus error comes up in the "dtypes" test.

Solution:
    The problem appears to be in the compilers' version of memcpy() that
    is used when optimized.  Instead of substituting HDmemmove(), on
    Solaris, the problem is also taken care of by preparing the second
    argument to HDmemcpy().  The datatype pointer is copied to a separate
    char pointer which is then used as the second argument to HDmemcpy().
    For some reason, it isn't enough to simply cast the datatype pointer.

Platform tested:
    Solaris2.5
1999-03-08 14:02:43 -05:00
Robb Matzke
96320e69c0 [svn-r1117] Changes since 19990303
----------------------

./configure.in
./configure		[REGENERATED]
	The path for a command is calculated explicitly the hard way
	because `type -path' isn't portable.

./config/freebsd
./config/linux-gnu
./config/linux-gnulibc2
	Changed the way files reference each other.

./config/gnu-flags	[NEW]
./config/dec-flags	[NEW]
	These files figure out what flags to pass to certain compilers
	so we can reuse code in more than one config/* file.  They
	also have better warning messages when old compilers are used.

./config/linux-gnulibc1
./config/dec-osf4.x
	These files use the new *-flags files.


./src/H5D.c
./src/H5Onull.c
./src/H5Tconv.c
./tools/h5ls.c
	Fixed a compiler warning.

./src/H5detect.c
	Added a better comment to the top of the generated file.
1999-03-04 15:22:42 -05:00
Paul Harten
2925631a49 [svn-r1114] Purpose:
Bug fix

Problem:
    On Solaris2.5, once the library has been compilied with any type of
    optimization, a bus error comes up in the "dtypes" test.

Solution:
    The problem appears to be in the compilers' version of memcpy() that
    is used when optimized.  Apparently, the same optimization problem
    is not associated with the similar function memmove().  So, as a
    solution to this problem, memmove() is substituted in for memcpy().

Platform tested:
    Solaris2.5
1999-03-03 18:00:22 -05:00
Robb Matzke
b3ddd2cc54 [svn-r1110] Changes since 19990226
----------------------

./INSTALL
	Added instructions for using other compilers on Irix platforms.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5private.h
	The presence of <sys/sysinfo.h> and <sys/proc.h> is only
	checked on DEC/Alpha because there are too many problems
	including these headers on other systems.

./config/irix6.x
./config/irix64
	Removed `-ansi' and added a comment. Converting an ASCII UTC date
	and time to a time_t value is not defined by ANSI or Posix but
	is available if we don't use `-ansi'.  This allows the dataset
	modification time messages to be read properly by
	H5Gget_objinfo().

./src/H5Tconv.c
	Fixed a compiler warning.

./test/dtypes.c
./test/hyperslab.c
./test/istore.c
	Fixed compiler warnings in printf() statements.
1999-03-01 14:44:32 -05:00