summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-03-17 12:35:46 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-03-17 12:35:46 (GMT)
commit542362385c661084613614f84f422f80c5923523 (patch)
tree749de8a031d7235825881e1d9b2f6693501cc5c3
parent09a8e85f27c6d999815ff625c3b87b3c69978c57 (diff)
downloadhdf5-542362385c661084613614f84f422f80c5923523.zip
hdf5-542362385c661084613614f84f422f80c5923523.tar.gz
hdf5-542362385c661084613614f84f422f80c5923523.tar.bz2
[svn-r3653] Purpose:
Bug Fix Description: Partial hyperslabs which exactly fit the size of the lowest dimension of a chunked dataset weren't being output correctly. Solution: Forgot to divide the offset (seq_len) by the size of the lower dimension hyperslabs - fixed now. Platforms tested: FreeBSD 4.2 (hawkwind)
-rw-r--r--src/H5Dseq.c4
-rw-r--r--src/H5Fseq.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/H5Dseq.c b/src/H5Dseq.c
index 56026e2..602183e 100644
--- a/src/H5Dseq.c
+++ b/src/H5Dseq.c
@@ -253,7 +253,7 @@ printf("%s: Need to get hyperslab, seq_len=%ld, coords[%d]=%ld\n",FUNC,(long)seq
/* Build the partial hyperslab information */
for(j=0; j<ndims; j++) {
if(i==j)
- hslab_size[j]=MIN(seq_len,dset_dims[i]-coords[i]);
+ hslab_size[j]=MIN(seq_len/down_size[i],dset_dims[i]-coords[i]);
else
if(j>i)
hslab_size[j]=dset_dims[j];
@@ -687,7 +687,7 @@ printf("%s: Need to get hyperslab, seq_len=%ld, coords[%d]=%ld\n",FUNC,(long)seq
/* Build the partial hyperslab information */
for(j=0; j<ndims; j++) {
if(i==j)
- hslab_size[j]=MIN(seq_len,dset_dims[i]-coords[i]);
+ hslab_size[j]=MIN(seq_len/down_size[i],dset_dims[i]-coords[i]);
else
if(j>i)
hslab_size[j]=dset_dims[j];
diff --git a/src/H5Fseq.c b/src/H5Fseq.c
index 56026e2..602183e 100644
--- a/src/H5Fseq.c
+++ b/src/H5Fseq.c
@@ -253,7 +253,7 @@ printf("%s: Need to get hyperslab, seq_len=%ld, coords[%d]=%ld\n",FUNC,(long)seq
/* Build the partial hyperslab information */
for(j=0; j<ndims; j++) {
if(i==j)
- hslab_size[j]=MIN(seq_len,dset_dims[i]-coords[i]);
+ hslab_size[j]=MIN(seq_len/down_size[i],dset_dims[i]-coords[i]);
else
if(j>i)
hslab_size[j]=dset_dims[j];
@@ -687,7 +687,7 @@ printf("%s: Need to get hyperslab, seq_len=%ld, coords[%d]=%ld\n",FUNC,(long)seq
/* Build the partial hyperslab information */
for(j=0; j<ndims; j++) {
if(i==j)
- hslab_size[j]=MIN(seq_len,dset_dims[i]-coords[i]);
+ hslab_size[j]=MIN(seq_len/down_size[i],dset_dims[i]-coords[i]);
else
if(j>i)
hslab_size[j]=dset_dims[j];