diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2002-07-01 21:32:13 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2002-07-01 21:32:13 (GMT) |
commit | eb45c3c8a46cb1e21748c432172461592b794328 (patch) | |
tree | 35a7187a844a902b683359254581d0ecdc59228e /src | |
parent | 3b3d15822acd80172e47f560312843001d8a99e0 (diff) | |
download | hdf5-eb45c3c8a46cb1e21748c432172461592b794328.zip hdf5-eb45c3c8a46cb1e21748c432172461592b794328.tar.gz hdf5-eb45c3c8a46cb1e21748c432172461592b794328.tar.bz2 |
[svn-r5740] Purpose:
Bug fix.
Description:
1-D non-contiguous hyperslabs were erroneously being detected as contiguous
and were causing incorrect behavior for parallel I/O benchmark (and
parallel programs in general).
Solution:
Modified algorithm to handle 1-D case correctly.
Platforms tested:
IRIX64 6.5 (modi4)
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Shyper.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c index bf035b4..d24abfc 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -5590,8 +5590,12 @@ H5S_hyper_select_contiguous(const H5S_t *space) small_contiguous=FALSE; /* assume false initially */ /* Check for a "large contigous" block */ - for(u=1; u<space->extent.u.simple.rank; u++) { - if(space->select.sel_info.hslab.diminfo[u].count>1 || space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) { + for(u=0; u<space->extent.u.simple.rank; u++) { + if(space->select.sel_info.hslab.diminfo[u].count>1) { + large_contiguous=FALSE; + break; + } /* end if */ + if(u>0 && space->select.sel_info.hslab.diminfo[u].block!=space->extent.u.simple.size[u]) { large_contiguous=FALSE; break; } /* end if */ |