summaryrefslogtreecommitdiffstats
path: root/src/H5Spkg.h
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2020-07-10 01:53:18 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2020-07-10 01:53:18 (GMT)
commit443aa9a38f59bf4148925a86c07cfe14bac9e888 (patch)
tree81f04824889f75942fe8da6b313ac1a4de3d1350 /src/H5Spkg.h
parent07dc34123861eed0f4d04dea29094649dec679bf (diff)
downloadhdf5-443aa9a38f59bf4148925a86c07cfe14bac9e888.zip
hdf5-443aa9a38f59bf4148925a86c07cfe14bac9e888.tar.gz
hdf5-443aa9a38f59bf4148925a86c07cfe14bac9e888.tar.bz2
Moved over the H5S_hyper_diminfo_t from develop.
Also fixed the issue with the H5S_diminfo_valid_t enum from the last commit.
Diffstat (limited to 'src/H5Spkg.h')
-rw-r--r--src/H5Spkg.h26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/H5Spkg.h b/src/H5Spkg.h
index 9013adf..5e73e8e 100644
--- a/src/H5Spkg.h
+++ b/src/H5Spkg.h
@@ -143,24 +143,30 @@ struct H5S_hyper_span_info_t {
/* Enum for diminfo_valid field in H5S_hyper_sel_t */
typedef enum {
- /* DER: Revert to develop order once the hyperslab optimizations are complete */
- H5S_DIMINFO_VALID_NO, /* 1: diminfo is not valid but may or may not be possible to constuct */
H5S_DIMINFO_VALID_IMPOSSIBLE, /* 0: diminfo is not valid and can never be valid with the current selection */
+ H5S_DIMINFO_VALID_NO, /* 1: diminfo is not valid but may or may not be possible to constuct */
H5S_DIMINFO_VALID_YES /* 2: diminfo is valid */
} H5S_diminfo_valid_t;
+/* Information about 'diminfo' form of hyperslab selection */
+typedef struct {
+ /* 'opt' points to a [potentially] optimized version of the user's
+ * regular hyperslab information. 'app' points to the actual parameters
+ * that the application used for setting the hyperslab selection.
+ *
+ * The 'app' values are only used for regurgitating the original values
+ * used to set the hyperslab to the application when it queries the
+ * hyperslab selection information.
+ */
+ H5S_hyper_dim_t app[H5S_MAX_RANK]; /* Application-set per-dim selection info */
+ H5S_hyper_dim_t opt[H5S_MAX_RANK]; /* Optimized per-dim selection info */
+} H5S_hyper_diminfo_t;
+
/* Information about hyperslab selection */
typedef struct {
H5S_diminfo_valid_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 */
- /* 'opt_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
- * are only used for re-gurgitating the original values used to set the
- * hyperslab to the application when it queries the hyperslab selection
- * information. */
+ H5S_hyper_diminfo_t diminfo; /* Dimension info form of hyperslab selection */
int unlim_dim; /* Dimension where selection is unlimited, or -1 if none */
hsize_t num_elem_non_unlim; /* # of elements in a "slice" excluding the unlimited dimension */
H5S_hyper_span_info_t *span_lst; /* List of hyperslab span information of all dimensions */