![]() |
HDF5
1.12.0
|
Data Structures | |
| struct | H5S_hyper_project_intersect_ud_t |
Typedefs | |
| typedef hsize_t | hbounds_t |
Functions | |
| H5FL_DEFINE_STATIC (H5S_hyper_sel_t) | |
| H5FL_DEFINE_STATIC (H5S_hyper_span_t) | |
| H5FL_BARR_DEFINE_STATIC (H5S_hyper_span_info_t, hbounds_t, H5S_MAX_RANK *2) | |
| H5FL_EXTERN (H5S_sel_iter_t) | |
| uint64_t | H5S__hyper_get_op_gen (void) |
| hssize_t | H5Sget_select_hyper_nblocks (hid_t spaceid) |
| herr_t | H5Sget_select_hyper_blocklist (hid_t spaceid, hsize_t startblock, hsize_t numblocks, hsize_t buf[]) |
| herr_t | H5S_hyper_add_span_element (H5S_t *space, unsigned rank, const hsize_t *coords) |
| htri_t | H5S_hyper_normalize_offset (H5S_t *space, hssize_t *old_offset) |
| herr_t | H5S_hyper_denormalize_offset (H5S_t *space, const hssize_t *old_offset) |
| void | H5S__hyper_rebuild (H5S_t *space) |
| herr_t | H5S_select_hyperslab (H5S_t *space, H5S_seloper_t op, const hsize_t start[], const hsize_t *stride, const hsize_t count[], const hsize_t *block) |
| herr_t | H5Sselect_hyperslab (hid_t space_id, H5S_seloper_t op, const hsize_t start[], const hsize_t stride[], const hsize_t count[], const hsize_t block[]) |
| herr_t | H5S_combine_hyperslab (H5S_t *old_space, H5S_seloper_t op, const hsize_t start[], const hsize_t *stride, const hsize_t count[], const hsize_t *block, H5S_t **new_space) |
| hid_t | H5Scombine_hyperslab (hid_t space_id, H5S_seloper_t op, const hsize_t start[], const hsize_t stride[], const hsize_t count[], const hsize_t block[]) |
| hid_t | H5Scombine_select (hid_t space1_id, H5S_seloper_t op, hid_t space2_id) |
| herr_t | H5S__modify_select (H5S_t *space1, H5S_seloper_t op, H5S_t *space2) |
| herr_t | H5Smodify_select (hid_t space1_id, H5S_seloper_t op, hid_t space2_id) |
| herr_t | H5S__hyper_project_intersection (const H5S_t *src_space, const H5S_t *dst_space, const H5S_t *src_intersect_space, H5S_t *proj_space, hbool_t share_selection) |
| herr_t | H5S_hyper_clip_unlim (H5S_t *space, hsize_t clip_size) |
| hsize_t | H5S_hyper_get_clip_extent (const H5S_t *clip_space, const H5S_t *match_space, hbool_t incl_trail) |
| hsize_t | H5S_hyper_get_clip_extent_match (const H5S_t *clip_space, const H5S_t *match_space, hsize_t match_clip_size, hbool_t incl_trail) |
| H5S_t * | H5S_hyper_get_unlim_block (const H5S_t *space, hsize_t block_index) |
| hsize_t | H5S_hyper_get_first_inc_block (const H5S_t *space, hsize_t clip_size, hbool_t *partial) |
| htri_t | H5Sis_regular_hyperslab (hid_t spaceid) |
| herr_t | H5Sget_regular_hyperslab (hid_t spaceid, hsize_t start[], hsize_t stride[], hsize_t count[], hsize_t block[]) |
Variables | |
| const H5S_select_class_t | H5S_sel_hyper [1] |
| const unsigned | H5O_sds_hyper_ver_bounds [] |
| typedef hsize_t hbounds_t |
| H5FL_BARR_DEFINE_STATIC | ( | H5S_hyper_span_info_t | , |
| hbounds_t | , | ||
| H5S_MAX_RANK * | 2 | ||
| ) |
| H5FL_DEFINE_STATIC | ( | H5S_hyper_sel_t | ) |
| H5FL_DEFINE_STATIC | ( | H5S_hyper_span_t | ) |
| H5FL_EXTERN | ( | H5S_sel_iter_t | ) |
| uint64_t H5S__hyper_get_op_gen | ( | void | ) |
References FUNC_LEAVE_NOAPI().
| herr_t H5S__hyper_project_intersection | ( | const H5S_t * | src_space, |
| const H5S_t * | dst_space, | ||
| const H5S_t * | src_intersect_space, | ||
| H5S_t * | proj_space, | ||
| hbool_t | share_selection | ||
| ) |
References H5S_SEL_HYPERSLABS, H5S_SEL_POINTS, HDassert(), NULL, and ret_value.
Referenced by H5S_select_project_intersection().
| void H5S__hyper_rebuild | ( | H5S_t * | space | ) |
References HDassert(), H5S_select_t::hslab, H5S_select_t::sel_info, H5S_t::select, and H5S_hyper_sel_t::span_lst.
Referenced by H5S__get_rebuild_status_test().
| herr_t H5S__modify_select | ( | H5S_t * | space1, |
| H5S_seloper_t | op, | ||
| H5S_t * | space2 | ||
| ) |
References H5S_SELECT_NOTA, H5S_SELECT_OR, HDassert(), H5S_select_t::hslab, NULL, ret_value, H5S_select_t::sel_info, H5S_t::select, and H5S_hyper_sel_t::span_lst.
Referenced by H5S_select_subtract(), and H5Smodify_select().
| herr_t H5S_combine_hyperslab | ( | H5S_t * | old_space, |
| H5S_seloper_t | op, | ||
| const hsize_t | start[], | ||
| const hsize_t * | stride, | ||
| const hsize_t | count[], | ||
| const hsize_t * | block, | ||
| H5S_t ** | new_space | ||
| ) |
References FAIL, FUNC_ENTER_NOAPI(), H5S_SELECT_NOTA, H5S_SELECT_SET, HDassert(), NULL, ret_value, and u.
Referenced by H5Scombine_hyperslab().
References FAIL, FUNC_ENTER_NOAPI(), HDassert(), NULL, and ret_value.
Referenced by H5S_select_project_intersection().
References FAIL, FUNC_ENTER_NOAPI(), H5S_SEL_HYPERSLABS, HDassert(), and ret_value.
References H5S_hyper_dim_t::block, H5S_hyper_dim_t::count, H5S_hyper_sel_t::diminfo, FUNC_ENTER_NOAPI(), FUNC_LEAVE_NOAPI(), HDassert(), H5S_select_t::hslab, H5S_hyper_diminfo_t::opt, ret_value, H5S_select_t::sel_info, H5S_t::select, H5S_hyper_dim_t::start, H5S_hyper_dim_t::stride, and H5S_hyper_sel_t::unlim_dim.
References H5S_hyper_dim_t::block, block, H5S_hyper_dim_t::count, H5S_hyper_sel_t::diminfo, H5S_t::extent, FUNC_ENTER_NOAPI(), FUNC_LEAVE_NOAPI(), H5E_CANTINIT, H5S__extent_copy_real(), H5S_close(), H5S_create(), H5S_select_hyperslab(), H5S_SELECT_SET, H5S_SIMPLE, HDassert(), H5S_select_t::hslab, NULL, H5S_hyper_diminfo_t::opt, H5S_extent_t::rank, ret_value, H5S_select_t::sel_info, H5S_t::select, H5S_hyper_dim_t::start, H5S_hyper_dim_t::stride, u, and H5S_hyper_sel_t::unlim_dim.
Referenced by H5D_virtual_check_mapping_post().
References H5S_t::extent, FAIL, FUNC_ENTER_NOAPI(), H5S_SEL_HYPERSLABS, HDassert(), H5S_select_t::offset, H5S_select_t::offset_changed, H5S_extent_t::rank, ret_value, H5S_t::select, and u.
Referenced by H5D__virtual_init().
| herr_t H5S_select_hyperslab | ( | H5S_t * | space, |
| H5S_seloper_t | op, | ||
| const hsize_t | start[], | ||
| const hsize_t * | stride, | ||
| const hsize_t | count[], | ||
| const hsize_t * | block | ||
| ) |
References FAIL, FUNC_ENTER_NOAPI(), H5S_SELECT_INVALID, H5S_SELECT_NOOP, HDassert(), NULL, ret_value, and u.
Referenced by H5S_hyper_get_unlim_block(), H5S_select_subtract(), and H5Sselect_hyperslab().
| hid_t H5Scombine_hyperslab | ( | hid_t | space_id, |
| H5S_seloper_t | op, | ||
| const hsize_t | start[], | ||
| const hsize_t | stride[], | ||
| const hsize_t | count[], | ||
| const hsize_t | block[] | ||
| ) |
| hid_t H5Scombine_select | ( | hid_t | space1_id, |
| H5S_seloper_t | op, | ||
| hid_t | space2_id | ||
| ) |
| herr_t H5Sget_regular_hyperslab | ( | hid_t | spaceid, |
| hsize_t | start[], | ||
| hsize_t | stride[], | ||
| hsize_t | count[], | ||
| hsize_t | block[] | ||
| ) |
References block, FAIL, H5I_DATASPACE, H5I_object_verify(), H5S_SEL_HYPERSLABS, NULL, ret_value, and u.
References FAIL, H5I_DATASPACE, H5I_object_verify(), H5S_SEL_HYPERSLABS, NULL, and ret_value.
| herr_t H5Smodify_select | ( | hid_t | space1_id, |
| H5S_seloper_t | op, | ||
| hid_t | space2_id | ||
| ) |
Note that this is a tricky part of this function. It's possible that two dataspaces have different "offset". If the space2 has smaller offset value than that of space1 in a dimension, then the span elements of this dimension in space2 could have negative "low" and "high" values relative to the offset in space1. In other words, if the bounds of span elements in space2 are adjusted relative to the offset in space1, then every span element's bound is computed as "origin_bound+offset2-offset1". Therefore, if offset2 (the offset of space2) is smaller, then "origin_bound+offset2-offset1" could be negative which is not allowed by the bound type declaration as hsize_t! As a result, if the op is an OR selection, then the final result may contain span elements that have negative bound! So right now, the difference in the offset is totally ignored!!
References H5S_t::extent, FAIL, H5E_BADVALUE, H5E_CANTINIT, H5I_DATASPACE, H5I_object_verify(), H5S__modify_select(), H5S_SEL_HYPERSLABS, H5S_SELECT_NOTA, H5S_SELECT_OR, NULL, H5S_select_t::offset, H5S_extent_t::rank, ret_value, H5S_t::select, and u.
| herr_t H5Sselect_hyperslab | ( | hid_t | space_id, |
| H5S_seloper_t | op, | ||
| const hsize_t | start[], | ||
| const hsize_t | stride[], | ||
| const hsize_t | count[], | ||
| const hsize_t | block[] | ||
| ) |
References block, H5S_t::extent, FAIL, H5E_BADVALUE, H5E_CANTINIT, H5I_DATASPACE, H5I_object_verify(), H5S_NULL, H5S_SCALAR, H5S_select_hyperslab(), H5S_SELECT_INVALID, H5S_SELECT_NOOP, NULL, H5S_extent_t::rank, ret_value, and u.
| const unsigned H5O_sds_hyper_ver_bounds[] |
| const H5S_select_class_t H5S_sel_hyper[1] |
Referenced by H5S_select_deserialize().