Commit Graph

37 Commits

Author SHA1 Message Date
Robb Matzke
78c70d7be5 [svn-r541] Changes since 19980723
----------------------

./tools/h5dump.c
./tools/h5ls.c
./tools/h5tools.h
	Able to handle compound data types now.  Moved code that
	chooses memory data type based on file data type from h5ls to
	libh5tools.a(h5dump.o)
1998-07-24 09:28:32 -05:00
Quincey Koziol
181a423f85 [svn-r540] Added H5Sselect_all test code 1998-07-23 18:29:54 -05:00
Robb Matzke
c8d2f1e17a [svn-r537] Changes since 19980722
----------------------

./src/H5A.c
./src/H5Apublic.h
./test/tattr.c
	Switched the order of the second and third argument of
	H5Aget_name() to make it consistent with other functions that
	take buffers and buffer sizes.

./src/H5G.c
./src/H5Gpublic.h
./src/H5Gprivate.h
	The H5Gget_comment() function returns the size of the comment
	including the null terminator.  If the object has no comment
	then zero is returned.  If an error occurs then a negative
	value is returned.

./MANIFEST
./tools/Makefile.in
./tools/h5tools.h	[NEW]
./tools/h5dump.c	[NEW]
	Created a library for printing values of datasets in a way
	that looks nice.  It's not done yet, but I needed it for
	debugging the contents of files from Jim Reus.

./tools/h5ls.c
	Added the `-d' and `--dump' options which cause the contents
	of a dataset to be printed.  Added `-w N' and `--width=N'
	options to control how wide the raw data output should be. If
	you want single-column output then say `-w1'.

	Printing dataset values can now handle datasets of any integer
	or floating point atomic type.  As a special case, integers
	which are one byte wide are treated a character strings for
	now.

	Sample output:
	    $ h5ls --dump --width=60 banana.hdf
	    ARCHIVE                   0:0:0:744            Dataset {52/Inf}
		Data:
		    (0) "U struct complex { double R; double I; };\012V"
		    (43) " double;\012"
	    U                         0:0:0:2500           Dataset {256/512}
		Data: printing of compound data types is not implemented yet
	    V                         0:0:0:3928           Dataset {256/512}
		Data:
		    (0) 0, 0.015625, 0.03125, 0.046875, 0.0625,
		    (5) 0.078125, 0.09375, 0.109375, 0.125, 0.140625,
		    (10) 0.15625, 0.171875, 0.1875, 0.203125, 0.21875,
		    (15) 0.234375, 0.25, 0.265625, 0.28125, 0.296875,
	    ...
1998-07-23 16:19:17 -05:00
Quincey Koziol
d4088f3610 [svn-r531] Added test code for hyperslab and point selection copying. 1998-07-22 17:11:42 -05:00
Robb Matzke
b56f011989 [svn-r526] Changes since 19980721
----------------------

./tools/h5ls.c
	If the dataset is of type H5T_NATIVE_CHAR then we print the
	value as a string.  This is temporary -- I plan to add better
	control of this later but needed something now for debugging.

./src/H5Fistore.c
	Squashed a bug in the chunk caching code that caused the wrong
	chunk to be returned.

./bin/trace
./src/H5.c
	Added support for printing values of array arguments when the
	size of the array is supplied by some previous argument.  You
	must declare the argument as an array in order for the
	automatic tracing stuff to work.  For instance, the third
	argument of H5Pset_chunk() is an array whose size is
	determined by the second argument `ndims'.  Here's how you
	should declare it:

	    herr_t
	    H5Pset_chunk(hid_t plist_id, intn rank, hsize_t dims[/*rank*/])

	The comment inside the `[]' is the name of some previous
	integer argument (int, unsigned, size_t, ssize_t, hsize_t,
	hssize_t).  The trace output will look something like:

	    H5Pset_chunk(plist=1234567, rank=2, dims=0x112233 {11, 22})

	Changed tracing so that data types are printed out
	symbolically when possible.

	Changed tracing so data type initializations are not printed.
	This used to be confusing because lots of H5Tcopy() and
	H5Tregister...() calls showed up before the applications first
	explicit API call.

./src/H5Ipublic.h
	Changed the file atom group from zero to one so printing of
	atoms during tracing is more consistent -- they're all big
	numbers now.

./src/H5A.c
./src/H5E.c
./src/H5F.c
./src/H5G.c
./src/H5Sselect.c
./src/H5T.c
./src/H5TB.c
./src/H5Z.c
	Accidently modified these when working on the tracing, but
	nothing should have changed.

./src/H5P.c
	Changed the definition of H5Pset_chunk() for tracing.

./src/H5S.c
./src/H5Spublic.h
	Changed the definitions of H5Sset_extent_simple() and
	H5Screate_simple() for tracing.  Changed the FUNC_ENTER() name
	for H5Screate_simple() so tracing shows the correct name.
1998-07-22 08:51:51 -05:00
Robb Matzke
bdce66f69a [svn-r523] Changes since 19980720
----------------------

./test/dtypes.c
	We try to detect whether floating point overflow generates a
	SIGFPE and if it does we don't test overflow cases.

./test/H5Sprivate.h
./test/H5S.c
./test/H5Oattr.c
	Added an H5S_debug() which is called from H5O_attr_debug() and
	which has a switch statement to handle the various data type
	messages.
1998-07-21 11:11:56 -05:00
Robb Matzke
2423411a64 [svn-r522] Changes since 19980720
----------------------

./src/H5Gpublic.h
./src/H5Gprivate.h
./src/H5G.c
./test/dsets.c
./doc/html/Groups.html
	Added the H5Gset_comment() and H5Gget_comment() functions
	described in an earlier e-mail.

./src/H5.c
	Fixed a bug in the tracing code that caused certain data space
	enum types to not be printed.  Nested case statements can get
	confusing to the eyes!

./tools/h5ls.c
	Prints the first 50 bytes or so of object comments.
1998-07-20 16:01:32 -05:00
Quincey Koziol
d45c20d713 [svn-r520] Added test for strided hyperslabs. 1998-07-20 15:14:55 -05:00
Robb Matzke
365dac33e3 [svn-r515] Changes since 19980715
----------------------

./doc/html/H5.format.html
./src/H5Gent.c
./src/H5Gprivate.h
./src/H5Oattr.c
./src/H5Oprivate.h
./src/H5Oshared.c
./src/H5HG.c
./src/H5HGprivate.h
	Added padding fields in symbol table entries, attribute
	messages, shared messages, and global heap objects to insure
	that things are aligned on 8-byte boundaries in the file, and
	thus in memory.  Otherwise some little endian machines
	complain (DEC Alpha) during encoding/decoding of file meta
	data.  I chose to add alignment to the file rather than
	rewriting the ENCODE/DECODE macros for the little endian case.

	Completely rewrote the section on attribute messages.

	More alignment stuff will follow.

./src/H5detect.c
	Fixed a typo `nd'->`dn'

./test/dtypes.c
	Commented out conversion tests to/from `long double' on
	machines where it's the same size as `double' to get rid of
	compiler warnings.

./doc/html/Big.html
	Fixed a couple typos.
1998-07-20 08:45:25 -05:00
Robb Matzke
79d65106ab [svn-r514] Changes since 19980715
----------------------

./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsplit.c
	Changed the allocation size request from `size_t' to `hsize_t'
	because it was overflowing for the `big' test.

./src/H5detect.c
	If `long double' and `double' are the same size then we define
	H5T_NATIVE_LDOUBLE to be the same as H5T_NATIVE_DOUBLE.
	Similarly for `long' vs. `long long' and `unsigned long' vs.
	`unsigned long long'.

./test/Makefile.in
	Added `big' to the list of tests to normally run.

./test/big.c
	Added a check to see if the file system supports holes and if
	it doesn't then the test is skipped.

./RELEASE
	Added a couple minor details details about API tracing and
	symbolic links.

./src/H5public.h
	Added comments about the use of hbool_t. Fixed a comment
	spelling error.

./test/testhdf5.h
	Changed the way the version number is printed.  The old method
	was `hdf5-1.2.3d' and the new method is `hdf5 version 1.2
	release 3'

./tools/h5ls.c
	Only prints the max dimension if it differs from the current
	dimension or if verbose mode is enabled.  Added switches `-?',
	`-h', and `--help' to print a usage message.  Added switches
	`-v' and `--verbose' to generate more verbose output.  Added
	switches `-V' and `--version' to print the version number and
	exit.  The version number is printed like: This is h5ls
	version 1.0 release 24'

./bin/h5vers	[NEW]
	This script prints, sets, and/or increments the hdf5 version
	number. It can be run from the top directory or any of the
	child directories like src, tools, test, etc. Some examples:

	  $ h5vers				# Display current version
	  1.0.24

	  $ h5vers -v
	  version 1.0 release 24		# Display current version.

	  $ h5vers -s 5.2.8			# Set version and display
	  5.2.8

	  $ h5vers -s 2.1
	  2.1.0

	  $ h5vers -s hdf5-1.0.24a.tar.bz2
	  1.0.24

	  $ h5vers -s 'version 2.0 release 8'
	  2.0.8

	  $ h5vers -s 'junk 22 junk 33 more junk 66 and 99 junk'
	  33.66.99

	  $ h5vers -i major			# Increment from 1.0.24
	  2.0.0

	  $ h5vers -i minor			# Increment from 1.0.24
	  1.1.0

	  $ h5vers -i release			# Increment from 1.0.24
	  1.0.25

	  $ h5vers ~/hdf5/src/H5public.h	# Use an alternate file
	  1.0.24

./bin/checkapi		[NEW]
	Run from the src directory with arguments H5[A-Z]*.c and it
	will print the locations of each place where an API function
	was called from within the library.  Use it as the compile or
	grep command under Emacs and you can C-x ` through the list.

./bin/debug-ohdr	[NEW]
	Keeps track of H5O_open() and H5O_close() debugging messages
	and lists the file addresses of the object headers that are
	opened but never closed.  You must enable the `o' debugging at
	configuration time and pipe stderr into this script.

./bin/errors
	Added a note to indicate that this script no longer works
	because of changes in the HRETURN_ERROR() and HGOTO_ERROR()
	macros.

./bin/iostats		[NEW]
	Watches output from the Linux strace program and accumulates
	statistics about low-level access to an hdf5 file.  The output
	is a list of 2d data points which can be plotted by gnuplot to
	show file seeking behavior.

./MANIFEST
	Added new files.
1998-07-17 14:03:43 -05:00
Robb Matzke
077d7c8c86 [svn-r511] Changes since 19980715
----------------------

./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsplit.c
	Changed the allocation size request from `size_t' to `hsize_t'
	because it was overflowing for the `big' test.

./src/H5detect.c
	If `long double' and `double' are the same size then we define
	H5T_NATIVE_LDOUBLE to be the same as H5T_NATIVE_DOUBLE.
	Similarly for `long' vs. `long long' and `unsigned long' vs.
	`unsigned long long'.

./test/Makefile.in
	Added `big' to the list of tests to normally run.

./test/big.c
	Added a check to see if the file system supports holes and if
	it doesn't then the test is skipped.
1998-07-15 16:21:15 -05:00
Robb Matzke
8ad2f1aae0 [svn-r510] Changes since 19980713
----------------------

./config/conclude.in
	Fixed so `make test' and `make progs' work on a clean source tree.
1998-07-15 11:39:46 -05:00
Quincey Koziol
5b6f42727c [svn-r494] Added test to take several differently shaped hyperslabs and perform I/O
on them to verify the iterators are processed in the correct order.
1998-07-14 19:48:16 -05:00
Quincey Koziol
bf5165c748 [svn-r489] Changed more API functions to the new names as documented. Also, added
stub for testing selections.
1998-07-14 16:14:12 -05:00
Robb Matzke
614ae2dce6 [svn-r485] Changes since 19980710
----------------------

./Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in
./src/Makefile.in
./test/Makefile.in
	Tests are no longer installed for `make install'.  Added a new
	target `make tests' that builds the tests but doesn't run them.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Added detection of fork() and waitpid().  If present the
	contants HAVE_FORK and HAVE_WAITPID will be defined in
	H5config.h.

./test/dtypes.c
	Minor tweaks for systems that don't have fork() or waitpid().

./MANIFEST
./tools			[NEW]
./tools/Makefile.in	[NEW]
./tools/h5debug.c	[NEW]
./tools/h5import.c	[NEW]
./tools/h5ls.c		[NEW]
./tools/h5repart.c	[NEW]
	Added a tools directory and moved tools from the src directory
	to here.
1998-07-13 10:35:21 -05:00
Quincey Koziol
b7f334adb4 [svn-r480] Fixed an ugly bug by teaching the recursive hyperslab I/O code how to resume
when a buffer gets full.  Also removed the check for disallowing zero-dim
extents on unlimited dimension datasets, per user's request.
1998-07-10 12:54:19 -05:00
Robb Matzke
6a1bea937d [svn-r469] Changes since 19980707
----------------------

./bin/trace
./src/H5.c
	Added tracing support for H5S_seloper_t and H5S_class_t.

./src/H5Sselect.c
./src/H5S.c
	Added tracing statements that weren't inserted previously
	because of formatting problems.

./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
./test/cmpd_dset.c
	Added H5Tinsert_array() for inserting an array member into a
	compound data type.  Added support to the struct conversion
	function for member arrays.  The index permutation is not
	supported yet in the conversion (source and destination must
	have the same permutations).
1998-07-08 11:46:16 -05:00
Robb Matzke
cf419d05ab [svn-r454] Changes since 19980702
----------------------

./src/H5T.c
	Prints statistics for no-op conversions also.

	For now, hardware floating point conversions may or may not
	raise SIGFPE depending on the hardware, operating system,
	etc.  Software conversions never raise SIGFPE and use +Inf or
	-Inf for overflow.

./test/dtypes.c
	Catches SIGFPE and causes the test to be skipped.  Better test
	for NaN.

./config/irix5.3
	Removed the -U_POSIX_SOURCE because it was removed from the
	main makefiles.

./bin/trace
./src/H5S.c
	Fixed a typo that prevented tracing info from being added to
	new API functions.
1998-07-06 18:02:32 -05:00
Robb Matzke
1b3a1f8014 [svn-r437] Changes since 19980612
----------------------

./src/H5Tbit.c
./src/H5Tpkg.h
	Fixed a bug in H5T_bit_copy(). Added H5T_bit_get_d() and
	H5T_bit_set_d() which treat portions of a bit vector as an
	unsigned integer. Added H5T_bit_inc() that increments part of
	a bit vector and returns an indication of overflow.

./src/H5Tconv.c
./src/H5Tpkg.h
./test/dtypes.c
	Added a slow general floating point conversion which works so
	far on Intel, MIPS, and DEC but the test is turned off because
	a cast from double to float will cause a SIGFPE on some
	systems if an overflow occurs.

	Added fast hardware conversions between native floating point
	types.  This function is also subject to the SIGFPE problem.

./src/H5detect.c
	Removed the exponent bias adjustment when the significand
	isn't normalized.  This is now handled in the conversion
	functions instead.

./src/H5T.c
	Register new conversion functions.

	Plugged a memory leak in the library termination code.

./RELEASE
	Added a list of major changes since the first alpha.

./src/H5.c
./src/H5private.h
./src/H5A.c
./src/H5AC.c
./src/H5D.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5G.c
./src/H5Gprivate.h
./src/H5HG.c
./src/H5O.c
./src/H5T.c
./src/H5Tbit.c
./src/H5Tconv.c
	Fixed various compiler warnings on Irix64.

./src/H5MM.c
	Added PABLO_MASK to this file.

./test/chunk.c
	Removed a warning about memcpy().
1998-06-30 16:30:28 -05:00
Robb Matzke
4bf629adc9 [svn-r435] ./INSTALL
./INSTALL_MAINT
./README
./RELEASE
	Partially updated for second alpha, but haven't updated
	version numbers yet.

./src/H5.c
./src/H5A.c
./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5I.c
./src/H5MM.c
./src/H5MMprivate.h
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5S.c
./src/H5T.c
./src/H5Tconv.c
./src/H5detect.c
./test/hyperslab.c
./test/istore.c
	Changed memory allocation functions so they fail instead of
	dumping core.  The `x' was removed from the name to remind us
	of that: H5MM_xmalloc() -> H5MM_malloc(), etc.

	H5MM_calloc() takes one argument like H5MM_malloc() instead of
	two like calloc() because we almost always called it with `1'
	for one of the arguments anyway.  The only difference between
	the two functions is that H5MM_calloc() returns memory which
	is initialized to zero.

./src/H5Gent.c
./src/H5Gprivate.h
	Removed H5G_ent_calloc() since it wasn't used.

./src/H5Fistore.c
	Fixed a bug found by Albert.  Thanks, Albert!  This fix
	combined with the changes to memory allocation prevent the
	library from failing an assertion if the application uses an
	unreasonable size for chunks (like Alberts 10000x10000x4).

./src/H5MF.c
./src/H5MFprivate.h
	Changed H5MF_free() to H5MF_xfree() since calling it with an
	undefined address is allowed.
1998-06-22 22:41:22 -05:00
Robb Matzke
23465486ed [svn-r432] Changes since 19980617
----------------------

./html/Datatypes.html
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5detect.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/external.c
./test/tattr.c
./test/th5s.c
	Organized the predefined data types.

./html/H5.intro.html
	NO MODIFICATIONS!  This file is a mess (obviously generated
	from something else) so I skipped updating it!

./src/h5ls.c
./test/dsets.c
./test/tattr.c
./test/th5s.c
	Added extra argument to H5Sget_dims() calls per Albert's last
	update.
1998-06-18 16:03:30 -05:00
Robb Matzke
53916f4e59 [svn-r428] Changes since 19980612
----------------------

./src/H5Tbit.c
./MANIFEST
./test/Makefile.in
./test/bittests.c	NEW
	Finished the bit vector operations and added test cases.

./src/H5Tconv.c
./test/dtypes.c
	Finished integer->integer general conversion and added test
	cases. Overflows and underflows are handled by substituting
	the closest possible value.  Examples:

	   (unsigned)0xffff -> (unsigned)  0xff
	   (  signed)0xffff -> (unsigned)0x0000
	   (unsigned)0xffff -> (  signed)0x7fff
	   (  signed)0x7fff -> (  signed)  0x7f
	   (  signed)0xbfff -> (  signed)  0xbf
	   (  signed)0x8000 -> (  signed)  0x80

./src/H5private.h
	Added definitions for MIN and MAX that take 3 or 4 arguments:
	MIN3(), MIN4(), MAX3(), MAX4(). Also added MIN2() and MAX2()
	as aliases for MIN() and MAX().

./test/tattr.c
	Removed some redundant `&' operators.

./configure.in
./src/H5config.h.in	[regenerated]
./src/H5.c
	Fixed warnings on DEC where long double is the same as
	double.
1998-06-16 14:38:26 -05:00
Robb Matzke
ac4c35cca5 [svn-r418] ./html/Files.html
./src/H5F.c
./src/HFcore.c
./src/H5Ffamily.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5MF.c
./src/H5P.c
./src/H5Ppublic.h
	Added H5Pset_alignment() so that it is now possible to align
	file allocation requests on application-specified
	boundaries. Any request >= the specified threshold will begin
	on an address which is a multiple of the specified
	alignment. Defaults are one for threshold and alignment. The
	alignment is done on relative addresses, so the size of the
	user block can affect the location of the data in the file.

./src/H5D.c
./src/dsets.c
	Added a test for, and fixed the data space caching bug in
	datasets.  Extending a dataset through one handle will cause
	all other handles to the same dataset to get the new dataset
	size.

./src/H5S.c
./src/H5Sprivate.h
	Removed an unused argument from H5S_read() which duplicated
	information from the other argument.

./config/linux
	Made `--enable-parallel' the default on my system.  It used to
	be that way before but then I accidently turned it off and
	forgot about it.

./src/H5Fmpio.c
	Qualified some function arguments with __unused__.  Changed a
	couple places where NULL was returned on error for herr_t
	functions.

./src/H5P.c
	Removed unused autos from H5Pset_mpi().
1998-06-10 09:43:15 -05:00
Robb Matzke
a63ccc0c6b [svn-r409] Changes since 19980604
----------------------

./html/Datatypes.html
	Updated documentation for named data types and type sharing.

./src/H5Farray.c
	Split a couple long lines.

./src/H5T.c
	The H5T_copy() demotes immutable types to read-only types so
	they're cleaned up properly and memory is not leaked.

./test/dtypes.c
	Modified to be more consistent with other tests.  Removed all
	internal header files, constants, types, and functions calls
	since the API is now complete enough to test
	everything. Temporary files are now removed.
1998-06-04 22:35:31 -05:00
Robb Matzke
15f2fb8184 [svn-r408] ./test/dtypes.c
Added tests for transient and named types and their use in
	datasets.

./test/shtype.c
	Commented out all the tests since they no longer apply.

./test/chunk.c
	Removed a couple int->double coercion warnings.
1998-06-04 17:28:11 -05:00
Robb Matzke
d392756a1b [svn-r400] Changes since 19980513
----------------------

./html/Datasets.html
	Fixed a couple of typos.

./src/H5.c
	Added the `Z' modifier to HDfprintf() for `size_t' sizes.  Use
	it like this:
	   HDfprintf(stderr,"size is %Zd\n", (size_t)x);

./src/H5AC.c
./src/H5F.c
./src/H5Fprivate.h
	The maximum number of meta data objects that can be cached can
	be set from the application (but the library might not honor
	it every time; it's a hint).

./src/H5D.c
	Changed a warning message so it's not so alarming.

./src/H5Fistore.c
	Chunks can be cached.

./src/H5O.c
./src/H5Oprivate.h
	Added H5O_copy() and H5O_free() to copy and free messages.

./src/H5P.c
./src/H5Ppublic.h
	Added H5Pset_cache() and H5Pget_cache() and changed lots of
	"template" to "property list".

./src/H5Z.c
./src/H5Zpublic.h
	Miscellaneous little things to clean up.  Mostly just removed
	H5Z_MAXVAL and added H5Z_USERDEF_MIN and H5Z_USERDEF_MAX.

./MANIFEST
./test/Makefile.in
./test/chunk.c		[NEW]
	Added a performance test for chunk caching.  It looks at the
	amount of I/O instead of timing because timing is partly
	dependent on the chunk size and I wanted a measurement that
	was a function of only the cache size.  Run `chunk' with no
	arguments and then say `gnuplot x-gnuplot' to see the plots
	(press return between plots). Postscript files are created for
	each plot.

./test/big.c
./test/cmpd_dset.c
./test/extend.c
./test/external.c
./test/gheap.c
	Added H5F_ACC_DEBUG so we can see cache performance
	statistics.
1998-05-22 10:05:53 -05:00
Robb Matzke
66071d5078 [svn-r377] Changes since 19980424
----------------------

./src/H5A.c
./src/H5T.c
	Fixed memory leaks.  More to come later but PureAtria doesn't
	make a Linux version of purify and the free version doesn't
	compile with the new SMP Linux kernels so I had to debug over
	the internet on a day that Sprint seemed to be having routing
	problems... oh well.  I got rid of most of the leaks.

./src/H5Apublic.h
	Includes H5Ipublic.h for types in the header file.

./src/H5O.c
	Comments improved for H5O_read()

./test/tattr.c
	Removed a non-ANSI empty initializer.

./test/dsets.c
	Include <string.h>

./test/istore.c
	Fixed a non-ANSI pointer conversion.
1998-04-28 08:59:08 -05:00
Robb Matzke
98b5a7f9c5 [svn-r375] *** empty log message *** 1998-04-24 12:20:27 -05:00
Quincey Koziol
5d3d452005 [svn-r362] Added Attribute (H5A) test 1998-04-23 17:24:52 -05:00
Robb Matzke
011457075e [svn-r353] Changes since 19980414
----------------------

./html/Compression.html          [NEW]
./html/Datasets.html
./html/H5.format.html
./html/H5.user.html
        Documented compression.  A couple of the H5P functions aren't
        quite implemented yet but they're coming soon...

./src/H5Dprivate.h
./src/H5E.c
./src/H5Epublic.h
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocomp.c         [NEW]
./src/H5Oprivate.h
./src/H5P.c
./src/H5Ppublic.h
./src/H5Sprivate.h
./src/H5Ssimp.c
./src/H5Z.c             [NEW]
./src/H5Zprivate.h      [NEW]
./src/H5Zpublic.h       [NEW]
./src/Makefile.in
./src/hdf5.h
./test/dsets.c
./test/istore.c
        Compression is now mostly working.  Don't try to open a
        compressed dataset though because the compression message
        won't be read.

./html/Datatypes.html
./html/H5.api.html
./src/H5.c
./src/H5private.h
./src/H5D.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
        Added timing support.  When compiled with H5T_DEBUG defined
        the library will print conversion bandwidths when the library
        closes.  The H5Tregister functions take a string as the first
        argument so the statistics output is meaningful.

./MANIFEST
        Added new files.

./configure.in
./src/H5config.h.in
        Check for getrusage().  Check for compress2() in libz.a and
        the zlib.h header file.  Added `z' to the debug list.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
./src/debug.c
        Cleaned up some indentation and added support to print istore
        B-trees.  From the debugger, give the B-tree address and the
        dimensionality from the layout message of the object header.

./src/h5ls.c
        The oid is printed as  wy:z where w and x are the file ID
        and y and z are the OID within the file.  You can give z or
        y*2^32+z as an argument to the debugger to print the object
        header for the object.

./src/H5AC.c
        Cleaned up statistics and made them match those reported by
        H5T and H5Z.

./src/H5MM.c
./src/H5MMprivate.h
./src/H5Fistore.c
        Finally got rid of a couple of long-standing const cast
        warnings.
1998-04-17 16:29:43 -05:00
Robb Matzke
b6fc6ede10 [svn-r346] Changes since 19980410
----------------------

./html/H5.format.html
./src/H5E.c
./src/H5Epublic.h
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/h5ls.c
./test/Makefile.in
	Symbolic links are now supported.  The ./test/links program
	will create a `links.h5' file that demonstrates hard links,
	soft links, dangling links, and recursive links.  A symbolic
	link is a symbol table entity and doesn't have an object
	header.  It's format is described in H5.format.hml.

./src/H5G.c
./src/H5Gpublic.h
./src/h5ls.c
	Implemented H5Gstat() and H5Gget_linkval() as documented by
	Quincey.  The `H5G_type_t type' field of `H5G_stat_t' was
	changed to `int type' because H5G_type_t was already used and
	the `type' data type should be open-ended.

./src/H5Ffamily.c
	Removed an incorrect diagnostic message.

./test/big.c
	Added read/write calls to test partial I/O to big contiguous
	datasets.  With no arguments it writes to a dataset and prints
	the list of points written which should be redirected to a
	file.  With an argument (the name of a file containing the
	stdout of a run with no arguments) values are read from the
	dataset.  One would typically say `big >x && big x'.
1998-04-14 11:44:46 -05:00
Robb Matzke
c96611f8b5 [svn-r339] Changes since 19980408
----------------------

./src/H5Osdspace.c
./html/H5.format.html
	In the past we were allowed to have >2GB files on a 32-bit
	machine as long as no dataset within the file was larger than
	4GB (or whatever sizeof(size_t) is).  That's been fixed now.
	All dataset size calculations are done with `hsize_t' which is
	normally defined as `unsigned long long'.

./src/H5F.c
./src/H5Ffamily.c
./src/H5Fprivate.h
./src/H5P.c
./src/H5Ppublic.h
	The file family member size can now be set/queried.  The
	default is still 64MB, but it can be set to 1GB by saying:

	    H5Pset_family (plist, 30, H5P_DEFAULT);

	When opening an existing file family the specified
	bits-per-member is ignored and the first member of the family
	determines the bits-per-member, which can be retrieved with
	H5Pget_family().

./acconfig.h
./configure.in
./src/H5config.h
./src/H5public.h
	Added `--disable-hsizet' so that those with old GCC compilers
	(<2.8.1) can still compile the code.


./src/H5.c
./src/H5private.h
	Added HDfprintf() which works just like fprintf() except you
	can give `H' as a size modifier for the integer conversions
	and supply an `hsize_t' or `hssize_t' argument without casting
	it.  For instance:

	    hsize_t npoints = H5Sget_npoints(space);
	    HDfprintf(stdout,"Dataset has %Hd (%#018Hx) points\n",
		      npoints, npoints);

	You can now give `%a' as a format to print an address, but all
	formating flags are ignored and it causes the return value of
	HDfprintf() to not include the characters in the address (but
	who uses the return value anyway :-). Example:

	    H5G_t *grp;
	    HDfprintf(stdout, "Group object header at %a\n",
	              &(grp->ent.header));

	Added HDstrtoll() which works exactly like [HD]strtol() except
	the result is an int64.

./src/debug.c
	Large addresses can now be entered from the command-line.  Use
	either decimal, octal (leading `0') or hexadecimal (leading
	`0x') when giving the address.

./src/h5ls.c
	The printf format for dataset dimensions was changed to `%Hu'
	to support large datasets.

./test/big.c		[NEW]
	A test for big datasets on 32-bit machines.  This test is not
	run by default.  Don't try to run it on an nfs-mounted file
	system or other file system that doesn't support holes because
	it creates two 32GB datasets of all zero.
1998-04-09 15:22:11 -05:00
Robb Matzke
c01750fa74 [svn-r338] Changes since 19980407
----------------------

./src/H5B.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5S.c
./src/H5Sprivate.h
./src/H5Spublic.h
./src/H5Ssimp.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5V.c
./src/H5Vprivate.h
./src/H5private.h
./src/H5public.h
./src/h5ls.c
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/external.c
./test/hyperslab.c
./test/iopipe.c
./test/istore.c
./test/shtype.c
./test/tfile.c
./test/th5s.c
	Anything having to do with the size of a dataset now uses the
	types `hsize_t' and `hssize_t' which must be the same size and
	at least as large as `size_t'.  This isn't fully tested yet,
	so hsize_t and hssize_t are defined as size_t and ssize_t in
	H5public.h.  Setting them to larger values will trip up gcc
	versions less than 2.8.1 on x86 platforms.

	Documented unused function formals with `__unused__' before
	the formal name.  This also has the effect of supressing
	warning messages for gcc since it's defined to be
	`__attribute__((unused))' in the H5private.h file.

./src/debug.c
./src/h5ls.c
	If the file name contains a `%' then the file is opened as a
	file family with H5P_DEFAULT for the file member access
	property list.

./src/h5ls.c
	The group name is optional, defaulting to `/'.

./src/hdf5.h
	Added some missing public header files.
1998-04-08 16:43:02 -05:00
Robb Matzke
92571bbe1d [svn-r336] Changes since 19980402
----------------------

./MANIFEST
./test/Makefile.in
./test/shtype.c		[NEW]
	Added some tests for shared data types.

./configure.in
	Removed MF and HL from the default debug list since.  MF
	because it hasn't been implemented yet and HL because it
	produces lots of annoying messages about adjusting the size of
	local heaps.

./src/H5F.c
./src/H5T.c
./src/H5Tprivate.h
	Fixed a bug with opening the same file twice.  The first close
	on the file_id incorrectly closed shared data structs.
	Closing a file now correctly unshares data types that might be
	pointing into that file.

./src/H5T.c
./src/H5Tpublic.h
	Added an H5Tis_shared().  The caller supplies a file and a
	data type and the function returns true if the data type is
	currently marked for sharing in that file.

./src/H5AC.c
./src/H5F.c
./src/H5HL.c
./src/H5HG.c
./src/H5MF.c
./src/H5O.c
	We now detect errors sooner when writing to a read-only
	file. In the past, the error might not show up until the
	cached item was flushed, and it was sometimes possible to not
	even get an error!

./src/H5I.c
./src/H5Iprivate.h
	If the search function fails then H5I_search() returns
	failure.  Also, the first argument for the search function
	isn't const anymore because we might want the search to have
	side effects (like calling H5T_unshare() for all shared data
	types whose file just closed).
1998-04-03 16:11:05 -05:00
Robb Matzke
a780cdd178 [svn-r335] Changes since 19980330
----------------------

./MANIFEST
./src/Makefile.in
./test/Makefile.in
        Added new files.

./config/linux
./src/H5HL.c
./src/H5HLprivate.h
./src/H5MF.c
./src/H5MFprivate.h
        Added `-DH5HL_DEBUG -DH5MF_DEBUG' to the debug list.

./html/H5.format.html
        Updated shared object message information.

./src/H5D.c
        Datasets can now share data types.

./src/H5F.c
        Updated a comment that referred to H5ACC_WRITE.

./src/H5HG.c
./src/H5HGprivate.h
        Moved a few things around.  Made debugging better so you can
        now give a collection address to ./src/debug and it shows some
        useful stuff.

./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c       [NEW]
./src/H5Ostab.c
        Supports shared messages.

./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
        The H5Tshare() function allows the user to give the library
        hints about how a data type will be used.

./test/shtype.c
        Tests the H5Tshare() function.

./test/gheap.c
        Tests the global heap.

./configure.in
./config/BlankForm      [NEW]
./config/alpha-dec
./config/freebsd2.2.1
./config/hpux10.20
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
        Cleaned up lots of configuration stuff and made the site
        configuration files lots easier and more uniform.  To make a
        new file grab the BlankForm and modify it.

        By default, debugging is turned on for most packages.  Within
        a package one can use `#ifdef H5AC_DEBUG' to wrap debugging
        code.  Other options are:

           --enable-debug
           --enable-debug=yes
               The default, most but not all packages.

           --disable-debug
           --enable-debug=no
           --enable-debug=none
               The symbol NDEBUG is defined and none of the package
               debug symbols.

           --enable-debug=all
               Debugging is turned on for all packages.  This might
               produce lots of output.

           --enable-debug=g,d
               Debugging is turned on for H5G and H5D.

        A compile mode is also now supported

           --enable-production
           --enable-production=yes
               The library is compiled with optimizations turned on.
               The compiler flags are augmented by adding PROD_CFLAGS
               and PROD_CPPFLAGS which are defined in the site config
               file.

           --disable-production
           --enable-production=no
               The default.  The library is compiled for development
               by including DEBUG_CFLAGS and DEBUG_CPPFLAGS defined in
               the site config file.  This is usually just `-g'.

           --enable-production=profile
           --enable-production=pg
               Builds a library for profiling by including the flags
               from PROFILE_CFLAGS and PROFILE_CPPFLAGS defined in the
               site config file.  This is usullay just `-pg' but it
               could include optimization flags as well depending on
               the type of profile one wants.

        In summary, configure by saying `./configure' and you'll get a
        development version of the library.  Configure by saying
        `./configure --enable-production --disable-debug' and you'll
        get a production version with no debugging code.
1998-04-02 22:29:38 -05:00
Robb Matzke
78c1574378 [svn-r333] Changes since 19980324
----------------------

./MANIFEST
./src/H5HG.c		[new]
./src/H5HGprivate.h	[new]
./src/H5HGpublic.h	[new]
./src/Makefile.in
	Added global heaps, H5HG.  This compiles but is untested.

./src/H5D.c
./src/H5G.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5HL.c		[renamed from H5H.c]
./src/H5HLprivate.h	[renamed from H5Hprivate.h]
./src/H5HLpublic.h	[renamed from H5Hpublic.h]
./src/H5Oefl.c
./src/Makefile.in
./src/hdf5.h
./test/theap.c
	Renamed local heaps from H5H to H5HL.

./src/H5AC.c
./src/H5ACprivate.h
./src/debug.c
	Added debugging support for global heap collections.

./html/H5.format.html
	Ripped out the old small object heap documentation and added
	documentation for the new global heap.

./html/H5.api.html
./src/H5P.c
./src/H5Ppublic.h
./src/H5F.c
./src/H5Fprivate.h
./src/H5private.h
	The H5Pget_version() function no longer returns a small object
	heap version number.  Instead, each collection of the global
	heap has its own version number instead of a single number in
	the file boot block.

./bin/release
	Omit files marked for removal by CVS even though the removal
	hasn't been committed yet.

./test/iopipe.c
	Removed warnings about casting unsigned int to double on Irix64.

./MANIFEST
	Removed ./test/testpar/phdf5sup.c
1998-03-30 14:24:08 -05:00
Robb Matzke
2fd149a582 [svn-r325] Changes since 19980317
----------------------

./MANIFEST
./configure.in
./configure
./Makefile.in
./bin/distdep		[NEW]
./config/conclude.in
./config/depend.in
./src/.distdep		[NEW]
./test/.distdep		[NEW]
	Added some code so non-GNU systems have a list of dependencies
	between the .c files and the .h files.  Hopefully this works
	and y'all don't have to keep saying `make clean' each time you
	change a header.

	On systems with GNU make, GCC, and Perl, the dependency
	information is generated automatically from rules in
	config/depend.in as has always been done.  But now extra files
	called `.distdep' (for `distributable dependencies) are left
	in each directory and these are part of CVS and thus
	releases.  (A `make dep' will create dependencies on demand
	without doing anything else.)

	On systems lacking one or more of the tools above, the various
	`.distdep' files are inserted into the end of the Makefiles.
	If you do developement on one of these systems you'll have to
	update the `.distdep' and/or Makefile by hand, or wait until
	you have access to a GNU system and do a `make dep'.
1998-03-18 13:09:16 -05:00