summaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r429] Changes since 19980616Robb Matzke1998-06-172-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r428] Changes since 19980612Robb Matzke1998-06-165-22/+653
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r425] Changes since 19980610Robb Matzke1998-06-121-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- 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.
* [svn-r418] ./html/Files.htmlRobb Matzke1998-06-102-10/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./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().
* [svn-r412] Updated with the newly added data transfer mode.Albert Cheng1998-06-071-4/+4
|
* [svn-r410] Changes since 19980604Robb Matzke1998-06-059-39/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5A.c Named data types can have attributes. Fixed bugs where the API functions didn't check the return values of their internal counterparts and thus the automatic error reporting didn't work. Fixed some places where the error stack wasn't cleared after a function returned failure. Data types returned by H5Aget_type() are always read-only. If the `attr_num' argument of H5Aiterate() is null then it acts like H5Giterate() instead of failing -- it begins processing attributes with the first one. ./src/H5D.c We check for allocation overruns when scalar datasets are stored in external files. ./src/H5O.c H5O_modify() will fail if the message is >=16kB. ./src/H5Oattr.c Split some long lines ./src/H5T.c ./src/H5Tprivate.h Added H5T_entof() to support attributes on named types. ./src/h5ls.c Prints the names of attributes and their sizes. ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c ./test/gheap.c ./test/istore.c ./test/links.c ./test/shtype.c If the environment variable HDF5_NOCLEANUP is defined then the temporary files are not removed. The testhdf5 program still has the bug that it removes *.h5, clobbering test files from other programs... oh well. ./test/dtypes.c Added attribute tests.
* [svn-r409] Changes since 19980604Robb Matzke1998-06-052-206/+182
| | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r408] ./test/dtypes.cRobb Matzke1998-06-044-75/+373
| | | | | | | | | | | 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.
* [svn-r402] Added cleanup function that removes all temporary test files whenAlbert Cheng1998-05-288-19/+229
| | | | | the tests pass. Should add a "noclean" option that allows the temporary to stay around even when the tests pass.
* [svn-r400] Changes since 19980513Robb Matzke1998-05-228-20/+577
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r398] Changes since 19980501Robb Matzke1998-05-131-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5Bprivate.h ./src/H5F.c ./src/H5Ffamily.c ./src/H5Fprivate.h ./src/H5Gpkg.h ./src/H5MF.c ./src/H5P.c ./src/H5Ppublic.h ./test/big.c ./html/Big.html ./html/Files.html Family members can now be any size >1kB. Got rid of some places where we were reading a property list after it was closed. ./MANIFEST ./src/Makefile.in ./src/h5repart.c A program to repartition file families. The source and/or destination may be files or file families. Examples: testhdf5 -c -o stab h5repart -m 1m tstab2.h5 x%05d.h5 h5repart -m 100k x%05d.h5 y%05d.h5 h5repart y%05d.h5 z.h5 diff tstab2.h5 z.h5 ./src/h5ls.c Added a usage message, replaced assertions with error messages. ./config/linux Made a warning message more obvious. Added better optimization flags for Pentium-Pro's.
* [svn-r383] ./src/H5A.cRobb Matzke1998-05-015-1/+16
| | | | | | | | | | | | | | | | | ./src/H5F.c ./src/H5G.c ./src/H5O.c ./src/H5Osdspace.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Z.c ./test/big.c ./test/cmpd_dset.c ./test/dsets.c ./test/extend.c ./test/istore.c Now that I have a home-grown version of Purify I fixed all the leaks in all the test files.
* [svn-r382] Added ifdef's around getrusage.Quincey Koziol1998-04-291-1/+37
|
* [svn-r380] Finished tests for scalar dataspaces with both datasets and ↵Quincey Koziol1998-04-284-21/+433
| | | | attributes.
* [svn-r378] Merged Robb's and my memory leak fixes into one set of common fixes.Quincey Koziol1998-04-282-2/+12
|
* [svn-r377] Changes since 19980424Robb Matzke1998-04-284-85/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r375] *** empty log message ***Robb Matzke1998-04-241-78/+69
|
* [svn-r371] Fixed compound datatype offset problems on machines with ↵Quincey Koziol1998-04-241-6/+12
| | | | | | different struct alignments.
* [svn-r362] Added Attribute (H5A) testQuincey Koziol1998-04-236-25/+1162
|
* [svn-r359] Added tests for H5Fcreate with the H5F_ACC_EXCL flag.Albert Cheng1998-04-231-0/+26
|
* [svn-r356] Changes since 19980421Robb Matzke1998-04-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./bin/release ./src/H5.c ./src/H5private.h ./src/H5public.h ./src/H5Fpublic.h Changed the version number constants to names that begin with H5_VERS_ and added macros that check that the version numbers in the include files match the version number of the library. ./MANIFEST ./html/H5.user.html ./html/Version.html [NEW] ./html/version.obj [NEW] ./html/version.gif [NEW] Documented version numbers and the macros, constants, and functions associated with them. ./bin/versinc A perl script that increments the minor version number and sets the patch level back to zero. This is intended to be invoked from the top of the source tree by a cvs commit anywhere in the source tree. Quincey? ./src/H5O.c ./src/H5Oprivate.h Added H5O_count() to count the number of object header messages of a particular type. Quincey needs this for the attribute package. ./test/dsets.c Fixed warnings. Enabled the small strip-mine buffer test. ./config/linux Added optimizations for the Pentium-Pro for production mode.
* [svn-r355] Changes since 19980417Robb Matzke1998-04-211-32/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- This checkin completes the compression stuff almost two weeks ahead of schedule. It should now all be working and documented. ./Makefile.in ./config/commence.in A distclean causes the distribution makefile to be copied to Makefile again. ./src/H5D.c Opening a compressed dataset now works properly. ./src/H5P.c ./src/H5Ppublic.h The H5Pset_compression() and H5Pget_compression() now work as documented. ./src/H5T.c Fixed a bug that causes the library to crash sometimes if debugging is turned on for the `t' package. ./src/H5Z.c Fixed a bug where the number of bytes attributed to compression overruns was too low in the debugging output. ./test/dsets.c More compression tests: reading of uninitialized data, opening an existing dataset and reading it, partial I/O which isn't aligned on chunk boundaries, and use of application-defined compression methods. ./MANIFEST Removed ./test/dspace.c.
* [svn-r354] Removed because it is not being used.Albert Cheng1998-04-201-13/+0
|
* [svn-r353] Changes since 19980414Robb Matzke1998-04-173-22/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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 w:x:y: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.
* [svn-r346] Changes since 19980410Robb Matzke1998-04-144-23/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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'.
* [svn-r339] Changes since 19980408Robb Matzke1998-04-093-33/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r338] Changes since 19980407Robb Matzke1998-04-0811-667/+733
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r337] Changes since 19980403Robb Matzke1998-04-078-122/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in Moved setting of compiler warning switches earlier in the file. Turned on more warning switches to gcc. ./config/linux Prints a warning if the gcc version is less than 2.8.1 since that version has problems with register allocation for `long long'. ./html/Datatypes.html Documented sharing of data types between datasets. ./src/H5G.c ./src/H5Gpublic.h Implemented H5Gmove(), H5Glink() and H5Gunlink() for hard links. Still have soft links to do. ./src/H5AC.c ./src/H5ACprivate.h ./src/H5D.c ./src/H5E.c ./src/H5Eprivate.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/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5Gprivate.h ./src/H5HG.c ./src/H5HL.c ./src/H5HLprivate.h ./src/H5I.c ./src/H5Iprivate.h ./src/H5MM.c ./src/H5MMprivate.h ./src/H5O.c ./src/H5Oefl.c ./src/H5Oprivate.h ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5S.c ./src/H5Ssimp.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tprivate.h ./src/H5Tpublic.h ./src/H5V.c ./src/H5Vprivate.h ./src/H5detect.c ./src/h5ls.c ./test/cmpd_dset.c ./test/dsets.c ./test/external.c ./test/hyperslab.c ./test/iopipe.c ./test/istore.c ./test/shtype.c ./test/tstab.c Fixed comparisons between signed and unsigned values. Fixed warnings about unused function arguments.
* [svn-r336] Changes since 19980402Robb Matzke1998-04-033-4/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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).
* [svn-r335] Changes since 19980330Robb Matzke1998-04-033-10/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.
* [svn-r333] Changes since 19980324Robb Matzke1998-03-303-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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
* [svn-r329] Changes since 19980324Robb Matzke1998-03-242-175/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c Zero element requests for H5Dread() and H5Dwrite() succeed. ./src/H5F.c ./src/H5Fprivate.h All files will have a root group. This greatly simplifies the library at the expense of ~1k extra bytes in files that have only one object. ./src/H5D.c ./src/H5Dprivate.h ./html/Groups.html Functions that used to take a file ID and an object name can now take a group ID instead of a file ID. This doesn't change the API, only it's documentation. ./src/H5G.c ./src/H5Gprivate.h ./src/H5O.c ./src/H5Oprivate.h Removed extra file arguments from some internal functions since the file pointer can be found from the group pointer or a symbol table entry (ent->file or H5G_fileof(group)). Besides, when we eventually implement mounting one file on another, H5G_namei() might return a different file than what you gave it, and that file is part of the returned symbol table entry. ./src/H5G.c Fixed bug with `.' appearing in a name. It used to hang the library. ./src/Makefile.in ./src/h5ls.c [NEW] ./MANIFEST Added `h5ls' a simple program that takes a file name and a directory and lists the contents of that directory using H5Giterate(). ./test/istore.c Changed an argument to H5G_create(). ./test/tstab.c Removed test_1 which was testing that files with a single object don't have a root group. This no longer applies.
* [svn-r328] Changes since 19980318Robb Matzke1998-03-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5B.c ./src/H5Bprivate.h ./src/H5G.c ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5Gpublic.h ./src/H5Gstab.c Implemented H5Giterate(). However, since most functions can't take a group ID in place of a file ID yet, there's not a whole lot that the operator can do besides print the name or something. ./test/H5O.c Fixed writing of four uninitialized bytes to the file as part of an object header. ./test/istore.c For some reason, `mpirun -np 1 istore' results in extra arguments on the command line that istore doesn't understand. I'm probably forgetting to call some MPI function in main(). Albert, Kim? So I commented out the `exit(1)' for the time being.
* [svn-r325] Changes since 19980317Robb Matzke1998-03-181-0/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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'.
* [svn-r324] Change H5A (atoms) to H5I (IDs)Quincey Koziol1998-03-175-17/+17
|
* [svn-r323] Changes since 19980316Robb Matzke1998-03-171-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c ./src/H5T.c ./src/H5Tprivate.h Fixed a bug found by Kevin Powell regarding preservation of existing data during a read or write when the source and destination data types are the same. Thanks Kevin! Fixed a couple warnings on Irix64. ./src/H5D.c ./src/H5Dprivate.h ./src/H5P.c ./src/H5Ppublic.c ./src/H5Tconv.c ./src/H5Tpublic.h ./test/cmpd_dset.c The application can now turn on/off the part of the I/O pipeline that deals with preservation of initialized data. The default is off since this will be the usual case and turning it on slows down the pipe. Use H5Pset_preserve() and H5Pget_preserve(). ./src/H5Fistore.c Added an optimization for reading/writing a single chunk of chunked storage. ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Olayout.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Ostab.c Fixed warnings reported by marek@iiasa.ac.at. Thanks Marek. ./src/H5Odtype.c Fixed a failing assert() wrt reading compound types (not present in hdf5-1.0.0a).
* [svn-r322] Changes since 19980313Robb Matzke1998-03-173-13/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in ./configure ./test/iopipe.c Added check for system(3) ./config/freebsd2.2.1 ./config/linux Added -DH5D_DEBUG to the debug flags. ./src/H5D.c ./src/H5Dprivate.h ./src/H5P.c ./src/H5Ppublic.h ./src/H5Sprivate.h ./src/H5Ssimp.c ./html/Datasets.html Finally implemented strip mining in the I/O pipeline, placing a user-defined upper bound on the amount of temporary memory used by the pipeline. The default is 1MB type conversion and background buffers allocated/freed on demand. However, the size can be changed and/or application-allocated buffers supplied with H5Pset_buffers() called on the data transfer property list passed to H5Dread() and H5Dwrite(). Minor optimizations to H5Dread() and H5Dwrite(). More coming later... ./test/dsets.c Added calls to H5Pset_buffer() to test application-defined temporary buffers in the I/O pipeline. ./test/Makefile.in Removed `iopipe' from the list of confidence tests. Saying `make timings' in the test directory runs timing tests. I did this because (1) they don't really test anything new, and (2) they can take a long time to run.
* [svn-r321] Changes since 19980306Robb Matzke1998-03-132-4/+312
| | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./src/H5D.c ./src/H5S.c ./src/H5Sprivate.h ./src/H5Ssimp.c ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5V.c ./test/Makefile.in ./test/iopipe.c [NEW] Optimizations to the I/O pipeline. ./src/H5Fistore.c ./src/H5Oefl.c Fixed a few compiler warnings. ./MANIFEST Added entries for ./config/{intel-osf1,irix5.3}
* [svn-r319] Removed H5M API from codeQuincey Koziol1998-03-122-22/+21
|
* [svn-r318] Added extern_3.h5 to the list of files to cleanQuincey Koziol1998-03-121-1/+1
|
* [svn-r306] Changes since 19980305Robb Matzke1998-03-052-187/+193
| | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c ./test/external.c A contiguous dataset can now be stored in external files in such a way that the slowest varying dimension can be increased after the dataset is created and even written. The user must have reserved enough space in the external file and the data space must allow an increase the the slowest varying dimension. See test_3() of ./test/external.c ./src/H5Oefl.c ./configure.in ./src/H5Fprivate.h Fixed an overflow bug with unlimited external storage. ./src/H5V.c Fixed a cast warning. ./test/dsets.c Make better use of automatic error reporting.
* [svn-r305] Changes since 19980304Robb Matzke1998-03-053-34/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST New files ./html/extern1.gif [NEW] ./html/extern1.obj [NEW] ./html/extern2.gif [NEW] ./html/extern2.obj [NEW] ./html/Datasets.html Documented external raw data storage. ./html/Datasets.html ./html/chunk1.gif [NEW] ./html/chunk1.obj [NEW] Added a picture and better description for chunking since it seems that people are thinking chunks are fixed-size at the file level instead of at the array level. ./src/H5D.c ./src/H5Dpublic.h ./test/external.c Changed H5Dget_create_parms() to H5Dget_create_plist(). ./src/H5D.c ./src/H5Farray.c ./src/H5Fprivate.h ./src/H5Oefl.c ./src/H5Oprivate.h ./src/H5Sprivate.h ./src/H5Ssimp.c ./test/external.c ./test/istore.c External raw data file I/O for contiguous storage is now working. The library supports segments of various sizes which can be scattered throughout multiple files in any order. ./test/Makefile.in Remove more temporary files.
* [svn-r304] ./test/hyperslab.cRobb Matzke1998-03-041-6/+6
| | | | Added UL->L casts in six places to quiet warnings on Irix -64.
* [svn-r303] Changes since 19980228Robb Matzke1998-03-048-703/+1294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Dataspaces.html ./html/Errors.html ./html/Files.html ./html/H5.api.html ./html/review1.html ./src/H5private.h ./src/H5public.h ./test/dsets.c ./test/dtypes.c Removed all the types like `int32' and `intn' into private headers since they violate the naming scheme and pollute application name space. Besides, our test files only use them in a handful of places and it's probably useless to export them to the app. The app is always written in terms of standard numeric types or its own numeric types and probably never in terms of HDF5 numeric types. If it were, then the user would have to copy from their type to hdf5 type for almost every hdf5 API function call! Same goes for return values. I also removed SUCCEED/FAIL from the API since apps should be checking against zero anyway. if (FAIL==(space=H5Screate_simple(...))) /*wrong*/ if ((space=H5Fcreate_simple(...)<0)) /*right*/ ./src/H5.c Changed arguments of H5version() from `uintn' to `unsigned'. ./src/H5Tpublic.h ./src/H5T.c Changed return type of H5Tget_nmembers() from `intn' to `int' ./src/H5A.c ./src/H5Aprivate.h ./src/H5Apublic.h Changed `H5Asearch_func_t' to `H5A_search_func_t' and moved its definition from the public to the private header file. ./html/H5.format.html Documented changes made to the external file list (H5O_EFL) message. ./src/H5D.c ./src/H5Dprivate.h ./src/H5E.c ./src/H5Epublic.h ./src/H5O.c ./src/H5Oefl.c ./src/H5Oprivate.h ./src/H5P.c ./src/H5Ppublic.h Added partial support for external raw data files. HDF5 can now describe external raw data files by listing the file names, offsets, and size for a dataset. However, we will restrict a dataset to be stored "contiguously" when the external file list is viewed as a single address space. The current implementation is unable to read/write to external files--that will come later this week as will documentation. For now, take a look at ./test/external.c, particularly the calls to H5Pset_external(). ./test/Makefile.in ./test/external.c [NEW] ./MANIFEST Added tests for external storage. Note: the read test is supposed to fail at this point since reading external datasets is not implemented yet. There is no write test. ./src/H5S.c ./src/H5Sprivate.h ./src/H5Ssimp.c Added H5S_get_npoints_max() to return the maximum possible number of data points in a data space. Added an extra argument to H5S_get_dims() which returns the maximum dims. ./src/H5F.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5M.c [DEPRICATED] ./src/H5Mpublic.h [DEPRICATED] Changed `template' to `property list' in lots of places. ./src/H5Osdspace.c Removed an extra `\n' from a print statement. ./src/H5S_public.h Changed H5S_UNLIMITED to the maximum size_t value. ./test/extend.c "Extendable" is spelled "extendible". ./src/H5Farray.c ./src/H5V.c ./src/H5Vprivate.h ./test/hyperslab.c Strides are now type ssize_t instead of int. These have nothing to do with the sample granularity arguments for hyperslabs, which are also called "strides" in the code. ./test/tstab.c Changed assumptions about default address and length sizes.
* [svn-r302] Changes since 19980227Robb Matzke1998-02-283-37/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Errors.html [NEW] ./html/H5.user.html ./MANIFEST Documents the new error handling interface and gives examples. ./src/H5.c ./src/H5private.h ./src/H5Apublic.h ./src/H5E.c ./src/H5Eprivate.h ./src/H5Epublic.h Rewrote error handling. Got rid of `push' overloading and added a few API functions. The error stack is statically allocated and not entered into H5A, simplifying error handling within the error handler. Rudimentary support for threads. Changed the names of some errors. ./src/H5G.c ./src/H5Gnode.c ./src/H5H.c ./src/H5O.c ./src/H5T.c Changed H5ECLEAR to H5E_clear(). ./src/Makefile.in Alphabetized source list. ./test/dsets.c Turned off error reporting around functions that are expected to fail. Error messages are sent to stdout. ./test/testhdf5.c ./test/testhdf5.h Turned off automatic error reporting since this file mostly calls internal functions and does its own error reporting.
* [svn-r298] Changes since 19980219Robb Matzke1998-02-251-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Files.html ./src/H5C.c ./src/H5Cpublic.h ./src/H5Ffamily.c ./src/H5Fprivate.h ./src/H5Fsplit.c ./test/tstab.c Added file-access property functions. The split driver takes file extensions as properties. ./src/H5A.c ./src/H5Aprivate.h Added some comments. Changed H5A_destroy() to call the free function on all the atoms that are destroyed. This fixes a bug where the file boot block isn't updated if the file isn't closed before calling exit(). Removed extra `*' and `&' from some places. ./src/H5AC.c Replaced an occurrence of NO_ADDR with NULL. ./src/H5Odtype.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h Data types of compound members are pointers. ./H5private.h Some changes to make lseek64() work on Irix 5.3 where header files don't realize that `long long' works. ./acconfig.h ./configure.in Removed definition for PHDF5 since it looks like everyone is useing HAVE_PARALLEL now. ./configure.in ./src/H5detec.c Added checks for gethostname() and getpwuid().
* [svn-r297] Switched templates to "property lists" and changed API prefix ↵Quincey Koziol1998-02-259-109/+109
| | | | from H5C to H5P
* [svn-r296] Switched prefix for dataspaces from H5P to H5SQuincey Koziol1998-02-256-58/+58
|
* [svn-r295] ./test/tstab.cRobb Matzke1998-02-191-0/+2
| | | | Changed a zero to H5C_DEFAULT.
* [svn-r293] Commented out some test codeRobb Matzke1998-02-191-0/+2
|