diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-11-20 22:12:52 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-11-20 22:12:52 (GMT) |
commit | 3aa3af4fb6a4c4fe9c5b69306a31ee1fc1ed1bf6 (patch) | |
tree | dde58a467b14f9a5f9a67d669d47ba42d1bdafaa /src/H5Dpkg.h | |
parent | 3d7bb85a3d267704507ffc708395bda17ac98166 (diff) | |
download | hdf5-3aa3af4fb6a4c4fe9c5b69306a31ee1fc1ed1bf6.zip hdf5-3aa3af4fb6a4c4fe9c5b69306a31ee1fc1ed1bf6.tar.gz hdf5-3aa3af4fb6a4c4fe9c5b69306a31ee1fc1ed1bf6.tar.bz2 |
[svn-r14278] Description:
- Remember # of elements in file selection, instead of querying more than
once
- Handle building chunk map for single element as special case
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5Dpkg.h')
-rw-r--r-- | src/H5Dpkg.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index 9ac7f05..4fbec67 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -200,21 +200,26 @@ typedef struct H5D_chunk_info_t { /* Main structure holding the mapping between file chunks and memory */ typedef struct H5D_chunk_map_t { - H5SL_t *fsel; /* Skip list containing file dataspaces for all chunks */ - hsize_t last_index; /* Index of last chunk operated on */ - H5D_chunk_info_t *last_chunk_info; /* Pointer to last chunk's info */ + H5O_layout_t *layout; /* Dataset layout information*/ + hsize_t nelmts; /* Number of elements selected in file & memory dataspaces */ + const H5S_t *file_space; /* Pointer to the file dataspace */ - const H5S_t *mem_space; /* Pointer to the memory dataspace */ + unsigned f_ndims; /* Number of dimensions for file dataspace */ hsize_t f_dims[H5O_LAYOUT_NDIMS]; /* File dataspace dimensions */ + + const H5S_t *mem_space; /* Pointer to the memory dataspace */ H5S_t *mchunk_tmpl; /* Dataspace template for new memory chunks */ - unsigned f_ndims; /* Number of dimensions for file dataspace */ H5S_sel_iter_t mem_iter; /* Iterator for elements in memory selection */ unsigned m_ndims; /* Number of dimensions for memory dataspace */ + H5S_sel_type msel_type; /* Selection type in memory */ + + H5SL_t *fsel; /* Skip list containing file dataspaces for all chunks */ + hsize_t last_index; /* Index of last chunk operated on */ + H5D_chunk_info_t *last_chunk_info; /* Pointer to last chunk's info */ hsize_t chunks[H5O_LAYOUT_NDIMS]; /* Number of chunks in each dimension */ hsize_t chunk_dim[H5O_LAYOUT_NDIMS]; /* Size of chunk in each dimension */ hsize_t down_chunks[H5O_LAYOUT_NDIMS]; /* "down" size of number of chunks in each dimension */ - H5O_layout_t *layout; /* Dataset layout information*/ - H5S_sel_type msel_type; /* Selection type in memory */ + #ifdef H5_HAVE_PARALLEL hsize_t total_chunks; /* Number of total chunks */ hbool_t *select_chunk; /* store the information about whether this chunk is selected or not */ |