 |
HDF5
1.12.0
|
Go to the documentation of this file.
22 #if !(defined H5S_FRIEND || defined H5S_MODULE)
23 #error "Do not include this file outside the H5S package!"
36 #define H5S_VALID_MAX 0x01
37 #define H5S_VALID_PERM 0x02
40 #define H5S_HYPER_REGULAR 0x01
41 #define H5S_SELECT_FLAG_BITS (H5S_HYPER_REGULAR)
44 #define H5S_HYPER_VERSION_1 1
45 #define H5S_HYPER_VERSION_2 2
46 #define H5S_HYPER_VERSION_3 3
47 #define H5S_HYPER_VERSION_LATEST H5S_HYPER_VERSION_3
50 #define H5S_POINT_VERSION_1 1
51 #define H5S_POINT_VERSION_2 2
54 #define H5S_NONE_VERSION_1 1
57 #define H5S_ALL_VERSION_1 1
60 #define H5S_SELECT_INFO_ENC_SIZE_2 0x02
61 #define H5S_SELECT_INFO_ENC_SIZE_4 0x04
62 #define H5S_SELECT_INFO_ENC_SIZE_8 0x08
63 #define H5S_SELECT_INFO_ENC_SIZE_BITS ( H5S_SELECT_INFO_ENC_SIZE_2 | \
64 H5S_SELECT_INFO_ENC_SIZE_4 | \
65 H5S_SELECT_INFO_ENC_SIZE_8 )
67 #define H5S_UINT16_MAX 0x0000FFFF
68 #define H5S_UINT32_MAX 0xFFFFFFFF
69 #define H5S_UINT64_MAX ((hsize_t)(-1L))
72 #define H5S_PROJECT_INTERSECT_NSEQS 256
75 #define H5S_SEL_ITER_API_CALL 0x1000
79 #define H5O_SDSPACE_VERSION_1 1
85 #define H5O_SDSPACE_VERSION_2 2
89 #define H5O_SDSPACE_VERSION_LATEST H5O_SDSPACE_VERSION_2
93 #define H5S_MAX_SIZE ((hsize_t)(hssize_t)(-2))
102 #define H5S_RANGE_OVERLAP(L1, H1, L2, H2) (!((L1) > (H2) || (L2) > (H1)))
160 #ifdef H5_HAVE_PARALLEL
161 MPI_Datatype down_type;
339 size_t maxseq,
size_t maxbytes,
size_t *nseq,
size_t *nbytes,
hsize_t *off,
392 const H5S_t *dst_space,
const H5S_t *src_intersect_space,
H5S_t *proj_space,
H5S_sel_copy_func_t copy
Definition: H5Spkg.h:279
htri_t(* H5S_sel_is_valid_func_t)(const H5S_t *space)
Definition: H5Spkg.h:237
hsize_t high
Definition: H5Spkg.h:146
H5S_sel_adjust_s_func_t adjust_s
Definition: H5Spkg.h:295
herr_t(* H5S_sel_iter_next_block_func_t)(H5S_sel_iter_t *iter)
Definition: H5Spkg.h:336
herr_t(* H5S_sel_copy_func_t)(H5S_t *dst, const H5S_t *src, hbool_t share_selection)
Definition: H5Spkg.h:233
@ H5F_LIBVER_NBOUNDS
Definition: H5Fpublic.h:168
H5S_hyper_span_info_t * span_lst
Definition: H5Spkg.h:228
hsize_t num_elem
Definition: H5Spkg.h:308
struct H5S_pnt_node_t * next
Definition: H5Spkg.h:127
H5S_sel_iter_next_block_func_t iter_next_block
Definition: H5Spkg.h:354
H5S_sel_shape_same_func_t shape_same
Definition: H5Spkg.h:292
Definition: H5Oprivate.h:268
#define H5S_MAX_RANK
Definition: H5Spublic.h:29
struct H5S_hyper_span_t * head
Definition: H5Spkg.h:189
htri_t(* H5S_sel_is_regular_func_t)(const H5S_t *space)
Definition: H5Spkg.h:258
hsize_t num_elem_non_unlim
Definition: H5Spkg.h:227
H5S_sel_project_scalar project_scalar
Definition: H5Spkg.h:296
hsize_t * size
Definition: H5Spkg.h:117
H5S_sel_iter_block_func_t iter_block
Definition: H5Spkg.h:350
@ H5S_DIMINFO_VALID_YES
Definition: H5Spkg.h:199
herr_t(* H5S_sel_iter_block_func_t)(const H5S_sel_iter_t *iter, hsize_t *start, hsize_t *end)
Definition: H5Spkg.h:327
H5S_diminfo_valid_t
Definition: H5Spkg.h:196
@ H5S_DIMINFO_VALID_NO
Definition: H5Spkg.h:198
H5S_pnt_list_t * pnt_lst
Definition: H5Spkg.h:311
H5S_sel_offset_func_t offset
Definition: H5Spkg.h:286
hsize_t nblocks
Definition: H5Spkg.h:159
herr_t(* H5S_sel_iter_release_func_t)(H5S_sel_iter_t *iter)
Definition: H5Spkg.h:342
herr_t(* H5S_sel_serialize_func_t)(const H5S_t *space, uint8_t **p)
Definition: H5Spkg.h:241
struct H5S_hyper_span_info_t * copied
Definition: H5Spkg.h:157
unsigned count
Definition: H5Spkg.h:168
htri_t(* H5S_sel_intersect_block_func_t)(const H5S_t *space, const hsize_t *start, const hsize_t *end)
Definition: H5Spkg.h:262
H5S_sel_iter_release_func_t iter_release
Definition: H5Spkg.h:356
H5S_sel_is_single_func_t is_single
Definition: H5Spkg.h:290
H5_DLLVAR const H5S_select_class_t H5S_sel_none[1]
Definition: H5Spkg.h:372
H5S_pnt_node_t * head
Definition: H5Spkg.h:138
H5S_sel_iter_next_func_t iter_next
Definition: H5Spkg.h:353
#define H5_DLLVAR
Definition: H5api_adpt.h:235
herr_t(* H5S_sel_adjust_u_func_t)(H5S_t *space, const hsize_t *offset)
Definition: H5Spkg.h:264
int(* H5S_sel_unlim_dim_func_t)(const H5S_t *space)
Definition: H5Spkg.h:249
H5S_extent_t extent
Definition: H5Spkg.h:318
H5S_sel_serial_size_func_t serial_size
Definition: H5Spkg.h:282
H5S_sel_is_contiguous_func_t is_contiguous
Definition: H5Spkg.h:289
herr_t(* H5S_sel_iter_coords_func_t)(const H5S_sel_iter_t *iter, hsize_t *coords)
Definition: H5Spkg.h:324
H5S_hyper_op_info_t op_info[2]
Definition: H5Spkg.h:187
hsize_t low_bounds[H5S_MAX_RANK]
Definition: H5Spkg.h:135
H5S_sel_iter_get_seq_list_func_t iter_get_seq_list
Definition: H5Spkg.h:355
H5S_sel_release_func_t release
Definition: H5Spkg.h:280
H5S_sel_project_simple project_simple
Definition: H5Spkg.h:297
unsigned char uint8_t
Definition: H5private.h:429
H5_DLLVAR const unsigned H5O_sdspace_ver_bounds[H5F_LIBVER_NBOUNDS]
Definition: H5Spkg.h:380
htri_t(* H5S_sel_is_contiguous_func_t)(const H5S_t *space)
Definition: H5Spkg.h:254
H5S_sel_unlim_dim_func_t unlim_dim
Definition: H5Spkg.h:287
H5S_sel_iter_init_func_t iter_init
Definition: H5Spkg.h:298
hssize_t(* H5S_sel_serial_size_func_t)(const H5S_t *space)
Definition: H5Spkg.h:239
H5S_hyper_diminfo_t diminfo
Definition: H5Spkg.h:225
hsize_t low
Definition: H5Spkg.h:146
herr_t(* H5S_sel_num_elem_non_unlim_func_t)(const H5S_t *space, hsize_t *num_elem_non_unlim)
Definition: H5Spkg.h:251
hsize_t * low_bounds
Definition: H5Spkg.h:181
int htri_t
Definition: H5public.h:160
H5_DLL herr_t H5S__modify_select(H5S_t *space1, H5S_seloper_t op, H5S_t *space2)
Definition: H5Shyper.c:10683
H5S_pnt_node_t * tail
Definition: H5Spkg.h:139
hssize_t
Definition: H5overflow.txt:45
htri_t(* H5S_sel_iter_has_next_block_func_t)(const H5S_sel_iter_t *iter)
Definition: H5Spkg.h:332
H5S_sel_iter_coords_func_t iter_coords
Definition: H5Spkg.h:349
herr_t(* H5S_sel_iter_init_func_t)(const H5S_t *space, H5S_sel_iter_t *sel_iter)
Definition: H5Spkg.h:272
herr_t(* H5S_sel_deserialize_func_t)(H5S_t **space, const uint8_t **p)
Definition: H5Spkg.h:243
H5S_hyper_sel_t * hslab
Definition: H5Spkg.h:312
hsize_t nelem
Definition: H5Spkg.h:114
int64_t hid_t
Definition: H5Ipublic.h:55
hsize_t bounds[]
Definition: H5Spkg.h:191
H5O_shared_t sh_loc
Definition: H5Spkg.h:110
H5_DLLVAR const H5S_select_class_t H5S_sel_point[1]
Definition: H5Spkg.h:377
herr_t(* H5S_sel_project_scalar)(const H5S_t *space, hsize_t *offset)
Definition: H5Spkg.h:268
H5_DLL uint64_t H5S__hyper_get_op_gen(void)
Definition: H5Shyper.c:549
herr_t H5S__get_diminfo_status_test(hid_t space_id, H5S_diminfo_valid_t *status)
Definition: H5Stest.c:141
hsize_t pnt[]
Definition: H5Spkg.h:128
H5S_sel_type type
Definition: H5Spkg.h:276
Definition: H5Sprivate.h:89
const H5S_select_class_t * type
Definition: H5Spkg.h:303
CATCH int
Definition: H5EA.c:1002
htri_t H5S__internal_consistency_test(hid_t space_id)
Definition: H5Stest.c:352
H5_DLL void H5S__hyper_rebuild(H5S_t *space)
Definition: H5Shyper.c:8935
uint64_t
Definition: H5overflow.txt:39
H5_DLL 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_space)
Definition: H5Shyper.c:11488
herr_t(* H5S_sel_iter_get_seq_list_func_t)(H5S_sel_iter_t *iter, size_t maxseq, size_t maxbytes, size_t *nseq, size_t *nbytes, hsize_t *off, size_t *len)
Definition: H5Spkg.h:338
struct H5S_hyper_span_info_t * down
Definition: H5Spkg.h:147
struct H5S_sel_iter_class_t H5S_sel_iter_class_t
struct H5S_hyper_op_info_t H5S_hyper_op_info_t
hsize_t nelmts
Definition: H5Spkg.h:158
hbool_t offset_changed
Definition: H5Spkg.h:305
uint64_t op_gen
Definition: H5Spkg.h:155
H5_DLL herr_t H5S__extent_release(H5S_extent_t *extent)
Definition: H5S.c:425
H5S_sel_type
Definition: H5Spublic.h:83
unsigned version
Definition: H5Spkg.h:113
H5S_sel_iter_nelmts_func_t iter_nelmts
Definition: H5Spkg.h:351
herr_t(* H5S_sel_project_simple)(const H5S_t *space, H5S_t *new_space, hsize_t *offset)
Definition: H5Spkg.h:270
H5S_select_t select
Definition: H5Spkg.h:319
#define H5_DLL
Definition: H5api_adpt.h:234
H5S_sel_is_valid_func_t is_valid
Definition: H5Spkg.h:281
hsize_t(* H5S_sel_iter_nelmts_func_t)(const H5S_sel_iter_t *iter)
Definition: H5Spkg.h:330
herr_t(* H5S_sel_release_func_t)(H5S_t *space)
Definition: H5Spkg.h:235
H5S_sel_bounds_func_t bounds
Definition: H5Spkg.h:285
hsize_t * high_bounds
Definition: H5Spkg.h:182
herr_t H5S__get_rebuild_status_test(hid_t space_id, H5S_diminfo_valid_t *status1, H5S_diminfo_valid_t *status2)
Definition: H5Stest.c:92
H5S_sel_adjust_u_func_t adjust_u
Definition: H5Spkg.h:294
herr_t(* H5S_sel_adjust_s_func_t)(H5S_t *space, const hssize_t *offset)
Definition: H5Spkg.h:266
int unlim_dim
Definition: H5Spkg.h:226
H5S_class_t type
Definition: H5Spkg.h:112
struct H5S_hyper_span_t * tail
Definition: H5Spkg.h:190
Definition: H5Sprivate.h:41
union H5S_hyper_op_info_t::@44 u
herr_t(* H5S_sel_bounds_func_t)(const H5S_t *space, hsize_t *start, hsize_t *end)
Definition: H5Spkg.h:245
struct H5S_hyper_span_t * next
Definition: H5Spkg.h:148
htri_t(* H5S_sel_shape_same_func_t)(const H5S_t *space1, const H5S_t *space2)
Definition: H5Spkg.h:260
H5S_seloper_t
Definition: H5Spublic.h:44
H5_DLLVAR const H5S_select_class_t H5S_sel_all[1]
Definition: H5Spkg.h:362
hsize_t * max
Definition: H5Spkg.h:118
H5S_sel_serialize_func_t serialize
Definition: H5Spkg.h:283
int herr_t
Definition: H5public.h:128
H5_DLLVAR const H5S_select_class_t H5S_sel_hyper[1]
Definition: H5Spkg.h:367
bool hbool_t
Definition: H5public.h:159
H5S_sel_is_regular_func_t is_regular
Definition: H5Spkg.h:291
H5S_sel_iter_has_next_block_func_t iter_has_next_block
Definition: H5Spkg.h:352
@ H5S_DIMINFO_VALID_IMPOSSIBLE
Definition: H5Spkg.h:197
H5S_sel_intersect_block_func_t intersect_block
Definition: H5Spkg.h:293
unsigned rank
Definition: H5Spkg.h:116
hsize_t
Definition: H5overflow.txt:44
H5_DLL herr_t H5S__extent_copy_real(H5S_extent_t *dst, const H5S_extent_t *src, hbool_t copy_max)
Definition: H5S.c:648
H5S_diminfo_valid_t diminfo_valid
Definition: H5Spkg.h:223
H5S_sel_num_elem_non_unlim_func_t num_elem_non_unlim
Definition: H5Spkg.h:288
herr_t(* H5S_sel_offset_func_t)(const H5S_t *space, hsize_t *offset)
Definition: H5Spkg.h:247
herr_t(* H5S_sel_iter_next_func_t)(H5S_sel_iter_t *iter, size_t nelem)
Definition: H5Spkg.h:334
H5S_sel_deserialize_func_t deserialize
Definition: H5Spkg.h:284
H5S_sel_type type
Definition: H5Spkg.h:346
hsize_t high_bounds[H5S_MAX_RANK]
Definition: H5Spkg.h:136
H5S_class_t
Definition: H5Spublic.h:36
htri_t(* H5S_sel_is_single_func_t)(const H5S_t *space)
Definition: H5Spkg.h:256