summaryrefslogtreecommitdiffstats
path: root/src/H5Sprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r1374] Added in code to support the H5Diterate function, which I've got ↵Quincey Koziol1999-06-241-0/+10
| | | | | | | to add tests for now. Also, I revised some of the code for hyperslab I/O, which should provide a modest speedup in situations with lots of hyperslabs.
* [svn-r1277] Added additional checks into the dataspace code to determine if ↵Albert Cheng1999-05-251-0/+3
| | | | | | | | | the hyperslabs being written out are contiguous in memory and on disk and write/read them as one I/O operation (if the datatypes don't require conversion). This should be a good performance boost for those situations. It's especially needed on the ASCI Red (TFlops) machine. - QAK (from Albert's account on modi4 :-)
* [svn-r1240] Changes since 19990427Robb Matzke1999-04-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5ls.c Added a `--address' (`-a') switch which causes h5ls to display file addresses for raw data. For contiguous datasets it's just a nice simple number, but for chunked datasets it's a list of logical dataset coordinates, file addresses, filter masks, and storage sizes. Changed `--dump' switch to `--data'. ./src/H5D.c ./src/H5F.c ./src/H5Fprivate.h Enhanced the indexed-storage B-tree iterator so it can dump raw data addresses (and other info) to the standard error stream. Added H5Ddebug() so h5ls has a way to dump addresses for datasets. I'm not sure what else this API function should do, so I think we should discuss it before we document it. So far, h5ls is the only thing that uses it, and we can easily change that. ./src/H5Tconv.c ./test/dtypes.c Finally had a chance to verify Paul's H5T_conv_s_s (general string to string conversions) bug fixes and incorporate them into H5T_conv_f_f (general floating-point to floating-point conversions) and H5T_conv_i_i (general integer to integer conversons). Thanks Paul. ./src/H5D.c ./src/H5S.c ./src/H5Sprivate.h Added performance timers around data space read and write callbacks. They were already there for the gather/scatter callbacks. The timings for read/write callbacks are displayed along with gather/scatter when data space debugging is turned on. ./bin/iostats Updated to print totals. Added a `--fast' option that doesn't do any output except the totals and is much faster. ./bin/trace Changed __unused__ to UNUSED to match source code. ./config/gnu-flags Updated error message for pgcc. I've sent bug reports to the pgcc people but the new version still has the same bug. ./configure.in ./config/conclude.in ./config/depend.in Fixed dependencies for non-GNU makes when run in a directory other than the hdf5 source tree. Updated GNU `make dep' rules to copy the distributed dependencies for non-GNU makes into the source tree when run in some other directory.
* [svn-r1210] Changed parameters for function calls which figure out the ↵Quincey Koziol1999-04-231-5/+7
| | | | | | | | | | | | | | | buffer size for H5Dread/H5Dwrite to use to allow the I/O calls to break up a user's buffer into pieces that are at least as large as the sequence of bytes being written in the fastest changing dimension. Also fixed a hard-to-find bug in the hyperslab I/O routines which could cause data to be corrupted when writing out fields to compound datatype data with background preservation turned on and hyperslabs which were large enough to require two I/O passes on a hyperslab block. A pretty obscure situation, but it would be worthwhile for users to upgrade to this code in order to be certain that correct data is being written.
* [svn-r1204] Changes since 19990415Robb Matzke1999-04-231-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/depend.in Fixed automatic dependencies. We were storing dependencies for *.o files instead of *.lo files after shared libraries were added. ./config/gnu-flags ./config/linux-gnulibc1 Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from the linux file to this file and caused it to depend on the CPU name. This fixes one of Elena's bugs. ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dprivate.h ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fmpio.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gnode.c ./src/H5P.c ./src/H5RA.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/H5Tpublic.h ./test/istore.c Added an H5Dget_storage_size() function that reports the amount of storage allocated for raw data in a dataset. Changed H5D_xfer_* to H5F_xfer_* because these properties are more general than datasets. This also allows some of the lower-level I/O functions to get this information easier. ./src/H5S.c ./src/H5Sall.c Added two new functions H5S_all_read() and H5S_all_write() which are optimizations that copy data directly between file and memory without having to go through the scatter gather step. This knocks quite a bit of time off the I/O and reading/writing entire datasets is a fairly common operation. ./tools/h5ls.c Reports the logical size of data, the allocated size of data, and the percent utilization. ./MANIFEST Removed old pablo files, added new files. Snapshots should now start to work again. ./src/H5D.c ./src/H5Fmpio.c Removed two warnings signed vs. unsigned comparisons and check for overflow.
* [svn-r1135] Expanded API for reading lists blocks/points to allow for just a ↵Quincey Koziol1999-03-111-1/+0
| | | | | | portion of the block/point-list to be read at a time.
* [svn-r1132] Dataset region references are now finished and working ↵Quincey Koziol1999-03-101-0/+6
| | | | | | | | | | | | | | | | | | | | correctly. Also, there are five new API functions for querying selections: H5Sget_select_hyper_nblocks - retrieves the number of hyperslab blocks in current hyperslab selection for a dataspace H5Sget_select_elem_npoints - retrieves the number of element points in current element selection for a dataspace H5Sget_select_hyper_blocklist - retrieves a list of the hyperslab blocks in current hyperslab selection for a dataspace H5Sget_select_elem_pointlist - retrieves a list of the element points in current element selection for a dataspace H5Sget_select_bounds - retrieves a n-dimensional bounding box containing current selection.
* [svn-r1106] Cleaned up a few compiler warnings, etc.Quincey Koziol1999-02-251-1/+1
|
* [svn-r1078] Changes since 19990215Robb Matzke1999-02-181-75/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c Fixed more dependency problems in H5_term_library(). There was a bug in the previous version that could cause the wrong EOF marker to be written to the boot block under certain circumstances. Hopefully this fixes it although I don't ready access to a test case (Mark Miller will test it). ./src/H5F.c ./src/H5Fprivate.h Added an H5F_close_all() that is similar to H5F_term_interface() but which doesn't close the interface. Files that don't have open object headers are closed, others are delayed until all object headers close. All files are flushed. ./src/H5ACprivate.h ./src/H5Bprivate.h ./src/H5Dprivate.h ./src/H5Eprivate.h ./src/H5Fprivate.h ./src/H5Gpkg.h ./src/H5Gprivate.h ./src/H5Gpublic.h ./src/H5HGprivate.h ./src/H5HLprivate.h ./src/H5Iprivate.h ./src/H5MFprivate.h ./src/H5MMprivate.h ./src/H5Oprivate.h ./src/H5Pprivate.h ./src/H5Ppublic.h ./src/H5RAprivate.h ./src/H5Sprivate.h ./src/H5Spublic.h ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5Tpublic.h ./src/H5Vprivate.h ./src/H5Zprivate.h ./src/H5private.h ./src/H5public.h Reindented after __DLL__ was added.
* [svn-r1051] changed the HDF5DLL and HDF5GLOBAL to __DLL__ and __DLLVAR__Patrick Lu1999-02-021-71/+71
| | | | also exported all globals and non static functions to the dll
* [svn-r947] Lots of patches to enable dataset region references. The testing ↵Quincey Koziol1998-11-251-0/+8
| | | | | | for these need to be finished and checked in still.
* [svn-r925] Changes since 19981116Robb Matzke1998-11-181-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL.parallel [NEW] We're beginning to unify some of the parallel installation steps. This file will contain general information for installing the parallel library. It's not complete yet. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Check for xdr_int() in libnsl required on Solaris when linking with hdf4. It's found on the Irix system I tested which complains that `-lnsl' didn't resolve any symbols. Oh well. Fixed the order of searching for libdf and libmfhdf for hdf4 linking. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5Z.c Check for compress() in libz in order to find older versions of the library that will still work for hdf4. Added a separate check for compress2() that hdf5 will use. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5.c ./src/H5private.h ./src/H5A.c ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fprivate.h ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5Gprivate.h ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Oprivate.h ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5R.c ./src/H5RA.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/H5Sselect.c ./src/H5T.c ./src/H5Tbit.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5V.c ./test/bittests.c ./test/gheap.c ./test/hyperslab.c ./test/istore.c ./test/tmeta.c ./test/trefer.c ./test/tselect.c ./tools/h5debug.c ./tools/h5tols.c Added checks for Posix.1g types like `int8_t'. If not defined then H5private.h defines them. Changed all `int8' etc. to `int8_t'. ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5I.c ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5T.c ./src/H5TB.c ./src/H5Z.c Calling H5*_term_interface() resets interface_initialize_g to FALSE so a subsequent call to H5open() (implied or explicit) reinitializes global variables properly. ./src/H5private.h ./src/H5Oefl.c ./src/H5S.c Changed MAX_SIZET, MAX_SSIZET, MAX_HSIZET, and MAX_HSSIZET to SIZET_MAX, SSIZET_MAX, HSIZET_MAX, and HSSIZE_MAX to they match the Posix.1 constants in <limits.h>. ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5detect.c Added 36 more integer hardware conversion functions to the type conversion table for conversions to/from `long long' and `unsigned long long'. The `long long' names will be changed shortly to make them portable to Win32. Changed H5T_init() to H5T_native_open() and added an H5T_native_close() to open and close the predefined native data types. Increased the initial size of the type conversion table from 64 to 128 entries. Reordered the 90 new integer conversion functions so the names that are printed favor `int' over `short' or `long' when two of them are the same. ./test/dtypes.c Added hardware and software integer conversion tests for the 56 functions I added recently but not the additional 36 checked in this time. That will come next. Call H5close() after each test so type conversion statistics are easier to follow. Try this: $ HDF5_DEBUG=t ./dtypes Added more debugging output for when things go wrong. ./src/H5private.h Removed trailing carriage-returns inserted by broken operating system ;-)
* [svn-r904] Fixed bug in H5dont_atexit.Quincey Koziol1998-11-131-0/+10
| | | | | | | Plugged a memory leak in the union of hyperslabs code. Checkpointing dataset region references, which are working, but not stored in file yet.
* [svn-r890] changed the name of the union member hyper to be hslab.Patrick Lu1998-11-101-1/+1
| | | | caused a conflict on winNT because hyper is a keyword
* [svn-r800] Made a "htri_t" as a return value from "boolean" functions returningQuincey Koziol1998-10-261-4/+4
| | | | TRUE/FALSE/FAIL, hbool_t is now strictly for true boolean values.
* [svn-r793] Changed return value for H5Sget_select_npoints to hssize_t to ↵Quincey Koziol1998-10-261-1/+1
| | | | | | enable negative return values.
* [svn-r733] Robb Matzke1998-10-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 19980930 ---------------------- ./MANIFEST ./doc/html/H5.format.html ./src/H5D.c ./src/H5Dprivate.h ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5O.c ./src/H5Ofill.c [NEW] ./src/H5Oprivate.h ./src/H5P.c ./src/H5Ppublic.h ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/Makefile.in Added fill values as documented in previous e-mails. They only work for chunked datasets so far. ./src/H5E.c ./src/H5Epublic.h ./src/H5P.c Changed H5E_TEMPLATE to H5E_PLIST. ./src/H5Omtime.c ./src/H5V.c Fixed a typo in a comment. ./src/H5Tconv.c Fixed a bug in compound type conversions that caused an assertion to fail.
* [svn-r730] Changes since 19980928Robb Matzke1998-09-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST Changed freebsd2.2.1 to freebsd2.2.7 to match change in file name. Added a few missing files. Are all of these supposed to be distributed? ./tools/testfiles/h5dumptst.c + ./tools/testfiles/tall-1.ddl + ./tools/testfiles/tall-2.ddl + ./tools/testfiles/tall-3.ddl ./tools/testfiles/tall.ddl ./tools/testfiles/tall.h5 + ./tools/testfiles/tattr-1.ddl + ./tools/testfiles/tattr-2.ddl + ./tools/testfiles/tattr-3.ddl + ./tools/testfiles/tattr-4.ddl ./tools/testfiles/tattr.ddl ./tools/testfiles/tattr.h5 + ./tools/testfiles/tdset-1.ddl + ./tools/testfiles/tdset-2.ddl + ./tools/testfiles/tdset-3.ddl + ./tools/testfiles/tdset-4.ddl ./tools/testfiles/tdset.ddl ./tools/testfiles/tdset.h5 + ./tools/testfiles/tgroup-1.ddl + ./tools/testfiles/tgroup-2.ddl + ./tools/testfiles/tgroup-3.ddl ./tools/testfiles/tgroup.ddl ./tools/testfiles/tgroup.h5 + ./tools/testfiles/tslink-1.ddl + ./tools/testfiles/tslink-2.ddl ./tools/testfiles/tslink.ddl ./tools/testfiles/tslink.h5 ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dprivate.h ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5Gstab.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h ./test/istore.c Implemented split ratios as documented in previous e-mails. Frank, the new API functions are H5Pget_btree_ratios() and H5Pset_btree_ratios(). ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h Added more type checking for the data transfer property list passed to these functions. ./src/H5D.c Added a dataset transfer property list as an argument to H5D_allocate() for the parallel version in order to pass split ratios down to H5F_istore_lock(). Eventually we won't need the split ratios for H5D_allocate() because we'll build a completely full B-tree from the leaves up, but it might be useful to have other transfer properties at that level anyway. I always caled H5D_allocate() with &H5D_dflt_xfer. ./MANIFEST ./test/Makefile.in ./test/overhead.c [NEW] Added an `overhead' test run by `make timings'.
* [svn-r717] Added code to support unioning hyperslabs with the H5S_SELECT_OR ↵Quincey Koziol1998-09-231-2/+3
| | | | | | operation to H5Sselect_hyperslab.
* [svn-r712] Added temporary buffer support to several places in the library ↵Quincey Koziol1998-09-211-13/+18
| | | | | | | which were calling malloc too often. Also, added caching of hyperslab blocks, which improves performance _significantly_ for hyperslab I/O.
* [svn-r706] Added must_convert parameter to sconv->read and sconv->write ↵Robert Kim Yates1998-09-181-4/+20
| | | | | | | functions so that reads/writes can proceed in the unoptimized way if necessary, rather than simply failing if they can't be optimized.
* [svn-r654] Fixed last bug (hah! ;-) for beta release, changed H5Gget_stat to ↵Quincey Koziol1998-09-021-8/+4
| | | | | | H5Gget_objinfo and renamed internal functions to match up with the renamed API functions.
* [svn-r628] MPI buffer and file type optimization is bypassed,Robert Kim Yates1998-08-281-0/+6
| | | | unless the environment variable HDF5_MPI_OPT_TYPES is nonzero.
* [svn-r620] Changes since 19980825Robb Matzke1998-08-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./src/H5R.c [NEW] ./src/H5Rprivate.h [NEW] ./src/H5Rpublic.h [NEW] ./src/Makefile.in ./src/hdf5.h ./test/ragged.c [NEW] Preliminary support for 2d ragged arrays for Mark Miller and Jim Reus. Not fully implemented yet. The test is not actually part of `make test' because we still have some memory problems. ./src/H5E.c ./src/H5Epublic.h Added H5E_RAGGED as a major error number. ./bin/release Checks the MANIFEST file against `svf ls' on systems that have it. ./bin/trace Fixed a bug that caused arguments of type `void *x[]' to not be handled. ./src/H5.c Removed unused variables and changed a couple types to fix compiler warnings. Added tracing support for ragged array object ID's and arrays of pointers. ./src/H5D.c H5Dcreate() will complain if either of the property lists are invalid (instead of using the default). ./src/H5D.c ./src/H5Dprivate.h Split H5Dget_space() into an API and internal function so it can be called from the new ragged array layer. ./src/H5Fistore.c Fixed warnings about unsigned vs. signed comparisons. ./src/H5Flow.c Fixed a warning about a variable being shadowed in the MPI-IO stuff. ./src/H5Iprivate.h ./src/H5Ipublic.h Added the H5_RAGGED atom group. ./src/H5Shyper.c Fixed some freeing-free-memory errors that resulted when certain arrays were freed but the pointers were left in the data structures. I simply set the pointers to null after they were freed. ./src/H5Sprivate.h ./src/H5Sselect.c Split the H5Sselect_hyperslab() function into an API and a private function so it could be called from the ragged array layer. Added H5S_SEL_ERROR and H5S_SEL_N to the switch statements to get rid or compiler warnings. ./src/H5Tconv.c Removed a misleading comment. ./test/bittests.c Fixed a warning about a printf(). ./test/cmpd_dset.c Fixed warnings about unused variables because of test #11 being commented out. ./bin/trace Shortened the right margin for the output to allow room for the `);' at the end of the TRACE() macros.
* [svn-r598] Added code to convert HDF dataspace selections to MPI datatypes.Robert Kim Yates1998-08-171-3/+37
|
* [svn-r588] Changes since 19980810Robb Matzke1998-08-131-139/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./src/H5Ssimp.c [REMOVED] ./src/Makefile.in Removed H5Ssimp.c since it was no longer used. ./bin/snapshot Fixed a few minor things to make it work better. ./src/H5D.c Cleaned up H5D_read() and H5D_write() by combining some code in each. Added timing calls around the data space calls when H5S_DEBUG is defined. ./src/H5S.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h Changed H5S_find() so it returns a table entry again instead of copying the data into a caller-supplied buffer. This allows the timers to be stored in the table and updated by the caller. Added H5S_register() to register new table entries and added entry creation to all the H5S selection methods. Also changed lots of global functions to static functions. ./src/H5Fistore.c Fixed a memory bug in the raw data cache.
* [svn-r569] Changes since 19980731Robb Matzke1998-08-051-52/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./bin/release Added ./Makefile to the distribution again -- it got lost in the changes last week although it isn't all that important a file since it gets clobbered by configure anyway. ./bin/trace ./doc/html/Filters.html ./doc/html/H5.format.html ./doc/html/H5.user.html ./src/H5.c ./src/H5D.c ./src/H5Dprivate.h ./src/H5E.c ./src/H5Epublic.h ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5O.c ./src/H5Ocomp.c ./src/H5Oprivate.h ./src/H5P.c ./src/H5Ppublic.h ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/H5Ssimp.c ./src/H5Z.c ./src/H5Zprivate.h ./src/H5Zpublic.h ./src/hdf5.h ./test/dsets.c ./tools/h5ls.c Added the data filter pipeline, a generalization of the compression stuff which allows things like checksums, encryption, compression, performance monitoring, etc. See ./doc/html/Filters.html for details -- it replaces the Compression.html doc. ./src/H5T.c Cleaned up debugging output. ./config/linux Added checks for egcs and pgcc and changed optimization flags for the compilers. ./src/H5G.c ./tools/h5dump.c Fixed compiler warnings in these files and others. ./configure.in ./src/H5private.h ./test/mtime.c Added a check for difftime() and defined HDdifftime() to do something else on systems that don't have difftime().
* [svn-r566] Fixed offset code [finally :-/ ] for selections.Quincey Koziol1998-08-041-1/+4
|
* [svn-r538] Added H5Sset_extent_none and H5Sextent_copy functions. They are ↵Quincey Koziol1998-07-231-0/+1
| | | | | | wrappers around features already tested.
* [svn-r530] Added code so H5Scopy copies selections properly.Quincey Koziol1998-07-221-0/+3
|
* [svn-r523] Changes since 19980720Robb Matzke1998-07-211-0/+2
| | | | | | | | | | | | | | | ---------------------- ./test/dtypes.c We try to detect whether floating point overflow generates a SIGFPE and if it does we don't test overflow cases. ./test/H5Sprivate.h ./test/H5S.c ./test/H5Oattr.c Added an H5S_debug() which is called from H5O_attr_debug() and which has a switch statement to handle the various data type messages.
* [svn-r519] Strided hyperslab selections now work.Quincey Koziol1998-07-201-0/+1
|
* [svn-r495] Finished debugging element selections. H5Sselect_elements call ↵Quincey Koziol1998-07-151-1/+1
| | | | | | now working correctly (as opposed to not at all... :-)
* [svn-r493] Fixed a bug when iterating through hyperslabs with greater than 2 ↵Quincey Koziol1998-07-151-1/+1
| | | | dimensions.
* [svn-r490] Changed more API functions to the new names as documented.Quincey Koziol1998-07-141-1/+1
|
* [svn-r480] Fixed an ugly bug by teaching the recursive hyperslab I/O code ↵Quincey Koziol1998-07-101-0/+1
| | | | | | | how to resume when a buffer gets full. Also removed the check for disallowing zero-dim extents on unlimited dimension datasets, per user's request.
* [svn-r473] Changes since 19980708Robb Matzke1998-07-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5Fistore.c ./src/H5S.c Fixed places where `herr_t' functions returned NULL for failure: H5F_istore_get_addr() and printf(?!?) (probably because a printf() was in the first column :-/ so I don't know what function it really was that I fixed), and H5S_extent_copy(). ./src/H5Fprivate.h Added declarations for H5F_istore_get_addr() and H5F_istore_allocate(). ./src/H5S.c ./src/H5Sprivate.h Split H5Sset_extent_simple() into H5S_set_extent_simple() and replaced calls to the API function with calls to the internal function. Changed calls to H5Screate() to H5S_create() and H5Sclose() to H5S_close(). ./src/H5Shyper.c ./src/H5Spoint.c Removed unused labels and variable. ./src/H5T.c ./src/H5Tconv.c Changed calls to H5Tfind() to H5T_find(). ./src/H5TB.c Split function return type onto a separate line for five functions and added API tracing calls.
* [svn-r464] Plugged several memory leaks in the hyperslab selection iterators.Quincey Koziol1998-07-071-1/+3
|
* [svn-r463] H5S.c:Albert Cheng1998-07-071-1/+1
| | | | | | | | | | | 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 *.
* [svn-r455] Fixed various const and signed/unsigned problems and corrected ↵Quincey Koziol1998-07-071-4/+4
| | | | | | one incorrect type. Should compile much cleaner now.
* [svn-r451] Completely tore out existing dataspace API and replaced with code ↵Quincey Koziol1998-07-061-46/+217
| | | | | | | | 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.
* [svn-r418] ./html/Files.htmlRobb Matzke1998-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./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-r411] Added data-transfer-mode to various function to specify whichAlbert Cheng1998-06-071-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mode to use for data transfer. Currently, INDEPENDENT transfer is the default mode. Collective is supported for files opened via the MPIO driver. Specific changes to individual files follow. H5D.c: Replaced previous kludge of passing xfer_mode via the file access_mode with xfer_mode function parameter all the way to the low level I/O drivers. H5Dprivate.h: The H5D_xfer_t.xfer_mode is now used in serial and parallel modes. Removed the "HAVE_PARALLEL" macro condition to support it. H5Dpublic.h: Added H5D_XFER_DFLT as a new value for H5D_transfer_t and removed the HAVE_PARALLEL condition macro to make the H5D_transfer_t definition available to both serial and parallel version. H5B.c: H5F.c: H5Farray.c: H5Fcore.c: H5Ffamily.c: H5Fistore.c: H5Flow.c: H5Fmpio.c: H5Fsec2.c: H5Fsplit.c: H5Fstdio.c: H5Gnode.c: H5HG.c: H5HL.c: H5O.c: H5Sprivate.h: H5Ssimp.c: debug.c: Added xfer_mode to the argument lists of the following routines to specify data transfer mode. Then updated calls to these routines with appropriate transfer mode. Whenever cases that collective mode is inappropriate (e.g. object header read-write, flush), H5D_XFER_DFLT is used. The H5D_XFER_DFLT mode is currently acting the same as the independent mode. H5F_block_read H5F_block_write H5F_arr_read H5F_arr_write H5F_core_read H5F_core_write H5F_fam_read H5F_fam_write H5F_mpio_read H5F_mpio_write H5F_low_write H5F_low_read H5F_sec2_read H5F_sec2_write H5F_split_read H5F_split_write H5F_stdio_read H5F_stdio_write H5S_simp_fgath H5S_simp_fscat H5S_simp_read H5S_simp_write H5Fprivate.h: H5P.c: Removed access_mode field from struct H5F_access_t type. The access-mode was the initial design to control independent or collective I/O mode. It is now supported by the data transfer mode.
* [svn-r361] Added Attribute (H5A) code.Quincey Koziol1998-04-231-0/+1
|
* [svn-r353] Changes since 19980414Robb Matzke1998-04-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r338] Changes since 19980407Robb Matzke1998-04-081-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r322] Changes since 19980313Robb Matzke1998-03-171-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-131-0/+20
| | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r305] Changes since 19980304Robb Matzke1998-03-051-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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.