diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-04-22 20:21:44 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-04-22 20:21:44 (GMT) |
commit | d9ccc0e0f5edf32e0b70355f4cf2cfb583a12482 (patch) | |
tree | 7513d40d7cbc7ac7f89915be80aeb3bfc7f7acd1 /src/H5Spkg.h | |
parent | e8e696542f60b1749d1ad8e89d561afc50b387e7 (diff) | |
download | hdf5-d9ccc0e0f5edf32e0b70355f4cf2cfb583a12482.zip hdf5-d9ccc0e0f5edf32e0b70355f4cf2cfb583a12482.tar.gz hdf5-d9ccc0e0f5edf32e0b70355f4cf2cfb583a12482.tar.bz2 |
[svn-r8408] Purpose:
Code optimization
Description:
Instead of dynamicly allocating various arrays for various pieces of
information about a selection or selection iterator, just use fixed size
array of size H5S_MAX_RANK (as the rest of the library does).
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
h5committest
Diffstat (limited to 'src/H5Spkg.h')
-rw-r--r-- | src/H5Spkg.h | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/H5Spkg.h b/src/H5Spkg.h index 8eb2682..3053dd8 100644 --- a/src/H5Spkg.h +++ b/src/H5Spkg.h @@ -98,22 +98,11 @@ struct H5S_hyper_span_info_t { struct H5S_hyper_span_t *head; /* Pointer to list of spans in next dimension down */ }; -/* Information about one dimension in a hyperslab selection */ -struct H5S_hyper_dim_t { - hssize_t start; - hsize_t stride; - hsize_t count; - hsize_t block; -}; - /* Information about new-style hyperslab selection */ typedef struct { - H5S_hyper_dim_t *diminfo; /* ->[rank] of per-dim selection info */ - /* diminfo only points to one array, which holds the information - * for one hyperslab selection. Perhaps this might need to be - * expanded into a list of arrays when the H5Sselect_hyperslab's - * restriction to H5S_SELECT_SET is removed. */ - H5S_hyper_dim_t *app_diminfo;/* ->[rank] of per-dim selection info */ + hbool_t diminfo_valid; /* Whether the dataset has valid diminfo */ + H5S_hyper_dim_t opt_diminfo[H5S_MAX_RANK]; /* per-dim selection info */ + H5S_hyper_dim_t app_diminfo[H5S_MAX_RANK]; /* per-dim selection info */ /* 'diminfo' points to a [potentially] optimized version of the user's * hyperslab information. 'app_diminfo' points to the actual parameters * that the application used for setting the hyperslab selection. These |