diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-04-02 20:51:41 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-04-02 20:51:41 (GMT) |
commit | d2232a345f36988f4a60034d63ddca25c476fc08 (patch) | |
tree | 2ba460735cb162b5ee94ae98f0d46873488fa454 /src/H5Spoint.c | |
parent | c1e44699f0460cd5a675a71dc85296740f07063a (diff) | |
download | hdf5-d2232a345f36988f4a60034d63ddca25c476fc08.zip hdf5-d2232a345f36988f4a60034d63ddca25c476fc08.tar.gz hdf5-d2232a345f36988f4a60034d63ddca25c476fc08.tar.bz2 |
[svn-r5130] Purpose:
Bug Fix & Feature
Description:
The selection offset was being ignored for optimized hyperslab selection
I/O operations.
Additionally, I've found that the restrictions on optimized selection
I/O operations were too strict and found a way to allow more hyperslabs
to use the optimized I/O routines.
Solution:
Incorporate the selection offset into the selection location when performing
optimized I/O operations.
Allow optimized I/O on any single hyperslab selection and also allow
hyperslab operations on chunked datasets.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Diffstat (limited to 'src/H5Spoint.c')
-rw-r--r-- | src/H5Spoint.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/H5Spoint.c b/src/H5Spoint.c index 06f198d..5cb9079 100644 --- a/src/H5Spoint.c +++ b/src/H5Spoint.c @@ -1086,6 +1086,7 @@ H5S_point_bounds(H5S_t *space, hsize_t *start, hsize_t *end) FUNC_LEAVE (ret_value); } /* H5Sget_point_bounds() */ + /*-------------------------------------------------------------------------- NAME @@ -1129,6 +1130,43 @@ H5S_point_select_contiguous(const H5S_t *space) /*-------------------------------------------------------------------------- NAME + H5S_point_select_single + PURPOSE + Check if a point selection is single within the dataspace extent. + USAGE + htri_t H5S_point_select_contiguous(space) + H5S_t *space; IN: Dataspace pointer to check + RETURNS + TRUE/FALSE/FAIL + DESCRIPTION + Checks to see if the current selection in the dataspace is a single block. + This is primarily used for reading the entire selection in one swoop. + GLOBAL VARIABLES + COMMENTS, BUGS, ASSUMPTIONS + EXAMPLES + REVISION LOG +--------------------------------------------------------------------------*/ +htri_t +H5S_point_select_single(const H5S_t *space) +{ + htri_t ret_value=FAIL; /* return value */ + + FUNC_ENTER (H5S_point_select_single, FAIL); + + assert(space); + + /* One point is definitely contiguous */ + if(space->select.num_elem==1) + ret_value=TRUE; + else + ret_value=FALSE; + + FUNC_LEAVE (ret_value); +} /* H5S_point_select_single() */ + + +/*-------------------------------------------------------------------------- + NAME H5S_select_elements PURPOSE Specify a series of elements in the dataspace to select |