Commit Graph

373 Commits

Author SHA1 Message Date
Robb Matzke
8831ff175c [svn-r210] Changes since 19980130
----------------------

./MANIFEST
./html/study.html		[NEW]
./html/study_1000x1000.gif	[NEW]
./html/study_250x250.gif	[NEW]
./html/study_499x499.gif	[NEW]
./html/study_5000x1000.gif	[NEW]
./html/study_500x500.gif	[NEW]
./html/study_p1.gif		[NEW]
./html/study_p1.obj		[NEW]
	The conclusions from a study of the HDF5 chunking
	layout. Shows overhead and disk seeking.
1998-01-30 22:47:38 -05:00
Robb Matzke
374e5ae39b [svn-r209] Changes since 19980130
----------------------

./INSTALL
	Added instructions for which C flags to set for debugging.

./src/H5C.c
./src/H5Cpublic.h
	H5Cset_chunk() takes const pointer.

./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
	Added H5Dextend() to extend the dimensions of a dataset.

./src/H5Osdspace.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5Ppublic.h
./test/cmpd_dset.c
./test/dsets.c
./test/th5p.c
	Added the optional `maxdims' argument to H5Pcreate_simple()
	and defined constant H5P_UNLIMITED which can appear in the
	maxdims.  Added `const' to arguments.

	Implemented H5Pcopy()

	Removed the unused file argument from H5P_modify.

	Added H5P_extend().

	Removed the `flags' field from simple data types and we
	determine if the `max' or `perm' arrays are valid by looking
	at the pointer.  Cleaned up the H5O_sdspace_debug output.

./src/H5T.c
	Fixed a printf format.

./MANIFEST
./test/Makefile.in
./test/extend.c			[NEW]
	Added a test for multi-dimensional unlimited dimensions.
1998-01-30 18:32:28 -05:00
Robb Matzke
5761b90f63 [svn-r196] Changes since 19980128
----------------------

./MANIFEST
	Added new files.

./bin/Makefile.dist		[NEW]
	This file becomes the default top-level Makefile which invokes
	configure with no arguments and then re-runs make.  It's for
	those people that don't read the INSTALL file.

./bin/release			[NEW]
	Build HDF release tarballs.  Arguments are a list of tarball
	types and are: tar, compress, gzip, or bzip2.  The default is
	gzip. If the only argument is `all' then all types of tarballs
	are created.  The results are put in the `releases' directory.
	Make sure you keep MANIFEST up to date.  This program requires
	perl-5.003 or better.

./src/H5AC.c
	Fixed a printf format.
1998-01-29 11:31:24 -05:00
Robb Matzke
d4a3224c0f [svn-r193] Changes since 19980128
----------------------

./MANIFEST
	Added new config files.

./src/H5private.h
	Changed FUNC_ENTER() so it calls H5Eclear() for all API
	functions but not for any private functions.  It also prints
	the names of all API functions on file 55 (just for the
	prototype) so we can get a list of API functions called with
	the Bourne shell commands like:

		./testhdf5 55>api_list		or
		./testhdf5 55>&1 1>/dev/null 2>&1 | less

	Otherwise the names are silently discarded.

./src/H5.c
./src/H5C.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5M.c
./src/H5P.c
./src/H5T.c
	Removed `H5ECLEAR' from lots of places in the source code.

./src/H5E.c
./src/H5Eprivate.h
	Recursion is a problem here, so to disable a call to
	H5Eclear() from FUNC_ENTER just define a local variable like
	this before you call FUNC_ENTER:

	     const H5E_clearable_g = FALSE;

	Unfortunately this results in a warning: declaration of
	`H5E_clearable_g' shadows global declaration.  Good thing it's
	only used in two places.
1998-01-28 16:43:08 -05:00
Robb Matzke
8a8b71b3f5 [svn-r171] Changes since 19980126
----------------------

./MANIFEST
        Added new files.

./config/linux
        Added `-pipe' to the default GCC flags since this is supposed
        to result in better performance on a multi-processor machine.

./html/Datasets.html
./html/dataset_p1.gif           [NEW]
./html/dataset_p1.obj           [NEW]
        Updated to match source.  The things which aren't part of the
        Feb-1 prototype are marked in bold. Added an example for
        partial I/O.

./html/Groups.html              [NEW]
./html/group_p1.gif             [NEW]
./html/group_p1.obj             [NEW]
./html/group_p2.gif             [NEW]
./html/group_p2.obj             [NEW]
./html/group_p3.gif             [NEW]
./html/group_p3.obj             [NEW]
        New documentation for groups.

./html/H5.sample_code.html
        Updated two examples to match code.
1998-01-27 14:35:36 -05:00
Robb Matzke
6ee36e2b3a [svn-r168] Changes since 19980122
----------------------

./MANIFEST
	Added new files.

./src/H5D.c
	Added support for partial datatype I/O which is needed when
	merging struct members between file and disk.  This isn't the
	efficient version because the merge requires an extra gather
	(step 1b in my pipeline diagram) that isn't turned off when it
	isn't needed.

./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
	Conversion functions take an extra argument which is a pointer
	to a blob of private data that can be used by the conversion
	function to save anything that's expensive to compute and
	is constant for a particular conversion path.

./src/H5Tconv.c
	Compound data type conversion is beginning to work!  We can
	handle conversions between compound types that have members
	which are not arrays.  It also supports partial conversion so
	we can omit certain members of the source and not clobber
	extra members in the destination.

./test/Makefile.in
./test/cmpd_dset.c	[NEW]
	Added a test case that demonstrates how to use compound data
	types in a dataset.  The output doesn't match the output of
	the other test cases yet, the the entire example is more
	readable and written entirely with the API.
1998-01-23 14:53:37 -05:00
Robb Matzke
f5cc0548b8 [svn-r161] Changes since 19980121
----------------------

./MANIFEST
./src/H5Psimp.c		[NEW]
./src/Makefile.in
	Added H5Psimp.c and populated it with some conversion
	functions. Eventually the parts of H5P.c that operate on
	simple data spaces will be migrated to H5Psimp.c and other
	files will be created for other types of data spaces.

./src/H5D.c
	The read pipeline, H5Dread(), has been updated to handle data
	space conversion although the actual simple data space
	conversion functions don't do anything yet. But we're getting
	really close!

./src/H5P.c
./src/H5Pprivate.h
	Added H5P_find() to locate data space conversion functions.
	Added typedefs for structs related to data space conversion.
1998-01-21 15:01:02 -05:00
Robb Matzke
74618e3670 [svn-r155] Changes since 19980114
----------------------

./html/Datasets.html
	Removed some archaic comments about data spaces. Fixed example
	code.

./MANIFEST
./html/H5.format.html
./src/H5O.c
./src/H5Oprivate.h
./src/H5Ocstore.c		[DELETED]
./src/H5Oistore.c		[DELETED]
./src/H5Olayout.c		[NEW]
./src/Makefile.in
./test/istore.c
	Replaced H5O_CSTORE and H5O_ISTORE messages with a more
	general H5O_LAYOUT message.

./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
	A little more work on the pipeline.  Access to the file data
	is through the new H5F_arr_read() and H5F_arr_write() which do
	I/O on hyperslabs of byte arrays and don't depend on data
	layout.  This should simplify the I/O pipeline quite a bit.

	I also added another argument to H5Dread() and H5Dwrite() to
	describe the hyerslab of the file array on which I/O is
	occuring. We discussed this at last week's meeting.

./src/H5Farray.c		[NEW]
	Added functions that sit on top of H5F_block_read() and
	H5F_istore_read() and implement a common set of functions
	between all layouts.  This means I/O of hyperslabs of
	byte-arrays in the file to arrays of bytes in memory.  When
	operating on arrays of elements (>1byte) then we just add
	another dimension.  That is, a 10x20 array of int32 becomes a
	10x20x4 array of bytes.

	[This is the area I'll be working on most of next week to
	implement partial I/O for contiguous data and to improve
	performance for chunked data.]

./src/H5Fistore.c
./src/H5Fprivate.h
	Replaced the H5F_istore_t data type with the layout message
	H5O_layout_t which looks almost the same.  Eventually I'd like
	to rename `istore' to `chunked' everywhere and use `istore'
	for 1-d storage where the chunks are all different sizes like
	in the small object heap where each object is a chunk.

./src/H5V.c
	Changed ISTORE to LAYOUT in one place.

./test/dsets.c
	Fixed for extra argument to H5Dread() and H5Dwrite().
1998-01-16 14:52:04 -05:00
Robb Matzke
d70c7d7a64 [svn-r153] Changes since 19980108
----------------------

./MANIFEST
./src/H5Dconv.c		[REMOVED]
./src/H5Tconv.c		[NEW]
./src/Makefile.in
	Changed H5Dconv.c to H5Tconv.c

./html/Datatypes.html
	Updated data type conversion section.

./html/H5.apiv2.html
	Removed sections about datasets and data types since they're
	covered in their own chapters.

./src/H5D.c
	Supports data type conversion.

./src/H5Odtype.c
./src/H5Tpkg.h
	Changed `lo_pad' and `hi_pad' to `lsb_pad' and `msb_pad'.

./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
./src/H5detect.c
	Added predefined data types. Added query/set more
	properties. Added type conversion infrastructure.

./test/dsets.c
	Tests data type conversion during read.
1998-01-14 14:42:59 -05:00
Robb Matzke
1d17defdfc [svn-r150] Changes since 19971219
----------------------

./src/H5private.h
        Changed HDF5_MAJOR_VERSION to 5

./src/H5Aprivate.h
./src/H5Apublic.h
        Added group atoms.

./src/H5D.c
./src/H5P.c
./test/istore.c
./test/tohdr.c
./test/tstab.c
        Updated for symbol table interface changes.

./src/H5F.c
./src/H5Fprivate.h
        Simpler handling of special case files: empty files and files
        with a single object.

./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gpublic.h
./src/H5Gshad.c         (DELETED)
./src/H5Gstab.c
./src/Makefile.in
        Removed shadows, simplifying code.  Symbol table entries are
        allowed to cache only constant meta data.  Fixed naming.

./src/H5O.c
./src/H5Oprivate.h
        Access to object headers is always done through a symbol table
        entry instead of a file address.  Added stubs for opening and
        closing object headers to be used when deletion is implemented.
1998-01-05 22:07:15 -05:00
Robb Matzke
3c16901751 [svn-r144] *** empty log message *** 1997-12-11 16:34:05 -05:00
Robb Matzke
250ff23f4f [svn-r141] ./MANIFEST
Removed H5config.h since it's generated from H5config.h.in.
1997-12-11 13:48:28 -05:00
Robb Matzke
61e2bdd49a [svn-r137] ./MANIFEST
Added/removed files
1997-12-10 17:38:07 -05:00
Robb Matzke
cdeeb5553a [svn-r136] ./MANIFEST
./src/Makefile.in
	Added H5Ffamily.c and H5Fsplit.c

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
	Added `const' to sublass arguments.

./src/H5F.c
./src/H5Flow.c
./src/H5Fsec2.c
	Make sure file buffers get flushed during a call to
	H5Fflush().  Check for overflow in address encoding and decoding.

./src/H5Ffam.c
./src/H5Fprivate.c
./test/istore.c
	Implementation of file families so 32-bit machines can access
	64-bit files.

./src/H5Oprivate.h
	Removed H5O_NO_ADDR constant.

./config/freebsd2.2.1
./config/linux
	Added -DH5G_DEBUG and -DH5F_DEBUG to the list of debugging flags.

./html/H5.format.html
	Changed some <offset>-sized things to <length>-sized things.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5B.c
./src/H5Bprivate.h
./src/H5C.c
./src/H5D.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gshad.c
./src/H5Gstab.c
./src/H5H.c
./src/H5Hprivate.h
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Oistore.c
./src/H5Oprivate.h
./src/H5Ostab.c
./src/H5Ostdst.c
./src/H5pivate.h
./src/debug.c
./test/istore.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
	Lots of changes caused by generalizing addresses.  The haddr_t
	is now a struct, so you can no longer perform arithmetic on
	it. But since it's small, simple, and often used, storage is
	allocated like with an integer.  But we always pass them
	around by reference.  That is, when using an address in
	another struct, allocate space:

		struct my_struct {
		   char *name;
		   haddr_t address;
                } x;

	But when passing it to a function, pass by reference:

		H5F_addr_print (stderr, &(x.address));

	Addresses should be initialized with

		H5F_addr_undef (&(x.address));

	Functions for operating on addresses are in H5Flow.c and begin
	with H5F_addr_...  Functions never return haddr_t or haddr_t*;
	they always pass them through arguments instead. A function
	that returns an address through an argument does so with its
	last argument and it is marked with `/*out*/'.  Calls to such
	functions also mark output-only arguments with `/*out*/'

./src/H5Fsplit.c       (new)
	A two-member family where all meta data goes in the first
	member and all raw data goes in the second member.

./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5H.c
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
	Differentiate between meta data storage and raw data
	storage. Provide a mechanism so that the file driver can
	extend the file to allocate more memory.

./src/H5E.c
./src/H5Epublic.c
	Added the error H5E_TRUNCATED to be reported when the file is
	shorter than the length recorded in the boot block.

./src/H5F.c
	Added H5F_locate_signature() so we only do it in one place
	now.

./INSTALL
./INSTALL_MAINT
	Just a couple clarifications.

./html/ExternalFiles.html
./html/storage.html
	Documents how external files work.

./test/hyperslab.c
./test/istore.c
	Fixed printf's on 64-bit machines.

./test/istore.c
	Added ifdef's to test the split file driver.
1997-11-14 09:42:14 -05:00
Robb Matzke
7389762766 [svn-r135] ./config/linux
./config/freebsd2.2.1
        Rewritten to be more flexible.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5F.c
./src/H5H.c
./src/H5Gpkg.h
./src/H5Gshad.c
./src/H5O.c
./test/istore.c
./test/tstab.c
        Accumulates cache statistics and displays the results on
        stderr when the file is closed if it was opened with
        H5F_ACC_DEBUG passed into H5F_open()

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5Gnode.c
        Added more debugging which is turned on if H5B_DEBUG is
        defined on the compile command (see config/linux).

        Fixed a couple of bugs with left insertions which are used by
        the indexed storage stuff.

./src/H5Flow.c
        Fixed a memory leak.

./src/H5Fprivate.h
        Fixed warnings about shifting more than size of object.

./src/H5Fstdio.c
        Fixed seek optimizations back to the way Quincey originally
        had them.

./src/H5V.c
        Removed unused variables.
1997-11-07 00:16:53 -05:00
Robb Matzke
e1e488bd47 [svn-r133] ./MANIFEST
./src/Makefile.in
	Added new files.

./html/H5.apiv2.html
	Added documentation for group stuff.

./src/H5private.h
./src/H5E.c
./src/H5Epublic.h
./src/H5F.c
./src/H5Flow.c			NEW
./src/H5Fprivate.h
./src/H5Fsec2.c			NEW
./src/H5Fstdio.c		NEW
	Low-level file driver is selected at runtime.

./src/H5Fprivate.h
	Got rid of `shift >= sizeof operand' warnings on big endian
	machines.

./src/H5Fistore.c
./test/istore.c
	Still working on indexed storage...

./src/H5H.c
./src/H5Hprivate.h
	Removed alignment constraints.
1997-10-22 17:08:14 -05:00
Robb Matzke
56ad55117a [svn-r129] Changes since 19970916
----------------------

./config/depend.in
	Fixed backslashes in sed script because the H5Gnode.c
	dependency info was disappearing.  You'll have to rerun
	config.status to rebuild the Makefiles unless you use gnu
	make.

./config/conclude.in
	Also removes emacs backup files, TAGS, and svf backup files.

./config/linux
	Grouped gcc flags and added provisions for debugging vs. production.

./html/H5.format.html
	Updated messages 0x0008, 0x0009, and 0x000A.

./html/storage.html
	Documentation describing storage schemes.

./src/Makefile.in
./test/Makefile.in
	New source files.

./src/H5A.c
./src/H5Apublic.h
./src/H5C.c
	Changed VOIDP to void* in a couple places.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/H5H.c
./src/H5O.c
	Removed `const' from some variables because H5G_node_found() wanted
	to modify it's udata argument. Removing const there caused it
	to cascade to these other locations.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5B.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5H.c
./src/H5O.c
	Added an extra argument to H5AC_find_f() and H5AC_protect(). This
	arg gets passed to the load() method.  Also added an extra
	argument to the H5AC_find() macro.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
	Extra argument passed to the sizeof_rkey() method.

./src/H5Fprivate.c
./src/H5Fistore.c (new)
	Added indexed I/O operations.

./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
	Beginning to add H5G_open/close and related bug fixes.

./src/H5Oprivate.h
./src/H5Oistore.c (new)
	Added the H5O_ISTORE messsage (0x0008) for indexed storage of
	objects.

./src/H5private.h
	Added extra braces around both sides of the FUNC_ENTER() and
	FUNC_LEAVE() macros so FUNC_ENTER() can appear before
	declarations or after executable statements the second case is
	used by H5G_namei() to initialize output arguments to sane
	values before FUNC_ENTER() might return failure.

		int f ()
		{
		   int decl1;
		   printf ("This happens before FUNC_ENTER()\n");
		   FUNC_ENTER (...);
		   int another_declaration;

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
	Extra arguments for key encoding and decoding.

./src/H5E.c
./src/H5Epublic.h
./src/H5Fistore.c
./src/H5Oistore.c
./src/H5Oprivate.h
	Indexed, chunked, sparse storage (not ready for general consumption
	yet).

./src/H5V.c		(new)
./src/H5Vprivate.h	(new)
./test/hyperslab.c	(new)
	Vector, array, and hyperslab functions.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5Gnode.c
./src/H5V.c
./src/H5Vprivate.h
./test/hyperslab.c
	Added functionality for indexed storage.

./src/H5F.c
	Fixed problems with seek optimizing.  Recommend we disable it
	until we can implement it in the file/address class since all
	of HDF5 must be aware of it.

./src/H5O.c
	Fixed comeent speling erorr :-)

./MANIFEST
	Added new files.

./config/conclude.in
	Added the word `Testing' to the test cases.  So if a test
	program is called hyperslab then the make output will contain
	the line `Testing hyperslab'.

./config/linux
	The default file I/O library is Posix section 2 on my linux
	machine so I can do some I/O performance testing.

./src/H5C.c
./src/H5Cprivate.h
./src/H5Cpublic.h
	Added ability to set size of indexed-storage B-tree.

./src/H5D.c
./src/H5E.c
./src/H5Epublic.h
./src/H5F.c
./src/H5Fprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gpublic.h
./src/H5Gshad.c
./src/H5Gstab.c
./test/stab.c
	Changed `directory' to `group' in numerous places.

./src/H5private.h
	The FILELIB constant can be set on the compile command-line.

./src/istore.c		     NEW
	Tests for indexed storage.
1997-10-20 18:14:35 -05:00
Robb Matzke
ed9584cc92 [svn-r105] *** empty log message *** 1997-09-21 21:08:01 -05:00
Robb Matzke
d06e2e8eb4 [svn-r98] *** empty log message *** 1997-09-19 11:33:13 -05:00
Robb Matzke
c7ee2a5708 [svn-r93] *** empty log message *** 1997-09-17 10:02:43 -05:00
Robb Matzke
0cd492bb8e [svn-r82] *** empty log message *** 1997-09-15 14:26:24 -05:00
Robb Matzke
2a7ec85d6b [svn-r72] *** empty log message *** 1997-09-10 14:58:12 -05:00
Robb Matzke
8ec38c06f4 [svn-r32] ./INSTALL NEW
Instructions for end users.

./INSTALL_MAINT	        NEW
	Instructions and hints for maintainers.

./MANIFEST		NEW
        A list of names of files that are part of the HDF5
        distribution.

./Makefile.in		NEW
	Top-level makefile template.  See INSTALL and/or INSTALL_MAINT
	for instructions on how to generate the Makefile from this
	file.

./configure		NEW
./configure.in		NEW
	Configuration shell script generated from configure.in.

./Makefile
	Removed from CVS.  This file is now generated by running
	configure.
1997-08-15 11:35:53 -05:00