summaryrefslogtreecommitdiffstats
path: root/src/H5Spkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-04-22 20:21:44 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-04-22 20:21:44 (GMT)
commitd9ccc0e0f5edf32e0b70355f4cf2cfb583a12482 (patch)
tree7513d40d7cbc7ac7f89915be80aeb3bfc7f7acd1 /src/H5Spkg.h
parente8e696542f60b1749d1ad8e89d561afc50b387e7 (diff)
downloadhdf5-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.h17
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