behavior of H5Sselect_elements()

Hi all,

We use this call in H5hut to allow the user to do a point selection on
a dataset. Previously, I thought it worked like in this example:

1) I call H5Sselect_elements() with the H5S_SELECT_SET operation, an
"coord" array of [0,3,6,9] and num_elements=4
2) I do a H5Dread to a buffer with enough space for 4 elements, and I
get back a *packed* array with elements 0,3,6,9 and nothing in between

Recently though our regression test for this in H5hut failed with
1.8.5 and 1.8.6, and when I looked closer I realized that H5Dread is
giving me a sparsely packed array that wants to be 10 elements long
with only 0,3,6,9 filled in and the others left untouched.

Did the behavior of H5Sselect_elements() change in a recent release,
or has there always been something wrong with our regression test, and
I never should have gotten back a packed array from H5Dread?

Thanks,
Mark

Hi Mark,

···

On May 3, 2011, at 4:22 PM, Mark Howison wrote:

Hi all,

We use this call in H5hut to allow the user to do a point selection on
a dataset. Previously, I thought it worked like in this example:

1) I call H5Sselect_elements() with the H5S_SELECT_SET operation, an
"coord" array of [0,3,6,9] and num_elements=4
2) I do a H5Dread to a buffer with enough space for 4 elements, and I
get back a *packed* array with elements 0,3,6,9 and nothing in between

Recently though our regression test for this in H5hut failed with
1.8.5 and 1.8.6, and when I looked closer I realized that H5Dread is
giving me a sparsely packed array that wants to be 10 elements long
with only 0,3,6,9 filled in and the others left untouched.

Did the behavior of H5Sselect_elements() change in a recent release,
or has there always been something wrong with our regression test, and
I never should have gotten back a packed array from H5Dread?

  Nope, H5Sselect_elements has never returned a packed array. I'd lean toward an incorrect regression test. (Although it's always possible to have a bug in the HDF5 library, also)

  Quincey