mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-05 15:42:32 +08:00
Detect when there's the same-shaped selection of a single block of elements on
both selections, but with different selection types (i.e. one selection defined as an 'all' type and the other as a hyperslab or point type), without falling into the generic selection iteration case.
This commit is contained in:
parent
8a2c6d868b
commit
de54cff50c
@ -1885,6 +1885,15 @@ H5S_select_shape_same(const H5S_t *space1, const H5S_t *space2)
|
||||
|
||||
space_a_dim--;
|
||||
} /* end while */
|
||||
|
||||
/* Check for a single block in each selection */
|
||||
if(H5S_SELECT_IS_SINGLE(space_a) && H5S_SELECT_IS_SINGLE(space_b)) {
|
||||
/* If both selections are a single block and their bounds are
|
||||
* the same, then the selections are the same, even if the
|
||||
* selection types are different.
|
||||
*/
|
||||
HGOTO_DONE(TRUE)
|
||||
} /* end if */
|
||||
} /* end if */
|
||||
|
||||
/* If the dataspaces have the same selection type, use the selection's
|
||||
|
@ -9388,15 +9388,15 @@ test_shape_same_dr__smoke_check_1(void)
|
||||
** a "checker board" hyperslab as follows:
|
||||
**
|
||||
** * * - - * * - - * *
|
||||
** * * - - * * - - * *
|
||||
** - - * * - - * * - -
|
||||
** - - * * - - * * - -
|
||||
** * * - - * * - - * *
|
||||
** * * - - * * - - * *
|
||||
** - - * * - - * * - -
|
||||
** - - * * - - * * - -
|
||||
** - - * * - - * * - -
|
||||
** - - * * - - * * - -
|
||||
** * * - - * * - - * *
|
||||
** * * - - * * - - * *
|
||||
** - - * * - - * * - -
|
||||
** - - * * - - * * - -
|
||||
** * * - - * * - - * *
|
||||
** * * - - * * - - * *
|
||||
** * * - - * * - - * *
|
||||
**
|
||||
** where asterisks indicate selected elements, and dashes
|
||||
** indicate unselected elements.
|
||||
|
Loading…
Reference in New Issue
Block a user