Commit Graph

616 Commits

Author SHA1 Message Date
Quincey Koziol
a8e53d7884 [svn-r468] Fixed formatting problems and moved H5S_sel_iter_release calls above dataspace
release calls in H5D_read and H5D_write.
1998-07-08 10:05:01 -05:00
Quincey Koziol
bd1e676c52 [svn-r467] Restructuring documentation. 1998-07-08 09:54:54 -05:00
Quincey Koziol
7334509589 [svn-r466] Removed some debugging information that was out of date. 1998-07-07 17:55:22 -05:00
Albert Cheng
2d5b096590 [svn-r465] Replaced old H5Sset_hyperslab with new H5Sselect_hyperslab calls.
Tested on O2K.
1998-07-07 17:28:39 -05:00
Quincey Koziol
5f85a202e2 [svn-r464] Plugged several memory leaks in the hyperslab selection iterators. 1998-07-07 17:14:28 -05:00
Albert Cheng
3748f79ca2 [svn-r463] H5S.c:
Moved the source of H5S_extent_npoints before H5Sextent_npoints to
    reduce a compiler complaint.
H5Shyper.c:
H5Sprivate.h:
H5Spublic.h:
H5Sselect.c:
    Changed the parameter declarations of H5S_hyper_add
    and H5Sselect_hyperslab as originally intended as const hsize *.
1998-07-07 17:12:24 -05:00
Quincey Koziol
5ab92f6c59 [svn-r462] Plugged several memory leaks in the hyperslab selection iterators. 1998-07-07 16:53:41 -05:00
Paul Harten
1bdb53fb6a [svn-r461] Purpose:
The purpose of the change is to correct the H5 filenames declared in
    testphdf5.c when used on the Intel TFLOP PFS system.

Problem:
    The ROMIO library complains of the H5 filenames having no "piofs:",
    "pfs:", "ufs:", or "nfs:" prefixes on the filenames.  The only type
    currently recognized are the "pfs:" prefixes, and the files must
    reside in the Intel TFLOP PFS system: /pfs.

Solution: (REQUIRED)
    The compile flag -DPOOMA_ARCH=TFLOP is added to the list of CFLAGS in
    Makefile.ascired located in the parallel test directory.  This compile
    flag will allow a special set of filenames to be used when compiling
    testphdf5.c on the Intel TFLOP.  In addition, instructions to editing
    the filenames in testphdf5.c to reside in the user's own /pfs directory
    are included in INSTALL.ascired.

Platform tested:
    Intel TFLOP
1998-07-07 16:09:07 -05:00
Robb Matzke
bcf649388c [svn-r460] Changes since 19980707
----------------------

./bin/trace
./src/H5.c
./src/H5private.h
./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5S.c
./src/H5T.c
	Output-only arguments have their addresses printed during
	tracing and added symbolic output for the H5F_driver_t
	arguments.  That's another reason that we should be careful to
	add `/*out*/' after arguments that are output-only and
	`/*in,out*/' after arguments that are used for both input and
	output values.

	No internal function calls H5Pget_class() anymore.

./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
	Added H5Tget_overflow() and H5Tset_overflow() so the
	application can query or set a function that will be called
	whenever an overflow occurs.  Implemented as documented in
	previous e-mail except the overflow handler gets two buffers:
	one that contains the source value and one to receive the
	optional destination value.

./test/dtypes.c
	Tests overflow handler.

./src/H5.c
	We have to declare fdopen() because I'm getting errors when
	compiling on Irix64 even though we include <stdio.h> as
	documented in the fdopen() man page.
1998-07-07 15:13:31 -05:00
Quincey Koziol
63be23d70d [svn-r459] Changed H5Sget_npoints call to H5Sextent_npoints and H5Sselect_npoints calls. 1998-07-07 15:03:50 -05:00
Quincey Koziol
a67faf3172 [svn-r458] Changed H5Sget_npoints call to H5Sextent_npoints and H5Sselect_npoints calls. 1998-07-07 14:10:01 -05:00
Quincey Koziol
27fa4c698f [svn-r457] Fixed another couple of typos in dynamically allocated variables. 1998-07-07 13:10:55 -05:00
Robb Matzke
4327ebda2e [svn-r456] Changes since 19980706
----------------------

./src/H5public.h
	If sizeof(size_t)==sizeof(long long) then we define `hsize_t'
	in terms of size_t to get rid of warnings on systems that
	treat `long long' the same as `long'.
1998-07-07 12:03:02 -05:00
Quincey Koziol
0f166ceda6 [svn-r455] Fixed various const and signed/unsigned problems and corrected one incorrect
type.  Should compile much cleaner now.
1998-07-07 11:14:49 -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
Quincey Koziol
4d3351f1d7 [svn-r453] Minor tweaking of pictures 1998-07-06 16:02:13 -05:00
Quincey Koziol
650e88756c [svn-r452] Changed tests to use the new dataspace API calls. Still need to add tests for
point selections and strides.
1998-07-06 16:01:59 -05:00
Quincey Koziol
43f13aeca2 [svn-r451] Completely tore out existing dataspace API and replaced with code to match
API defined in the html/Dataspaces.html document.  This code does not include
support for strides, merging selections, or permutations of coordinates yet,
but it's a drop-in replacement for the existing API with the same features.
1998-07-06 16:01:13 -05:00
Quincey Koziol
d70e61b1db [svn-r450] Added files for dataspace revision. 1998-07-06 15:58:42 -05:00
Albert Cheng
82bcd7f537 [svn-r449] Corrected some grammar errors in the debug messages. 1998-07-05 18:08:11 -05:00
Albert Cheng
ec08f7b182 [svn-r448] Updated with more tests for extendable datasets such as testing
the expected failures in writing data beyond the current dimension
sizes and also in attempting to extend a dataset opened RDONLY.
1998-07-05 17:58:37 -05:00
Robb Matzke
99c46b756c [svn-r447] Oops, turned data type tests off again until I get the SIGFPE thing
sored out.
1998-07-02 20:26:45 -05:00
Robb Matzke
203a732915 [svn-r446] Changes since 19980702
----------------------

./MANIFEST
	Added new files from testpar directory.

./config/commence.in
	Removed -D_POSIX_SOURCE because hdf5 uses a couple of
	non-Posix things when certain debugging flags are switched on.
1998-07-02 20:16:22 -05:00
Albert Cheng
b81abe336d [svn-r445] Added individually named cleanup_xxx routine to each test module file
to cleanup temporary files used by that particular module.
Added a cleanup() routine to testhdf5 that calls all the other
cleanup_xxx() routines to do cleanup.
Cleanup action can be disabled either by -c (no cleanup) option
or HDF5_NOCLEANUP environment variable.
1998-07-02 19:57:00 -05:00
Robb Matzke
b8237b2977 [svn-r444] *** empty log message *** 1998-07-02 14:27:17 -05:00
Robb Matzke
4d4cd3eda0 [svn-r443] Changes since 19980630
----------------------

./MANIFEST
./configure.in
./examples/Makefile.in	[NEW]
	Added a Makefile.in for the examples directory.  To generate
	the Makefile run configure again.
1998-07-02 14:26:40 -05:00
Albert Cheng
00366fcd96 [svn-r442] MPIO library maintained by William M. Davidson (wmdavid) has been
changed to use system supported MPI library.  The path to it is
changed slightly too.  Updated all the paths variables.

Also updated to reflect the new program source files structure.

Platform tested: Intel Red
1998-07-01 19:21:15 -05:00
Albert Cheng
227aeb2c8b [svn-r441] MPIO library maintained by William M. Davidson (wmdavid) has been
changed to use system supported MPI library.  The path to it is
changed slightly too.  Updated all the paths variables.
1998-07-01 19:16:28 -05:00
Albert Cheng
bd93fcc274 [svn-r440] Header file for the PHDF5 tests. (forgot to add it last time.) 1998-07-01 17:10:04 -05:00
Albert Cheng
a9b794a012 [svn-r439] Changed the PHDF test programs substantially. Used to be just one
big testphdf5.c file.  Broke it into modules of related routines.
    testphdf5.c -- main routine and global variables initialization plus
		   some ulitility routines.
    t_file.c -- tests of file operations using parallel I/O.
    t_dset.c -- tests of datasets operations.
1998-07-01 16:33:35 -05:00
Albert Cheng
0b5e6ee7a1 [svn-r438] Changes for PHDF5 to support extendable datasets.
H5D.c:
    If a dataset, using chunk storage, is created/opened and if its data
    file is accessed via MPIO, allocate file space for the chunks immediately.
    Also do the allocation when a dataset is extended.  Must do it at these
    points because H5Dcreate, H5Dopen and H5Dextend are collective calls
    in MPIO access mode and are the only chance to get all MPI processes
    to synchonize their meta-data.
    Also disallow opening/creating datasets with compression option if
    MPIO is used.  Not easy to support concurrent compression writes in
    an efficient way.  But read-only access should be fine.  Will implement
    that later.

H5F.c:
    Disable file cache if MPIO is used by forcing cache size and number
    of elements to zero.

H5Fistore.c:
    Added two new routines, H5F_istore_get_addr and H5F_istore_allocate.
    H5F_istore_allocate supports allocating file space for the chunks
    of a dataset.  H5F_istore_get_addr returns the file space address
    of a chunk that has been allocated.
    Changed H5F_istore_read and H5F_istore_write to bypass the chunk
    cache read/write mechanism.  Instead, they do read/write directly
    with the file for only the elements requested.
    (Some debug statements, enclosed by #ifdef AKC, are still in the
    file.  I am still working on some code.  They would be cleaned
    out soon.)
1998-07-01 16:10:09 -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
Albert Cheng
030d46c078 [svn-r436] H5Pset_cache() did not save the value of rdcc_w0. Fixed it. 1998-06-25 20:27:11 -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
Albert Cheng
62607debf7 [svn-r434] Initial version. Added changes related to parallel HDF5 API's. 1998-06-22 11:17:46 -05:00
Albert Cheng
bc62117924 [svn-r433] Added feature to print the maximum dimension sizes of datasets.
Platform tested: O2K.
1998-06-19 10:26:36 -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
Albert Cheng
d6f7fda058 [svn-r431] H5Sget_dims:
Added maxdims agrument to H5Sget_dims.  Also removed the check
of dims since H5Sget_dims can still return ndims even if both
*dims and *maxdims are NULLs.
1998-06-18 11:12:52 -05:00
Robb Matzke
dd23059807 [svn-r430] Changes since 19980617
----------------------

./src/H5T.c
	Fixed a potential division by zero error.

./src/H5Fistore.c
	Fixed an assertion failure that I accidently introduced with
	the previous changes.
1998-06-17 16:15:32 -05:00
Robb Matzke
22538a0c79 [svn-r429] Changes since 19980616
----------------------

./html/tracing.html	NEW
	This entire update is to make it possible for the library to
	print the name, arguments, and return value of every API call
	without requiring any extra work from developers or app
	programmers.  This file describes how this all works.

./configure.in
	Added the `--enable-tracing' switch.  If you use it then the
	library will include code to print API function names,
	argument names and values, and function return values.
	However, you must then turn on the tracing by setting the
	HDF5_TRACE environment variable to a file descriptor number.
	The default is `--disable-tracing' since enabling it causes a
	slight increase in library size and a slowdown resulting from
	an extra function call for each API function call (I couldn't
	even measure the slowdown :-)

./bin/trace		NEW
	A perl script that synchronizes the H5TRACE() macro calls in
	the *.c files with the function return type and formal
	argument names and types.  If you use GNU make and gcc then
	this will be done automatically, otherwise just invoke this
	script with the names of one or more .c files.  You could do
	it by hand to, but encoding argument types is a little tricky
	at first.

./config/commence.in
	Added the $(TRACE) macro, which defaults to the no-op.
	Added -D_POSIX_SOURCE to the compiler command line.

./src/Makefile.in
	Override the default for $(TRACE).

./config/depend.in
	Automatically calls $(TRACE) to synchronize the H5TRACE()
	macros in any source file that changed.  As with makefile
	dependencies, one way to force synchronization of all files is
	to remove the `.depend' file.

./MANIFEST
	Added new files.

./src/H5Eprivate.h
	Modified HRETURN_ERROR() and HRETURN() for tracing.

./src/H5.c
./src/H5private.h
	This is where the real tracing work really happens, in
	H5_trace().

./src/H5A.c
./src/H5D.c
./src/H5G.c
./src/H5P.c
./src/H5S.c
./src/H5Z.c
	Added H5TRACE() calls to all API functions.  You don't really
	need these changes if you don't want to merge your stuff
	because they can be generated automatically by going to the
	hdf5/src directory and saying ../bin/trace *.c

./src/H5T.c
	Added H5TRACE() calls.  Other stuff below.

./src/H5E.c
./src/H5Epublic.h
	Added H5TRACE() calls.  Created a type H5E_auto_t for the
	`func' argument of H5Eset_auto() and H5Eget_auto() to make
	those arguments easier to parse for tracing. It should also
	make it clearer for users that don't know how to read
	complicated ANSI data types.

./src/H5F.c
	Added H5TRACE() calls.  Changed a couple `uintn' argument
	types in API functions to `unsigned int' since `uintn' part of
	the API.  Changed a few "can't" and "cant" error messages to
	"unable to".

./src/H5Ipublic.h
	Removed H5_DIRECTORY from the H5I_group_t enum.  It wasn't
	used anywhere.

./src/H5Tconv.c
	Removed an unused label.

./src/H5Fistore.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5T.c
./test/dsets.c
./test/dtypes.c
	Fixed a warning about a variable possibly used before it's
	initialized.  Added __unused__ to turn off some unused
	argument warnings that pop up when debugging is turned off and
	optimizations are turned on.
1998-06-17 15:46:29 -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
Albert Cheng
a639a5998c [svn-r427] Added -lm to libraries needed. 1998-06-15 23:47:25 -05:00
Robert Kim Yates
1460b000d8 [svn-r426] Fixed processing of debug string gotten from MPI_Info_get in H5F_mpio_open. 1998-06-12 17:47:21 -05:00
Robb Matzke
dd58a3ec29 [svn-r425] Changes since 19980610
----------------------

THIS CHECKIN IS FOR QUINCEY -- NOT EVERYTHING WORKS (but it compiles)
MOST OF THE CHANGES ARE FOR BETTER TYPE CONVERSION IN THE NEXT ALPHA

./MANIFEST
./src/H5Tbit.c		NEW
./src/Makefile.in
	Bit vector operations (not done yet)

./configure.in
	Added -lm to the library list, needed by bit-vector operations
	and conversion functions.

	Removed vestiges of PARALLEL_SRC no longer used by the
	makefiles. Albert came up with a better way (that actually
	works :-)

./src/H5D.c
	No code changes.  Split a couple of long lines, refilled a
	couple multi-line comments.

./src/H5T.c
./src/H5Tpublic.h
	Fixed a bug reported by Jim Reus regarding conversion of
	compound data types whose members require conversions which
	are satisfied by as-yet unregistered soft conversion
	functions.

	Added H5T_IEEE architecture, but the funny-looking integer
	types will be changed to H5T_BE_ and H5T_LE_ architectures
	with the type names changed to match the H5T_NATIVE_ integers.

	Added an H5Tconvert() but it hasn't been documented or tested
	yet.

./src/H5Tconv.c
./src/H5Tpkg.h
	Registered conversion functions integer->integer (a general
	case) and integer->float (for a specific case).  The
	integer->integer conversion depends on the bitvector
	operations which aren't finished yet and the int->float
	conversion hasn't been retested since it was borrowed from
	AIO. Don't look at them yet, they're ugly :-)

./src/H5detect.c
	Fixed a typo which caused the msb_pad field of an atomic type
	to not be initialized.

./test/dtypes.c
	Added a test for number conversions but it's commented out
	until the conversion stuff is truly working.
1998-06-12 12:31:06 -05:00
Robert Kim Yates
674198fcc7 [svn-r424] Added -g -D_LARGE_FILES to CFLAGS. 1998-06-11 17:09:27 -05:00
Robert Kim Yates
f6ea1f45da [svn-r423] Added H5F_MPIO_DEBUG_KEY so application program can turn on debug flags
of H5Fmpio via the MPI_Info parameter to H5Fcreate and H5Fopen.
1998-06-11 17:01:12 -05:00
Robert Kim Yates
7f0e87fe2f [svn-r422] Added runtime debug flags for H5Fmpio routines,
which can be set by passing to H5Fcreate and H5Fopen
a string of characters (one character for each flag to turn on)
as the value of MPI_Info with key H5F_MPIO_DEBUG_KEY.
1998-06-11 16:57:48 -05:00
Albert Cheng
8176cbf551 [svn-r421] Updated example with current hdf5 data types. 1998-06-10 21:21:42 -05:00
Albert Cheng
1b10bda46c [svn-r420] Put 'go' in the DISTCLEAN variable so that it will be cleaned
for distribution.
1998-06-10 11:32:16 -05:00
Albert Cheng
997df54dc8 [svn-r419] Removed 'go' from the cleanup list. Let individual decides when
to purge the file.
1998-06-10 11:14:09 -05:00