diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2020-07-10 01:53:18 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2020-07-10 01:53:18 (GMT) |
commit | 443aa9a38f59bf4148925a86c07cfe14bac9e888 (patch) | |
tree | 81f04824889f75942fe8da6b313ac1a4de3d1350 /src/H5Spkg.h | |
parent | 07dc34123861eed0f4d04dea29094649dec679bf (diff) | |
download | hdf5-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.h | 26 |
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 */ |