summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r384] Changes since 19980430Robb Matzke1998-05-011-1/+3
| | | | | | | | ---------------------- ./src/H5G.c Fixed a read/write of free memory that my home-brew purify doesn't catch (yet :-)
* [svn-r383] ./src/H5A.cRobb Matzke1998-05-019-143/+229
| | | | | | | | | | | | | | | | | ./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-r381] Added "rank=0" for a scalar variable initialization.Quincey Koziol1998-04-291-0/+1
|
* [svn-r379] Fleshed out code for scalar dataspace support.Quincey Koziol1998-04-282-58/+53
|
* [svn-r378] Merged Robb's and my memory leak fixes into one set of common fixes.Quincey Koziol1998-04-285-68/+70
|
* [svn-r377] Changes since 19980424Robb Matzke1998-04-289-145/+586
| | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r376] ./acconfig.hRobb Matzke1998-04-242-17/+21
| | | | | | | | | | | | | | | | | | | | | | | ./configure.in ./config/BlankForm ./src/H5.c Configure tries to figure out how to print `long long' types and then defines PRINTF_LL_WIDTH to be `ll' or `q' or something. It does this by running little sprintf() programs with various formats until it gets one that works. If this causes problems when cross compiling (like with parallel machines) then you may add the following to the appropriate config file: hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'} or hdf5_cv_printf_ll=${hdf5_cv_printf_ll='q'} or hdf5_cv_printf_ll=${hdf5_cv_printf_ll='l'} ./config/intel-osf1 ./config/irix5.3 Updated these config files to match the others. This allows the `--enable-production' configure flag to work properly.
* [svn-r374] ./src/H5A.cRobb Matzke1998-04-248-72/+69
| | | | | | | | | | | | | ./src/H5D.c ./src/H5Dprivate.h ./src/H5Dpkg.h [REMOVED] ./src/H5Tpkg.h ./src/H5Tprivate.h Rearranged some header stuff so H5A doesn't have to include the package-private header files that don't belong to it. ./src/H5E.c Added the H5E_ATTR message to the major error struct.
* [svn-r372] Removed redundant write from H5F_mpio_write.Robert Kim Yates1998-04-241-2/+3
|
* [svn-r370] Fixed a couple of compiler warnings.Quincey Koziol1998-04-242-4/+4
|
* [svn-r369] Changed comments in H5Pset_mpi to reflect removal of access_mode ↵Robert Kim Yates1998-04-241-8/+1
| | | | argument.
* [svn-r365] Problems:Albert Cheng1998-04-232-10/+0
| | | | | | | | | | | | When data is read or written out, some layers did an immediate return(SUCCEED) if number of elements to be accessed is zero. This caused problems when collective access is used. In a collective call, all processes in a communicator must call the lowest layer of MPIO routines even if some of them happen to access no date. Solutions: Eliminated all those pre-mature return if #element==0;
* [svn-r364] Purpose:Paul Harten1998-04-231-4/+17
| | | | | | | | | | | | | | | | | | Bug fix Problem: Compiler complained about: "Wrong number of parameters to function (H5D.c: 1225)" and "Wrong number of parameters to function (H5D.c: 1520)" Solution: In these two places, the read and write functions were missing the "compress" parameter, &(dataset->create_parms->compress). I added it back in the same way it was used in other places. Platform tested: ASCI Red machine
* [svn-r361] Added Attribute (H5A) code.Quincey Koziol1998-04-2320-37/+2124
|
* [svn-r358] H5Fcreate did not accept EXCL creation flag correctly.Albert Cheng1998-04-231-3/+1
| | | | | Fixed the typo where it should have checked exclusive use of EXCL or TRUNC flags.
* [svn-r356] Changes since 19980421Robb Matzke1998-04-227-23/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-215-7/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- 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-r353] Changes since 19980414Robb Matzke1998-04-1740-670/+2461
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r351] Removed the access_mode argument from H5Pset_mpi which was laterAlbert Cheng1998-04-177-67/+38
| | | | | | | | | | | | | | | | | used to open an HDF5 file with MPIO access. The design has changed to provide access-mode controll (independent or collective access) as an argument in the H5D read/write calls. Also removed the macros H5FACC_INDEPENDENT and H5FACC_COLLECTIVE. The original thinking was to define how a file is independent or collective access. They are replaced by the enum H5D_transfer_t with values of H5D_XFER_INDEPENDENT and H5D_XFER_COLLECTIVE. These values are used in the H5Pset_xfer to setup a data transfer property list to be used during the H5D read/write calls. The original access_mode field in the File access structure is still there. It would be removed soon once the transfer control can be passed down to the low level I/O routines.
* [svn-r346] Changes since 19980410Robb Matzke1998-04-1411-81/+554
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r345] Updated the comment block of H5Pset_xfer.Albert Cheng1998-04-131-3/+3
|
* [svn-r343] First implementation of collective access support.Albert Cheng1998-04-136-2/+313
| | | | | | | | | | | | | | | | | | | | | | | | | H5D.c Changed H5D_write and H5D_read to recognize collective transfer requests. Current algorithm puts the xfer-mode in the file->mpio structure. Not thread safe. Need to revise it to pass transfer parameter as a function parameters to the lower levels. H5Dprivate.h H5Dpublic.h Added xfer_mode to the transfer property list structure. Added defination of transfer modes, H5D_XFER_INDEPENDENT and H5D_XFER_COLLECTIVE. H5Farray.c Added code to handle collective access requests. Currently works for one contiguous block at a time. Need to revise it with the MPIO low level calls to combine all blocks as one truely collective call. H5P.c H5Ppublic.h Added H5Pset_xfer and H5Pget_xfer routines that can set and get the transfer mode of a data transfer property list.
* [svn-r342] H5F_mpio_write and H5F_mpio_read now do collective versions of MPI-IORobert Kim Yates1998-04-101-7/+40
| | | | write and read based on the value of the access_parms.
* [svn-r341] Changes since 19980409Robb Matzke1998-04-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL ./INSTALL_MAINT Updated installation instructions. ./html/Big.html [NEW] A guide to using big datasets on small machines. ./MANIFEST Added Big.html and INSTALL.ascired. ./html/Datasets.html ./html/Dataspaces.html ./html/Datatypes.html ./html/Files.html ./html/H5.api.html ./html/H5.intro.html ./html/H5.sample_code.html ./html/H5.user.html Updated documentation by changing lots of `size_t' arguments to `hsize_t'. Added line numbers to some examples. ./html/H5.intro.html Perhaps someone want's to volunteer to make this file human-readable?
* [svn-r339] Changes since 19980408Robb Matzke1998-04-0912-66/+485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-0850-1205/+1306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-0747-204/+473
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-0311-29/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-0329-439/+1138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-3022-366/+1300
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-2411-421/+567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-248-1101/+1131
| | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-182-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-1724-714/+705
|
* [svn-r323] Changes since 19980316Robb Matzke1998-03-1716-914/+1116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-176-190/+454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-1310-23/+338
| | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-128-893/+7
|
* [svn-r312] MPI_File_open now uses the comm and info as specificied inAlbert Cheng1998-03-081-3/+1
| | | | | the access_template, instead of COMM_WORLD and INFO_NULL as before.
* [svn-r311] Changes since 19980305Robb Matzke1998-03-061-0/+3
| | | | | | | | | | | | ---------------------- ./configure.in ./configure ./config/commence.in Added checking for `ar' then `xar' and set the $(AR) variable in the Makefiles. The check is not performed if $AR is already defined in the environment (including being set in a config file). We check for `-lcoug' for ASCI/Red.
* [svn-r310] Fixed a type of H5F_LOW_MPIO. Chose _MPIO over _MPI since thatAlbert Cheng1998-03-063-9/+9
| | | | is more consistent with other names like STDIO.
* [svn-r309] Revised datatype as uint32 is no longer valid.Albert Cheng1998-03-061-2/+2
|
* [svn-r306] Changes since 19980305Robb Matzke1998-03-055-35/+95
| | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-059-60/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r303] Changes since 19980228Robb Matzke1998-03-0430-1153/+1674
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-2812-614/+595
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r301] Changes since 19980226Robb Matzke1998-02-278-79/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./bin/release Changed default to not tag CVS sources. ./src/H5F.c Replaced a constant switch with preprocessor directives. Removed a local variable which was set but not used. ./src/H5Fprivate.h Changed `long long' to `int64' to get rid of ansi warnings in a few places. Fixed bugs in INT64DECODE() and UINT64DECODE() for big-endian architectures. This fixes all the bugs with the Irix -64 compile. ./src/H5F.c The default address and length sizes are set according to the sizeof(size_t) now that the bugs have been fixed. ./src/H5Fpublic.h Removed a trailing comma in an enumerated type. ./src/H5Fstdio.c ./src/H5Fsec2.c Added two more calls to fseek64() and lseek64(). Removed `long long' in place of `int64' to suppress -ansi warnings. ./src/H5P.c Replaced a FAIL with H5F_LOW_ERROR. ./src/H5private.h ./configure.in Increased version number to hdf5-1.0.1a since we've already released hdf5-1.0.0a. Include <sys/types.h>. Fixed indentation. Fixed detection of off64_t for old Irix systems where it might be a struct. ./src/Makefile.in Moved a comment from the shell to the makefile since some versions of sh barf on interactive comments. ./config/linux Allow overriding of the CC variable from the command-line. It still defaults to gcc but this allows us to specify a complete path from test scripts by saying: CC=/usr/local/tools/gnu/gcc sh configure
* [svn-r300] ./MANIFESTRobb Matzke1998-02-262-1470/+0
| | | | | | | Changed names for P->S and C->P changes. ./INSTALL Added a note.
* [svn-r299] Changes since 19980224Robb Matzke1998-02-266-22/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Files.html Added a few details for some of the new H5Pset/get functions. ./src/H5F.c ./src/H5Fpublic.h Fixed automatic closing of files on exit(). Added public H5F_ACC_DEBUG. Using it to create or open a file turns on debugging for that file, which currently just prints cache statistics when the file is closed. ./src/H5G.c An error is returned if one tries to set the current working group to something other than a group. ./src/H5Gnode.c Fixed a symbol table bug. Under certain circumstances it was possible to enter a symbol in such a way that lookup of that symbol failed. A bug report was sent to hdf5dev. ./src/H5P.c ./src/H5Ppublic.h Added the H5Pget_...() functions for file drivers. The H5Pget_mpi() is a no-op that always fails.
* [svn-r298] Changes since 19980219Robb Matzke1998-02-2515-407/+1954
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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().