/src/hdf5/src/H5VMprivate.h
Line | Count | Source |
1 | | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
2 | | * Copyright by The HDF Group. * |
3 | | * All rights reserved. * |
4 | | * * |
5 | | * This file is part of HDF5. The full HDF5 copyright notice, including * |
6 | | * terms governing use, modification, and redistribution, is contained in * |
7 | | * the LICENSE file, which can be found at the root of the source code * |
8 | | * distribution tree, or in https://www.hdfgroup.org/licenses. * |
9 | | * If you do not have access to either file, you may request a copy from * |
10 | | * help@hdfgroup.org. * |
11 | | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
12 | | |
13 | | #ifndef H5VMprivate_H |
14 | | #define H5VMprivate_H |
15 | | |
16 | | /* Private headers needed by this file */ |
17 | | #include "H5private.h" /* Generic Functions */ |
18 | | #include "H5Eprivate.h" /* Error handling */ |
19 | | #include "H5MMprivate.h" /* Memory management */ |
20 | | |
21 | | /* Vector-Vector sequence operation callback */ |
22 | | typedef herr_t (*H5VM_opvv_func_t)(hsize_t dst_off, hsize_t src_off, size_t len, void *udata); |
23 | | |
24 | | /* Vector comparison functions like Fortran66 comparison operators */ |
25 | | #define H5VM_vector_eq_s(N, V1, V2) (H5VM_vector_cmp_s(N, V1, V2) == 0) |
26 | | #define H5VM_vector_lt_s(N, V1, V2) (H5VM_vector_cmp_s(N, V1, V2) < 0) |
27 | | #define H5VM_vector_gt_s(N, V1, V2) (H5VM_vector_cmp_s(N, V1, V2) > 0) |
28 | | #define H5VM_vector_le_s(N, V1, V2) (H5VM_vector_cmp_s(N, V1, V2) <= 0) |
29 | | #define H5VM_vector_ge_s(N, V1, V2) (H5VM_vector_cmp_s(N, V1, V2) >= 0) |
30 | 0 | #define H5VM_vector_eq_u(N, V1, V2) (H5VM_vector_cmp_u(N, V1, V2) == 0) |
31 | 0 | #define H5VM_vector_lt_u(N, V1, V2) (H5VM_vector_cmp_u(N, V1, V2) < 0) |
32 | | #define H5VM_vector_gt_u(N, V1, V2) (H5VM_vector_cmp_u(N, V1, V2) > 0) |
33 | | #define H5VM_vector_le_u(N, V1, V2) (H5VM_vector_cmp_u(N, V1, V2) <= 0) |
34 | 0 | #define H5VM_vector_ge_u(N, V1, V2) (H5VM_vector_cmp_u(N, V1, V2) >= 0) |
35 | | |
36 | | /* Other functions */ |
37 | | #define H5VM_vector_cpy(N, DST, SRC) \ |
38 | 0 | do { \ |
39 | 0 | assert(sizeof(*(DST)) == sizeof(*(SRC))); \ |
40 | 0 | if (SRC) \ |
41 | 0 | H5MM_memcpy(DST, SRC, (N) * sizeof(*(DST))); \ |
42 | 0 | else \ |
43 | 0 | memset(DST, 0, (N) * sizeof(*(DST))); \ |
44 | 0 | } while (0) |
45 | | |
46 | | #define H5VM_vector_zero(N, DST) memset(DST, 0, (N) * sizeof(*(DST))) |
47 | | |
48 | | /* Given a coordinate offset array (COORDS) of type TYPE, move the unlimited |
49 | | * dimension (UNLIM_DIM) value to offset 0, sliding any intermediate values down |
50 | | * one position. */ |
51 | | #define H5VM_swizzle_coords(TYPE, COORDS, UNLIM_DIM) \ |
52 | 0 | do { \ |
53 | 0 | /* COORDS must be an array of type TYPE */ \ |
54 | 0 | assert(sizeof(COORDS[0]) == sizeof(TYPE)); \ |
55 | 0 | \ |
56 | 0 | /* Nothing to do when unlimited dimension is at position 0 */ \ |
57 | 0 | if (0 != (UNLIM_DIM)) { \ |
58 | 0 | TYPE _tmp = (COORDS)[UNLIM_DIM]; \ |
59 | 0 | \ |
60 | 0 | memmove(&(COORDS)[1], &(COORDS)[0], sizeof(TYPE) * (UNLIM_DIM)); \ |
61 | 0 | (COORDS)[0] = _tmp; \ |
62 | 0 | } /* end if */ \ |
63 | 0 | } while (0) |
64 | | |
65 | | /* Given a coordinate offset array (COORDS) of type TYPE, move the value at |
66 | | * offset 0 to offset of the unlimied dimension (UNLIM_DIM), sliding any |
67 | | * intermediate values up one position. Undoes the "swizzle_coords" operation. |
68 | | */ |
69 | | #define H5VM_unswizzle_coords(TYPE, COORDS, UNLIM_DIM) \ |
70 | | do { \ |
71 | | /* COORDS must be an array of type TYPE */ \ |
72 | | assert(sizeof(COORDS[0]) == sizeof(TYPE)); \ |
73 | | \ |
74 | | /* Nothing to do when unlimited dimension is at position 0 */ \ |
75 | | if (0 != (UNLIM_DIM)) { \ |
76 | | TYPE _tmp = (COORDS)[0]; \ |
77 | | \ |
78 | | memmove(&(COORDS)[0], &(COORDS)[1], sizeof(TYPE) * (UNLIM_DIM)); \ |
79 | | (COORDS)[UNLIM_DIM] = _tmp; \ |
80 | | } /* end if */ \ |
81 | | } while (0) |
82 | | |
83 | | /* A null pointer is equivalent to a zero vector */ |
84 | | #define H5VM_ZERO NULL |
85 | | |
86 | | H5_DLL hsize_t H5VM_hyper_stride(unsigned n, const hsize_t *size, const hsize_t *total_size, |
87 | | const hsize_t *offset, hsize_t *stride); |
88 | | H5_DLL htri_t H5VM_hyper_eq(unsigned n, const hsize_t *offset1, const hsize_t *size1, const hsize_t *offset2, |
89 | | const hsize_t *size2); |
90 | | H5_DLL herr_t H5VM_hyper_fill(unsigned n, const hsize_t *_size, const hsize_t *total_size, |
91 | | const hsize_t *offset, void *_dst, unsigned fill_value); |
92 | | H5_DLL herr_t H5VM_hyper_copy(unsigned n, const hsize_t *size, const hsize_t *dst_total_size, |
93 | | const hsize_t *dst_offset, void *_dst, const hsize_t *src_total_size, |
94 | | const hsize_t *src_offset, const void *_src); |
95 | | H5_DLL herr_t H5VM_stride_fill(unsigned n, hsize_t elmt_size, const hsize_t *size, const hsize_t *stride, |
96 | | void *_dst, unsigned fill_value); |
97 | | H5_DLL herr_t H5VM_stride_copy(unsigned n, hsize_t elmt_size, const hsize_t *_size, const hsize_t *dst_stride, |
98 | | void *_dst, const hsize_t *src_stride, const void *_src); |
99 | | H5_DLL herr_t H5VM_stride_copy_s(unsigned n, hsize_t elmt_size, const hsize_t *_size, |
100 | | const hssize_t *dst_stride, void *_dst, const hssize_t *src_stride, |
101 | | const void *_src); |
102 | | H5_DLL herr_t H5VM_array_fill(void *_dst, const void *src, size_t size, size_t count); |
103 | | H5_DLL void H5VM_array_down(unsigned n, const hsize_t *total_size, hsize_t *down); |
104 | | H5_DLL hsize_t H5VM_array_offset_pre(unsigned n, const hsize_t *acc, const hsize_t *offset); |
105 | | H5_DLL hsize_t H5VM_array_offset(unsigned n, const hsize_t *total_size, const hsize_t *offset); |
106 | | H5_DLL herr_t H5VM_array_calc_pre(hsize_t offset, unsigned n, const hsize_t *down, hsize_t *coords); |
107 | | H5_DLL herr_t H5VM_array_calc(hsize_t offset, unsigned n, const hsize_t *total_size, hsize_t *coords); |
108 | | H5_DLL hsize_t H5VM_chunk_index(unsigned ndims, const hsize_t *coord, const hsize_t *chunk, |
109 | | const hsize_t *down_nchunks); |
110 | | H5_DLL void H5VM_chunk_scaled(unsigned ndims, const hsize_t *coord, const hsize_t *chunk, hsize_t *scaled); |
111 | | H5_DLL hsize_t H5VM_chunk_index_scaled(unsigned ndims, const hsize_t *coord, const hsize_t *chunk, |
112 | | const hsize_t *down_nchunks, hsize_t *scaled); |
113 | | H5_DLL ssize_t H5VM_opvv(size_t dst_max_nseq, size_t *dst_curr_seq, size_t dst_len_arr[], |
114 | | hsize_t dst_off_arr[], size_t src_max_nseq, size_t *src_curr_seq, |
115 | | size_t src_len_arr[], hsize_t src_off_arr[], H5VM_opvv_func_t op, void *op_data); |
116 | | H5_DLL ssize_t H5VM_memcpyvv(void *_dst, size_t dst_max_nseq, size_t *dst_curr_seq, size_t dst_len_arr[], |
117 | | hsize_t dst_off_arr[], const void *_src, size_t src_max_nseq, |
118 | | size_t *src_curr_seq, size_t src_len_arr[], hsize_t src_off_arr[]); |
119 | | |
120 | | /*------------------------------------------------------------------------- |
121 | | * Function: H5VM_vector_reduce_product |
122 | | * |
123 | | * Purpose: Product reduction of a vector. Vector elements and return |
124 | | * value are size_t because we usually want the number of |
125 | | * elements in an array and array dimensions are always of type |
126 | | * size_t. |
127 | | * |
128 | | * Note: Although this routine is 'static' in this file, that's intended |
129 | | * only as an optimization and the naming (with a single underscore) |
130 | | * reflects its inclusion in a "private" header file. |
131 | | * |
132 | | * Return: Success: Product of elements |
133 | | * Failure: 1 if N is zero |
134 | | *------------------------------------------------------------------------- |
135 | | */ |
136 | | static inline hsize_t H5_ATTR_UNUSED |
137 | | H5VM_vector_reduce_product(unsigned n, const hsize_t *v) |
138 | 0 | { |
139 | 0 | hsize_t ret_value = 1; |
140 | | |
141 | | /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ |
142 | 0 | FUNC_ENTER_NOAPI_NOINIT_NOERR |
143 | |
|
144 | 0 | if (n && !v) |
145 | 0 | HGOTO_DONE(0); |
146 | 0 | while (n--) |
147 | 0 | ret_value *= *v++; |
148 | |
|
149 | 0 | done: |
150 | 0 | FUNC_LEAVE_NOAPI(ret_value) |
151 | 0 | } Unexecuted instantiation: H5MF.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Pdapl.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Pencdec.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Pfapl.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Plapl.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Pocpl.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Sall.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Sselect.c:H5VM_vector_reduce_product Unexecuted instantiation: H5T.c:H5VM_vector_reduce_product Unexecuted instantiation: H5VM.c:H5VM_vector_reduce_product Unexecuted instantiation: H5B2hdr.c:H5VM_vector_reduce_product Unexecuted instantiation: H5B2int.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dbtree.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dbtree2.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dchunk.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dcompact.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dcontig.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dearray.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dfarray.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dfill.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dint.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dnone.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Dselect.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EA.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAcache.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAdblkpage.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAdblock.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAhdr.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAiblock.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAint.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAsblock.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAstat.c:H5VM_vector_reduce_product Unexecuted instantiation: H5EAtest.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Faccum.c:H5VM_vector_reduce_product Unexecuted instantiation: H5FA.c:H5VM_vector_reduce_product Unexecuted instantiation: H5FAtest.c:H5VM_vector_reduce_product Unexecuted instantiation: H5FScache.c:H5VM_vector_reduce_product Unexecuted instantiation: H5FSsection.c:H5VM_vector_reduce_product Unexecuted instantiation: H5HFdblock.c:H5VM_vector_reduce_product Unexecuted instantiation: H5HFdtable.c:H5VM_vector_reduce_product Unexecuted instantiation: H5HFhdr.c:H5VM_vector_reduce_product Unexecuted instantiation: H5HFiblock.c:H5VM_vector_reduce_product Unexecuted instantiation: H5HFiter.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Odtype.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Pdcpl.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Pdxpl.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Shyper.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Spoint.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Ztrans.c:H5VM_vector_reduce_product Unexecuted instantiation: H5Defl.c:H5VM_vector_reduce_product |
152 | | |
153 | | /*------------------------------------------------------------------------- |
154 | | * Function: H5VM_vector_zerop_u |
155 | | * |
156 | | * Purpose: Determines if all elements of a vector are zero. |
157 | | * |
158 | | * Note: Although this routine is 'static' in this file, that's intended |
159 | | * only as an optimization and the naming (with a single underscore) |
160 | | * reflects its inclusion in a "private" header file. |
161 | | * |
162 | | * Return: Success: true if all elements are zero, |
163 | | * Failure: true if N is zero |
164 | | *------------------------------------------------------------------------- |
165 | | */ |
166 | | static inline htri_t H5_ATTR_UNUSED |
167 | | H5VM_vector_zerop_u(int n, const hsize_t *v) |
168 | 0 | { |
169 | 0 | htri_t ret_value = true; /* Return value */ |
170 | 0 |
|
171 | 0 | /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ |
172 | 0 | FUNC_ENTER_NOAPI_NOINIT_NOERR |
173 | 0 |
|
174 | 0 | if (!v) |
175 | 0 | HGOTO_DONE(true); |
176 | 0 | while (n--) |
177 | 0 | if (*v++) |
178 | 0 | HGOTO_DONE(false); |
179 | 0 |
|
180 | 0 | done: |
181 | 0 | FUNC_LEAVE_NOAPI(ret_value) |
182 | 0 | } Unexecuted instantiation: H5MF.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Pdapl.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Pencdec.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Pfapl.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Plapl.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Pocpl.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Sall.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Sselect.c:H5VM_vector_zerop_u Unexecuted instantiation: H5T.c:H5VM_vector_zerop_u Unexecuted instantiation: H5VM.c:H5VM_vector_zerop_u Unexecuted instantiation: H5B2hdr.c:H5VM_vector_zerop_u Unexecuted instantiation: H5B2int.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dbtree.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dbtree2.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dchunk.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dcompact.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dcontig.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dearray.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dfarray.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dfill.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dint.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dnone.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Dselect.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EA.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAcache.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAdblkpage.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAdblock.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAhdr.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAiblock.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAint.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAsblock.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAstat.c:H5VM_vector_zerop_u Unexecuted instantiation: H5EAtest.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Faccum.c:H5VM_vector_zerop_u Unexecuted instantiation: H5FA.c:H5VM_vector_zerop_u Unexecuted instantiation: H5FAtest.c:H5VM_vector_zerop_u Unexecuted instantiation: H5FScache.c:H5VM_vector_zerop_u Unexecuted instantiation: H5FSsection.c:H5VM_vector_zerop_u Unexecuted instantiation: H5HFdblock.c:H5VM_vector_zerop_u Unexecuted instantiation: H5HFdtable.c:H5VM_vector_zerop_u Unexecuted instantiation: H5HFhdr.c:H5VM_vector_zerop_u Unexecuted instantiation: H5HFiblock.c:H5VM_vector_zerop_u Unexecuted instantiation: H5HFiter.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Odtype.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Pdcpl.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Pdxpl.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Shyper.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Spoint.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Ztrans.c:H5VM_vector_zerop_u Unexecuted instantiation: H5Defl.c:H5VM_vector_zerop_u |
183 | | |
184 | | /*------------------------------------------------------------------------- |
185 | | * Function: H5VM_vector_zerop_s |
186 | | * |
187 | | * Purpose: Determines if all elements of a vector are zero. |
188 | | * |
189 | | * Note: Although this routine is 'static' in this file, that's intended |
190 | | * only as an optimization and the naming (with a single underscore) |
191 | | * reflects its inclusion in a "private" header file. |
192 | | * |
193 | | * Return: Success: true if all elements are zero, |
194 | | * false otherwise |
195 | | * Failure: true if N is zero |
196 | | *------------------------------------------------------------------------- |
197 | | */ |
198 | | static inline htri_t H5_ATTR_UNUSED |
199 | | H5VM_vector_zerop_s(int n, const hssize_t *v) |
200 | 0 | { |
201 | 0 | htri_t ret_value = true; /* Return value */ |
202 | 0 |
|
203 | 0 | /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ |
204 | 0 | FUNC_ENTER_NOAPI_NOINIT_NOERR |
205 | 0 |
|
206 | 0 | if (!v) |
207 | 0 | HGOTO_DONE(true); |
208 | 0 | while (n--) |
209 | 0 | if (*v++) |
210 | 0 | HGOTO_DONE(false); |
211 | 0 |
|
212 | 0 | done: |
213 | 0 | FUNC_LEAVE_NOAPI(ret_value) |
214 | 0 | } Unexecuted instantiation: H5MF.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Pdapl.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Pencdec.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Pfapl.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Plapl.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Pocpl.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Sall.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Sselect.c:H5VM_vector_zerop_s Unexecuted instantiation: H5T.c:H5VM_vector_zerop_s Unexecuted instantiation: H5VM.c:H5VM_vector_zerop_s Unexecuted instantiation: H5B2hdr.c:H5VM_vector_zerop_s Unexecuted instantiation: H5B2int.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dbtree.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dbtree2.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dchunk.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dcompact.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dcontig.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dearray.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dfarray.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dfill.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dint.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dnone.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Dselect.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EA.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAcache.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAdblkpage.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAdblock.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAhdr.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAiblock.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAint.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAsblock.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAstat.c:H5VM_vector_zerop_s Unexecuted instantiation: H5EAtest.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Faccum.c:H5VM_vector_zerop_s Unexecuted instantiation: H5FA.c:H5VM_vector_zerop_s Unexecuted instantiation: H5FAtest.c:H5VM_vector_zerop_s Unexecuted instantiation: H5FScache.c:H5VM_vector_zerop_s Unexecuted instantiation: H5FSsection.c:H5VM_vector_zerop_s Unexecuted instantiation: H5HFdblock.c:H5VM_vector_zerop_s Unexecuted instantiation: H5HFdtable.c:H5VM_vector_zerop_s Unexecuted instantiation: H5HFhdr.c:H5VM_vector_zerop_s Unexecuted instantiation: H5HFiblock.c:H5VM_vector_zerop_s Unexecuted instantiation: H5HFiter.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Odtype.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Pdcpl.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Pdxpl.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Shyper.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Spoint.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Ztrans.c:H5VM_vector_zerop_s Unexecuted instantiation: H5Defl.c:H5VM_vector_zerop_s |
215 | | |
216 | | /*------------------------------------------------------------------------- |
217 | | * Function: H5VM_vector_cmp_u |
218 | | * |
219 | | * Purpose: Compares two vectors of the same size and determines if V1 is |
220 | | * lexicographically less than, equal, or greater than V2. |
221 | | * |
222 | | * Note: Although this routine is 'static' in this file, that's intended |
223 | | * only as an optimization and the naming (with a single underscore) |
224 | | * reflects its inclusion in a "private" header file. |
225 | | * |
226 | | * Return: Success: -1 if V1 is less than V2 |
227 | | * 0 if they are equal |
228 | | * 1 if V1 is greater than V2 |
229 | | * |
230 | | * Failure: 0 if N is zero |
231 | | *------------------------------------------------------------------------- |
232 | | */ |
233 | | static inline int H5_ATTR_UNUSED |
234 | | H5VM_vector_cmp_u(unsigned n, const hsize_t *v1, const hsize_t *v2) |
235 | 0 | { |
236 | 0 | int ret_value = 0; /* Return value */ |
237 | | |
238 | | /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ |
239 | 0 | FUNC_ENTER_NOAPI_NOINIT_NOERR |
240 | |
|
241 | 0 | if (v1 == v2) |
242 | 0 | HGOTO_DONE(0); |
243 | 0 | if (v1 == NULL) |
244 | 0 | HGOTO_DONE(-1); |
245 | 0 | if (v2 == NULL) |
246 | 0 | HGOTO_DONE(1); |
247 | 0 | while (n--) { |
248 | 0 | if (*v1 < *v2) |
249 | 0 | HGOTO_DONE(-1); |
250 | 0 | if (*v1 > *v2) |
251 | 0 | HGOTO_DONE(1); |
252 | 0 | v1++; |
253 | 0 | v2++; |
254 | 0 | } |
255 | | |
256 | 0 | done: |
257 | 0 | FUNC_LEAVE_NOAPI(ret_value) |
258 | 0 | } Unexecuted instantiation: H5MF.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Pdapl.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Pencdec.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Pfapl.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Plapl.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Pocpl.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Sall.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Sselect.c:H5VM_vector_cmp_u Unexecuted instantiation: H5T.c:H5VM_vector_cmp_u Unexecuted instantiation: H5VM.c:H5VM_vector_cmp_u Unexecuted instantiation: H5B2hdr.c:H5VM_vector_cmp_u Unexecuted instantiation: H5B2int.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dbtree.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dbtree2.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dchunk.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dcompact.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dcontig.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dearray.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dfarray.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dfill.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dint.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dnone.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Dselect.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EA.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAcache.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAdblkpage.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAdblock.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAhdr.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAiblock.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAint.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAsblock.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAstat.c:H5VM_vector_cmp_u Unexecuted instantiation: H5EAtest.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Faccum.c:H5VM_vector_cmp_u Unexecuted instantiation: H5FA.c:H5VM_vector_cmp_u Unexecuted instantiation: H5FAtest.c:H5VM_vector_cmp_u Unexecuted instantiation: H5FScache.c:H5VM_vector_cmp_u Unexecuted instantiation: H5FSsection.c:H5VM_vector_cmp_u Unexecuted instantiation: H5HFdblock.c:H5VM_vector_cmp_u Unexecuted instantiation: H5HFdtable.c:H5VM_vector_cmp_u Unexecuted instantiation: H5HFhdr.c:H5VM_vector_cmp_u Unexecuted instantiation: H5HFiblock.c:H5VM_vector_cmp_u Unexecuted instantiation: H5HFiter.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Odtype.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Pdcpl.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Pdxpl.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Shyper.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Spoint.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Ztrans.c:H5VM_vector_cmp_u Unexecuted instantiation: H5Defl.c:H5VM_vector_cmp_u |
259 | | |
260 | | /*------------------------------------------------------------------------- |
261 | | * Function: H5VM_vector_cmp_s |
262 | | * |
263 | | * Purpose: Compares two vectors of the same size and determines if V1 is |
264 | | * lexicographically less than, equal, or greater than V2. |
265 | | * |
266 | | * Note: Although this routine is 'static' in this file, that's intended |
267 | | * only as an optimization and the naming (with a single underscore) |
268 | | * reflects its inclusion in a "private" header file. |
269 | | * |
270 | | * Return: Success: -1 if V1 is less than V2 |
271 | | * 0 if they are equal |
272 | | * 1 if V1 is greater than V2 |
273 | | * |
274 | | * Failure: 0 if N is zero |
275 | | *------------------------------------------------------------------------- |
276 | | */ |
277 | | static inline int H5_ATTR_UNUSED |
278 | | H5VM_vector_cmp_s(unsigned n, const hssize_t *v1, const hssize_t *v2) |
279 | 0 | { |
280 | 0 | int ret_value = 0; /* Return value */ |
281 | 0 |
|
282 | 0 | /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ |
283 | 0 | FUNC_ENTER_NOAPI_NOINIT_NOERR |
284 | 0 |
|
285 | 0 | if (v1 == v2) |
286 | 0 | HGOTO_DONE(0); |
287 | 0 | if (v1 == NULL) |
288 | 0 | HGOTO_DONE(-1); |
289 | 0 | if (v2 == NULL) |
290 | 0 | HGOTO_DONE(1); |
291 | 0 | while (n--) { |
292 | 0 | if (*v1 < *v2) |
293 | 0 | HGOTO_DONE(-1); |
294 | 0 | if (*v1 > *v2) |
295 | 0 | HGOTO_DONE(1); |
296 | 0 | v1++; |
297 | 0 | v2++; |
298 | 0 | } |
299 | 0 |
|
300 | 0 | done: |
301 | 0 | FUNC_LEAVE_NOAPI(ret_value) |
302 | 0 | } Unexecuted instantiation: H5MF.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Pdapl.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Pencdec.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Pfapl.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Plapl.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Pocpl.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Sall.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Sselect.c:H5VM_vector_cmp_s Unexecuted instantiation: H5T.c:H5VM_vector_cmp_s Unexecuted instantiation: H5VM.c:H5VM_vector_cmp_s Unexecuted instantiation: H5B2hdr.c:H5VM_vector_cmp_s Unexecuted instantiation: H5B2int.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dbtree.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dbtree2.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dchunk.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dcompact.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dcontig.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dearray.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dfarray.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dfill.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dint.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dnone.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Dselect.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EA.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAcache.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAdblkpage.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAdblock.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAhdr.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAiblock.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAint.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAsblock.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAstat.c:H5VM_vector_cmp_s Unexecuted instantiation: H5EAtest.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Faccum.c:H5VM_vector_cmp_s Unexecuted instantiation: H5FA.c:H5VM_vector_cmp_s Unexecuted instantiation: H5FAtest.c:H5VM_vector_cmp_s Unexecuted instantiation: H5FScache.c:H5VM_vector_cmp_s Unexecuted instantiation: H5FSsection.c:H5VM_vector_cmp_s Unexecuted instantiation: H5HFdblock.c:H5VM_vector_cmp_s Unexecuted instantiation: H5HFdtable.c:H5VM_vector_cmp_s Unexecuted instantiation: H5HFhdr.c:H5VM_vector_cmp_s Unexecuted instantiation: H5HFiblock.c:H5VM_vector_cmp_s Unexecuted instantiation: H5HFiter.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Odtype.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Pdcpl.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Pdxpl.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Shyper.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Spoint.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Ztrans.c:H5VM_vector_cmp_s Unexecuted instantiation: H5Defl.c:H5VM_vector_cmp_s |
303 | | |
304 | | /*------------------------------------------------------------------------- |
305 | | * Function: H5VM_vector_inc |
306 | | * |
307 | | * Purpose: Increments V1 by V2 |
308 | | * |
309 | | * Note: Although this routine is 'static' in this file, that's intended |
310 | | * only as an optimization and the naming (with a single underscore) |
311 | | * reflects its inclusion in a "private" header file. |
312 | | * |
313 | | * Return: void |
314 | | *------------------------------------------------------------------------- |
315 | | */ |
316 | | static inline void H5_ATTR_UNUSED |
317 | | H5VM_vector_inc(int n, hsize_t *v1, const hsize_t *v2) |
318 | 0 | { |
319 | 0 | while (n--) |
320 | 0 | *v1++ += *v2++; |
321 | 0 | } Unexecuted instantiation: H5MF.c:H5VM_vector_inc Unexecuted instantiation: H5Pdapl.c:H5VM_vector_inc Unexecuted instantiation: H5Pencdec.c:H5VM_vector_inc Unexecuted instantiation: H5Pfapl.c:H5VM_vector_inc Unexecuted instantiation: H5Plapl.c:H5VM_vector_inc Unexecuted instantiation: H5Pocpl.c:H5VM_vector_inc Unexecuted instantiation: H5Sall.c:H5VM_vector_inc Unexecuted instantiation: H5Sselect.c:H5VM_vector_inc Unexecuted instantiation: H5T.c:H5VM_vector_inc Unexecuted instantiation: H5VM.c:H5VM_vector_inc Unexecuted instantiation: H5B2hdr.c:H5VM_vector_inc Unexecuted instantiation: H5B2int.c:H5VM_vector_inc Unexecuted instantiation: H5Dbtree.c:H5VM_vector_inc Unexecuted instantiation: H5Dbtree2.c:H5VM_vector_inc Unexecuted instantiation: H5Dchunk.c:H5VM_vector_inc Unexecuted instantiation: H5Dcompact.c:H5VM_vector_inc Unexecuted instantiation: H5Dcontig.c:H5VM_vector_inc Unexecuted instantiation: H5Dearray.c:H5VM_vector_inc Unexecuted instantiation: H5Dfarray.c:H5VM_vector_inc Unexecuted instantiation: H5Dfill.c:H5VM_vector_inc Unexecuted instantiation: H5Dint.c:H5VM_vector_inc Unexecuted instantiation: H5Dnone.c:H5VM_vector_inc Unexecuted instantiation: H5Dselect.c:H5VM_vector_inc Unexecuted instantiation: H5EA.c:H5VM_vector_inc Unexecuted instantiation: H5EAcache.c:H5VM_vector_inc Unexecuted instantiation: H5EAdblkpage.c:H5VM_vector_inc Unexecuted instantiation: H5EAdblock.c:H5VM_vector_inc Unexecuted instantiation: H5EAhdr.c:H5VM_vector_inc Unexecuted instantiation: H5EAiblock.c:H5VM_vector_inc Unexecuted instantiation: H5EAint.c:H5VM_vector_inc Unexecuted instantiation: H5EAsblock.c:H5VM_vector_inc Unexecuted instantiation: H5EAstat.c:H5VM_vector_inc Unexecuted instantiation: H5EAtest.c:H5VM_vector_inc Unexecuted instantiation: H5Faccum.c:H5VM_vector_inc Unexecuted instantiation: H5FA.c:H5VM_vector_inc Unexecuted instantiation: H5FAtest.c:H5VM_vector_inc Unexecuted instantiation: H5FScache.c:H5VM_vector_inc Unexecuted instantiation: H5FSsection.c:H5VM_vector_inc Unexecuted instantiation: H5HFdblock.c:H5VM_vector_inc Unexecuted instantiation: H5HFdtable.c:H5VM_vector_inc Unexecuted instantiation: H5HFhdr.c:H5VM_vector_inc Unexecuted instantiation: H5HFiblock.c:H5VM_vector_inc Unexecuted instantiation: H5HFiter.c:H5VM_vector_inc Unexecuted instantiation: H5Odtype.c:H5VM_vector_inc Unexecuted instantiation: H5Pdcpl.c:H5VM_vector_inc Unexecuted instantiation: H5Pdxpl.c:H5VM_vector_inc Unexecuted instantiation: H5Shyper.c:H5VM_vector_inc Unexecuted instantiation: H5Spoint.c:H5VM_vector_inc Unexecuted instantiation: H5Ztrans.c:H5VM_vector_inc Unexecuted instantiation: H5Defl.c:H5VM_vector_inc |
322 | | |
323 | | /* Lookup table for general log2(n) routine */ |
324 | | static const unsigned char LogTable256[] = { |
325 | | 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, |
326 | | 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, |
327 | | 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
328 | | 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
329 | | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
330 | | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
331 | | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
332 | | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}; |
333 | | |
334 | | /*------------------------------------------------------------------------- |
335 | | * Function: H5VM_log2_gen |
336 | | * |
337 | | * Purpose: Determines the log base two of a number (i.e. log2(n)). |
338 | | * (i.e. the highest bit set in a number) |
339 | | * |
340 | | * Note: This is from the "Bit Twiddling Hacks" at: |
341 | | * http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogLookup |
342 | | * |
343 | | * The version on the web-site is for 32-bit quantities and this |
344 | | * version has been extended for 64-bit quantities. |
345 | | * |
346 | | * Note: Although this routine is 'static' in this file, that's intended |
347 | | * only as an optimization and the naming (with a single underscore) |
348 | | * reflects its inclusion in a "private" header file. |
349 | | * |
350 | | * Return: log2(n) (always - no failure condition) |
351 | | *------------------------------------------------------------------------- |
352 | | */ |
353 | | static inline unsigned H5_ATTR_UNUSED |
354 | | H5VM_log2_gen(uint64_t n) |
355 | 0 | { |
356 | 0 | unsigned r; /* r will be log2(n) */ |
357 | 0 | unsigned int t, tt, ttt; /* temporaries */ |
358 | |
|
359 | 0 | if ((ttt = (unsigned)(n >> 32))) |
360 | 0 | if ((tt = (unsigned)(n >> 48))) |
361 | 0 | r = (t = (unsigned)(n >> 56)) ? 56 + (unsigned)LogTable256[t] |
362 | 0 | : 48 + (unsigned)LogTable256[tt & 0xFF]; |
363 | 0 | else |
364 | 0 | r = (t = (unsigned)(n >> 40)) ? 40 + (unsigned)LogTable256[t] |
365 | 0 | : 32 + (unsigned)LogTable256[ttt & 0xFF]; |
366 | 0 | else if ((tt = (unsigned)(n >> 16))) |
367 | 0 | r = (t = (unsigned)(n >> 24)) ? 24 + (unsigned)LogTable256[t] : 16 + (unsigned)LogTable256[tt & 0xFF]; |
368 | 0 | else |
369 | | /* Added 'uint8_t' cast to pacify PGCC compiler */ |
370 | 0 | r = (t = (unsigned)(n >> 8)) ? 8 + (unsigned)LogTable256[t] : (unsigned)LogTable256[(uint8_t)n]; |
371 | |
|
372 | 0 | return (r); |
373 | 0 | } /* H5VM_log2_gen() */ Unexecuted instantiation: H5MF.c:H5VM_log2_gen Unexecuted instantiation: H5Pdapl.c:H5VM_log2_gen Unexecuted instantiation: H5Pencdec.c:H5VM_log2_gen Unexecuted instantiation: H5Pfapl.c:H5VM_log2_gen Unexecuted instantiation: H5Plapl.c:H5VM_log2_gen Unexecuted instantiation: H5Pocpl.c:H5VM_log2_gen Unexecuted instantiation: H5Sall.c:H5VM_log2_gen Unexecuted instantiation: H5Sselect.c:H5VM_log2_gen Unexecuted instantiation: H5T.c:H5VM_log2_gen Unexecuted instantiation: H5VM.c:H5VM_log2_gen Unexecuted instantiation: H5B2hdr.c:H5VM_log2_gen Unexecuted instantiation: H5B2int.c:H5VM_log2_gen Unexecuted instantiation: H5Dbtree.c:H5VM_log2_gen Unexecuted instantiation: H5Dbtree2.c:H5VM_log2_gen Unexecuted instantiation: H5Dchunk.c:H5VM_log2_gen Unexecuted instantiation: H5Dcompact.c:H5VM_log2_gen Unexecuted instantiation: H5Dcontig.c:H5VM_log2_gen Unexecuted instantiation: H5Dearray.c:H5VM_log2_gen Unexecuted instantiation: H5Dfarray.c:H5VM_log2_gen Unexecuted instantiation: H5Dfill.c:H5VM_log2_gen Unexecuted instantiation: H5Dint.c:H5VM_log2_gen Unexecuted instantiation: H5Dnone.c:H5VM_log2_gen Unexecuted instantiation: H5Dselect.c:H5VM_log2_gen Unexecuted instantiation: H5EA.c:H5VM_log2_gen Unexecuted instantiation: H5EAcache.c:H5VM_log2_gen Unexecuted instantiation: H5EAdblkpage.c:H5VM_log2_gen Unexecuted instantiation: H5EAdblock.c:H5VM_log2_gen Unexecuted instantiation: H5EAhdr.c:H5VM_log2_gen Unexecuted instantiation: H5EAiblock.c:H5VM_log2_gen Unexecuted instantiation: H5EAint.c:H5VM_log2_gen Unexecuted instantiation: H5EAsblock.c:H5VM_log2_gen Unexecuted instantiation: H5EAstat.c:H5VM_log2_gen Unexecuted instantiation: H5EAtest.c:H5VM_log2_gen Unexecuted instantiation: H5Faccum.c:H5VM_log2_gen Unexecuted instantiation: H5FA.c:H5VM_log2_gen Unexecuted instantiation: H5FAtest.c:H5VM_log2_gen Unexecuted instantiation: H5FScache.c:H5VM_log2_gen Unexecuted instantiation: H5FSsection.c:H5VM_log2_gen Unexecuted instantiation: H5HFdblock.c:H5VM_log2_gen Unexecuted instantiation: H5HFdtable.c:H5VM_log2_gen Unexecuted instantiation: H5HFhdr.c:H5VM_log2_gen Unexecuted instantiation: H5HFiblock.c:H5VM_log2_gen Unexecuted instantiation: H5HFiter.c:H5VM_log2_gen Unexecuted instantiation: H5Odtype.c:H5VM_log2_gen Unexecuted instantiation: H5Pdcpl.c:H5VM_log2_gen Unexecuted instantiation: H5Pdxpl.c:H5VM_log2_gen Unexecuted instantiation: H5Shyper.c:H5VM_log2_gen Unexecuted instantiation: H5Spoint.c:H5VM_log2_gen Unexecuted instantiation: H5Ztrans.c:H5VM_log2_gen Unexecuted instantiation: H5Defl.c:H5VM_log2_gen |
374 | | |
375 | | /* Lookup table for specialized log2(n) of power of two routine */ |
376 | | static const unsigned MultiplyDeBruijnBitPosition[32] = {0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, |
377 | | 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, |
378 | | 16, 7, 26, 12, 18, 6, 11, 5, 10, 9}; |
379 | | |
380 | | /*------------------------------------------------------------------------- |
381 | | * Function: H5VM_log2_of2 |
382 | | * |
383 | | * Purpose: Determines the log base two of a number (i.e. log2(n)). |
384 | | * (i.e. the highest bit set in a number) |
385 | | * |
386 | | * Note: **N must be a power of two** and is limited to 32-bit quantities. |
387 | | * |
388 | | * This is from the "Bit Twiddling Hacks" at: |
389 | | * http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn |
390 | | * |
391 | | * Note: Although this routine is 'static' in this file, that's intended |
392 | | * only as an optimization and the naming (with a single underscore) |
393 | | * reflects its inclusion in a "private" header file. |
394 | | * |
395 | | * Return: log2(n) (always - no failure condition) |
396 | | *------------------------------------------------------------------------- |
397 | | */ |
398 | | static inline H5_ATTR_PURE unsigned |
399 | | H5VM_log2_of2(uint32_t n) |
400 | 0 | { |
401 | | #ifndef NDEBUG |
402 | | assert(POWER_OF_TWO(n)); |
403 | | #endif /* NDEBUG */ |
404 | 0 | return (MultiplyDeBruijnBitPosition[(n * (uint32_t)0x077CB531UL) >> 27]); |
405 | 0 | } /* H5VM_log2_of2() */ Unexecuted instantiation: H5MF.c:H5VM_log2_of2 Unexecuted instantiation: H5Pdapl.c:H5VM_log2_of2 Unexecuted instantiation: H5Pencdec.c:H5VM_log2_of2 Unexecuted instantiation: H5Pfapl.c:H5VM_log2_of2 Unexecuted instantiation: H5Plapl.c:H5VM_log2_of2 Unexecuted instantiation: H5Pocpl.c:H5VM_log2_of2 Unexecuted instantiation: H5Sall.c:H5VM_log2_of2 Unexecuted instantiation: H5Sselect.c:H5VM_log2_of2 Unexecuted instantiation: H5T.c:H5VM_log2_of2 Unexecuted instantiation: H5VM.c:H5VM_log2_of2 Unexecuted instantiation: H5B2hdr.c:H5VM_log2_of2 Unexecuted instantiation: H5B2int.c:H5VM_log2_of2 Unexecuted instantiation: H5Dbtree.c:H5VM_log2_of2 Unexecuted instantiation: H5Dbtree2.c:H5VM_log2_of2 Unexecuted instantiation: H5Dchunk.c:H5VM_log2_of2 Unexecuted instantiation: H5Dcompact.c:H5VM_log2_of2 Unexecuted instantiation: H5Dcontig.c:H5VM_log2_of2 Unexecuted instantiation: H5Dearray.c:H5VM_log2_of2 Unexecuted instantiation: H5Dfarray.c:H5VM_log2_of2 Unexecuted instantiation: H5Dfill.c:H5VM_log2_of2 Unexecuted instantiation: H5Dint.c:H5VM_log2_of2 Unexecuted instantiation: H5Dnone.c:H5VM_log2_of2 Unexecuted instantiation: H5Dselect.c:H5VM_log2_of2 Unexecuted instantiation: H5EA.c:H5VM_log2_of2 Unexecuted instantiation: H5EAcache.c:H5VM_log2_of2 Unexecuted instantiation: H5EAdblkpage.c:H5VM_log2_of2 Unexecuted instantiation: H5EAdblock.c:H5VM_log2_of2 Unexecuted instantiation: H5EAhdr.c:H5VM_log2_of2 Unexecuted instantiation: H5EAiblock.c:H5VM_log2_of2 Unexecuted instantiation: H5EAint.c:H5VM_log2_of2 Unexecuted instantiation: H5EAsblock.c:H5VM_log2_of2 Unexecuted instantiation: H5EAstat.c:H5VM_log2_of2 Unexecuted instantiation: H5EAtest.c:H5VM_log2_of2 Unexecuted instantiation: H5Faccum.c:H5VM_log2_of2 Unexecuted instantiation: H5FA.c:H5VM_log2_of2 Unexecuted instantiation: H5FAtest.c:H5VM_log2_of2 Unexecuted instantiation: H5FScache.c:H5VM_log2_of2 Unexecuted instantiation: H5FSsection.c:H5VM_log2_of2 Unexecuted instantiation: H5HFdblock.c:H5VM_log2_of2 Unexecuted instantiation: H5HFdtable.c:H5VM_log2_of2 Unexecuted instantiation: H5HFhdr.c:H5VM_log2_of2 Unexecuted instantiation: H5HFiblock.c:H5VM_log2_of2 Unexecuted instantiation: H5HFiter.c:H5VM_log2_of2 Unexecuted instantiation: H5Odtype.c:H5VM_log2_of2 Unexecuted instantiation: H5Pdcpl.c:H5VM_log2_of2 Unexecuted instantiation: H5Pdxpl.c:H5VM_log2_of2 Unexecuted instantiation: H5Shyper.c:H5VM_log2_of2 Unexecuted instantiation: H5Spoint.c:H5VM_log2_of2 Unexecuted instantiation: H5Ztrans.c:H5VM_log2_of2 Unexecuted instantiation: H5Defl.c:H5VM_log2_of2 |
406 | | |
407 | | /*------------------------------------------------------------------------- |
408 | | * Function: H5VM_power2up |
409 | | * |
410 | | * Purpose: Round up a number to the next power of 2 |
411 | | * |
412 | | * Note: Although this routine is 'static' in this file, that's intended |
413 | | * only as an optimization and the naming (with a single underscore) |
414 | | * reflects its inclusion in a "private" header file. |
415 | | * |
416 | | * Return: Return the number which is a power of 2 |
417 | | *------------------------------------------------------------------------- |
418 | | */ |
419 | | static inline H5_ATTR_CONST hsize_t |
420 | | H5VM_power2up(hsize_t n) |
421 | 0 | { |
422 | 0 | hsize_t ret_value = 1; /* Return value */ |
423 | | |
424 | | /* Returns 0 when n exceeds 2^63 */ |
425 | 0 | if (n >= (hsize_t)1 << ((sizeof(hsize_t) * CHAR_BIT) - 1)) |
426 | 0 | ret_value = 0; |
427 | |
|
428 | 0 | while (ret_value && ret_value < n) |
429 | 0 | ret_value <<= 1; |
430 | |
|
431 | 0 | return (ret_value); |
432 | 0 | } /* H5VM_power2up */ Unexecuted instantiation: H5MF.c:H5VM_power2up Unexecuted instantiation: H5Pdapl.c:H5VM_power2up Unexecuted instantiation: H5Pencdec.c:H5VM_power2up Unexecuted instantiation: H5Pfapl.c:H5VM_power2up Unexecuted instantiation: H5Plapl.c:H5VM_power2up Unexecuted instantiation: H5Pocpl.c:H5VM_power2up Unexecuted instantiation: H5Sall.c:H5VM_power2up Unexecuted instantiation: H5Sselect.c:H5VM_power2up Unexecuted instantiation: H5T.c:H5VM_power2up Unexecuted instantiation: H5VM.c:H5VM_power2up Unexecuted instantiation: H5B2hdr.c:H5VM_power2up Unexecuted instantiation: H5B2int.c:H5VM_power2up Unexecuted instantiation: H5Dbtree.c:H5VM_power2up Unexecuted instantiation: H5Dbtree2.c:H5VM_power2up Unexecuted instantiation: H5Dchunk.c:H5VM_power2up Unexecuted instantiation: H5Dcompact.c:H5VM_power2up Unexecuted instantiation: H5Dcontig.c:H5VM_power2up Unexecuted instantiation: H5Dearray.c:H5VM_power2up Unexecuted instantiation: H5Dfarray.c:H5VM_power2up Unexecuted instantiation: H5Dfill.c:H5VM_power2up Unexecuted instantiation: H5Dint.c:H5VM_power2up Unexecuted instantiation: H5Dnone.c:H5VM_power2up Unexecuted instantiation: H5Dselect.c:H5VM_power2up Unexecuted instantiation: H5EA.c:H5VM_power2up Unexecuted instantiation: H5EAcache.c:H5VM_power2up Unexecuted instantiation: H5EAdblkpage.c:H5VM_power2up Unexecuted instantiation: H5EAdblock.c:H5VM_power2up Unexecuted instantiation: H5EAhdr.c:H5VM_power2up Unexecuted instantiation: H5EAiblock.c:H5VM_power2up Unexecuted instantiation: H5EAint.c:H5VM_power2up Unexecuted instantiation: H5EAsblock.c:H5VM_power2up Unexecuted instantiation: H5EAstat.c:H5VM_power2up Unexecuted instantiation: H5EAtest.c:H5VM_power2up Unexecuted instantiation: H5Faccum.c:H5VM_power2up Unexecuted instantiation: H5FA.c:H5VM_power2up Unexecuted instantiation: H5FAtest.c:H5VM_power2up Unexecuted instantiation: H5FScache.c:H5VM_power2up Unexecuted instantiation: H5FSsection.c:H5VM_power2up Unexecuted instantiation: H5HFdblock.c:H5VM_power2up Unexecuted instantiation: H5HFdtable.c:H5VM_power2up Unexecuted instantiation: H5HFhdr.c:H5VM_power2up Unexecuted instantiation: H5HFiblock.c:H5VM_power2up Unexecuted instantiation: H5HFiter.c:H5VM_power2up Unexecuted instantiation: H5Odtype.c:H5VM_power2up Unexecuted instantiation: H5Pdcpl.c:H5VM_power2up Unexecuted instantiation: H5Pdxpl.c:H5VM_power2up Unexecuted instantiation: H5Shyper.c:H5VM_power2up Unexecuted instantiation: H5Spoint.c:H5VM_power2up Unexecuted instantiation: H5Ztrans.c:H5VM_power2up Unexecuted instantiation: H5Defl.c:H5VM_power2up |
433 | | |
434 | | /*------------------------------------------------------------------------- |
435 | | * Function: H5VM_limit_enc_size |
436 | | * |
437 | | * Purpose: Determine the # of bytes needed to encode values within a |
438 | | * range from 0 to a given limit |
439 | | * |
440 | | * Note: Although this routine is 'static' in this file, that's intended |
441 | | * only as an optimization and the naming (with a single underscore) |
442 | | * reflects its inclusion in a "private" header file. |
443 | | * |
444 | | * Return: Number of bytes needed |
445 | | *------------------------------------------------------------------------- |
446 | | */ |
447 | | static inline unsigned H5_ATTR_UNUSED |
448 | | H5VM_limit_enc_size(uint64_t limit) |
449 | 0 | { |
450 | 0 | return (H5VM_log2_gen(limit) / 8) + 1; |
451 | 0 | } /* end H5VM_limit_enc_size() */ Unexecuted instantiation: H5MF.c:H5VM_limit_enc_size Unexecuted instantiation: H5Pdapl.c:H5VM_limit_enc_size Unexecuted instantiation: H5Pencdec.c:H5VM_limit_enc_size Unexecuted instantiation: H5Pfapl.c:H5VM_limit_enc_size Unexecuted instantiation: H5Plapl.c:H5VM_limit_enc_size Unexecuted instantiation: H5Pocpl.c:H5VM_limit_enc_size Unexecuted instantiation: H5Sall.c:H5VM_limit_enc_size Unexecuted instantiation: H5Sselect.c:H5VM_limit_enc_size Unexecuted instantiation: H5T.c:H5VM_limit_enc_size Unexecuted instantiation: H5VM.c:H5VM_limit_enc_size Unexecuted instantiation: H5B2hdr.c:H5VM_limit_enc_size Unexecuted instantiation: H5B2int.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dbtree.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dbtree2.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dchunk.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dcompact.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dcontig.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dearray.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dfarray.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dfill.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dint.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dnone.c:H5VM_limit_enc_size Unexecuted instantiation: H5Dselect.c:H5VM_limit_enc_size Unexecuted instantiation: H5EA.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAcache.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAdblkpage.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAdblock.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAhdr.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAiblock.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAint.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAsblock.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAstat.c:H5VM_limit_enc_size Unexecuted instantiation: H5EAtest.c:H5VM_limit_enc_size Unexecuted instantiation: H5Faccum.c:H5VM_limit_enc_size Unexecuted instantiation: H5FA.c:H5VM_limit_enc_size Unexecuted instantiation: H5FAtest.c:H5VM_limit_enc_size Unexecuted instantiation: H5FScache.c:H5VM_limit_enc_size Unexecuted instantiation: H5FSsection.c:H5VM_limit_enc_size Unexecuted instantiation: H5HFdblock.c:H5VM_limit_enc_size Unexecuted instantiation: H5HFdtable.c:H5VM_limit_enc_size Unexecuted instantiation: H5HFhdr.c:H5VM_limit_enc_size Unexecuted instantiation: H5HFiblock.c:H5VM_limit_enc_size Unexecuted instantiation: H5HFiter.c:H5VM_limit_enc_size Unexecuted instantiation: H5Odtype.c:H5VM_limit_enc_size Unexecuted instantiation: H5Pdcpl.c:H5VM_limit_enc_size Unexecuted instantiation: H5Pdxpl.c:H5VM_limit_enc_size Unexecuted instantiation: H5Shyper.c:H5VM_limit_enc_size Unexecuted instantiation: H5Spoint.c:H5VM_limit_enc_size Unexecuted instantiation: H5Ztrans.c:H5VM_limit_enc_size Unexecuted instantiation: H5Defl.c:H5VM_limit_enc_size |
452 | | |
453 | | static const unsigned char H5VM_bit_set_g[8] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01}; |
454 | | static const unsigned char H5VM_bit_clear_g[8] = {0x7F, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE}; |
455 | | |
456 | | /*------------------------------------------------------------------------- |
457 | | * Function: H5VM_bit_get |
458 | | * |
459 | | * Purpose: Determine the value of the n'th bit in a buffer. |
460 | | * |
461 | | * Note: No range checking on <offset> is performed! |
462 | | * |
463 | | * Note #2: Bits are sequentially stored in the buffer, starting with bit |
464 | | * offset 0 in the first byte's high-bit position, proceeding down |
465 | | * to bit offset 7 in the first byte's low-bit position, then to |
466 | | * bit offset 8 in the second byte's high-bit position, etc. |
467 | | * |
468 | | * Note: Although this routine is 'static' in this file, that's intended |
469 | | * only as an optimization and the naming (with a single underscore) |
470 | | * reflects its inclusion in a "private" header file. |
471 | | * |
472 | | * Return: true/false |
473 | | *------------------------------------------------------------------------- |
474 | | */ |
475 | | static inline bool H5_ATTR_UNUSED |
476 | | H5VM_bit_get(const unsigned char *buf, size_t offset) |
477 | 0 | { |
478 | | /* Test the appropriate bit in the buffer */ |
479 | 0 | return (bool)((buf[offset / 8] & (H5VM_bit_set_g[offset % 8])) ? true : false); |
480 | 0 | } /* end H5VM_bit_get() */ Unexecuted instantiation: H5MF.c:H5VM_bit_get Unexecuted instantiation: H5Pdapl.c:H5VM_bit_get Unexecuted instantiation: H5Pencdec.c:H5VM_bit_get Unexecuted instantiation: H5Pfapl.c:H5VM_bit_get Unexecuted instantiation: H5Plapl.c:H5VM_bit_get Unexecuted instantiation: H5Pocpl.c:H5VM_bit_get Unexecuted instantiation: H5Sall.c:H5VM_bit_get Unexecuted instantiation: H5Sselect.c:H5VM_bit_get Unexecuted instantiation: H5T.c:H5VM_bit_get Unexecuted instantiation: H5VM.c:H5VM_bit_get Unexecuted instantiation: H5B2hdr.c:H5VM_bit_get Unexecuted instantiation: H5B2int.c:H5VM_bit_get Unexecuted instantiation: H5Dbtree.c:H5VM_bit_get Unexecuted instantiation: H5Dbtree2.c:H5VM_bit_get Unexecuted instantiation: H5Dchunk.c:H5VM_bit_get Unexecuted instantiation: H5Dcompact.c:H5VM_bit_get Unexecuted instantiation: H5Dcontig.c:H5VM_bit_get Unexecuted instantiation: H5Dearray.c:H5VM_bit_get Unexecuted instantiation: H5Dfarray.c:H5VM_bit_get Unexecuted instantiation: H5Dfill.c:H5VM_bit_get Unexecuted instantiation: H5Dint.c:H5VM_bit_get Unexecuted instantiation: H5Dnone.c:H5VM_bit_get Unexecuted instantiation: H5Dselect.c:H5VM_bit_get Unexecuted instantiation: H5EA.c:H5VM_bit_get Unexecuted instantiation: H5EAcache.c:H5VM_bit_get Unexecuted instantiation: H5EAdblkpage.c:H5VM_bit_get Unexecuted instantiation: H5EAdblock.c:H5VM_bit_get Unexecuted instantiation: H5EAhdr.c:H5VM_bit_get Unexecuted instantiation: H5EAiblock.c:H5VM_bit_get Unexecuted instantiation: H5EAint.c:H5VM_bit_get Unexecuted instantiation: H5EAsblock.c:H5VM_bit_get Unexecuted instantiation: H5EAstat.c:H5VM_bit_get Unexecuted instantiation: H5EAtest.c:H5VM_bit_get Unexecuted instantiation: H5Faccum.c:H5VM_bit_get Unexecuted instantiation: H5FA.c:H5VM_bit_get Unexecuted instantiation: H5FAtest.c:H5VM_bit_get Unexecuted instantiation: H5FScache.c:H5VM_bit_get Unexecuted instantiation: H5FSsection.c:H5VM_bit_get Unexecuted instantiation: H5HFdblock.c:H5VM_bit_get Unexecuted instantiation: H5HFdtable.c:H5VM_bit_get Unexecuted instantiation: H5HFhdr.c:H5VM_bit_get Unexecuted instantiation: H5HFiblock.c:H5VM_bit_get Unexecuted instantiation: H5HFiter.c:H5VM_bit_get Unexecuted instantiation: H5Odtype.c:H5VM_bit_get Unexecuted instantiation: H5Pdcpl.c:H5VM_bit_get Unexecuted instantiation: H5Pdxpl.c:H5VM_bit_get Unexecuted instantiation: H5Shyper.c:H5VM_bit_get Unexecuted instantiation: H5Spoint.c:H5VM_bit_get Unexecuted instantiation: H5Ztrans.c:H5VM_bit_get Unexecuted instantiation: H5Defl.c:H5VM_bit_get |
481 | | |
482 | | /*------------------------------------------------------------------------- |
483 | | * Function: H5VM_bit_set |
484 | | * |
485 | | * Purpose: Set/reset the n'th bit in a buffer. |
486 | | * |
487 | | * Note: No range checking on <offset> is performed! |
488 | | * |
489 | | * Note #2: Bits are sequentially stored in the buffer, starting with bit |
490 | | * offset 0 in the first byte's high-bit position, proceeding down |
491 | | * to bit offset 7 in the first byte's low-bit position, then to |
492 | | * bit offset 8 in the second byte's high-bit position, etc. |
493 | | * |
494 | | * Note: Although this routine is 'static' in this file, that's intended |
495 | | * only as an optimization and the naming (with a single underscore) |
496 | | * reflects its inclusion in a "private" header file. |
497 | | * |
498 | | * Return: void |
499 | | *------------------------------------------------------------------------- |
500 | | */ |
501 | | static inline void H5_ATTR_UNUSED |
502 | | H5VM_bit_set(unsigned char *buf, size_t offset, bool val) |
503 | 0 | { |
504 | | /* Set/reset the appropriate bit in the buffer */ |
505 | 0 | if (val) |
506 | 0 | buf[offset / 8] |= H5VM_bit_set_g[offset % 8]; |
507 | 0 | else |
508 | 0 | buf[offset / 8] &= H5VM_bit_clear_g[offset % 8]; |
509 | 0 | } /* end H5VM_bit_set() */ Unexecuted instantiation: H5MF.c:H5VM_bit_set Unexecuted instantiation: H5Pdapl.c:H5VM_bit_set Unexecuted instantiation: H5Pencdec.c:H5VM_bit_set Unexecuted instantiation: H5Pfapl.c:H5VM_bit_set Unexecuted instantiation: H5Plapl.c:H5VM_bit_set Unexecuted instantiation: H5Pocpl.c:H5VM_bit_set Unexecuted instantiation: H5Sall.c:H5VM_bit_set Unexecuted instantiation: H5Sselect.c:H5VM_bit_set Unexecuted instantiation: H5T.c:H5VM_bit_set Unexecuted instantiation: H5VM.c:H5VM_bit_set Unexecuted instantiation: H5B2hdr.c:H5VM_bit_set Unexecuted instantiation: H5B2int.c:H5VM_bit_set Unexecuted instantiation: H5Dbtree.c:H5VM_bit_set Unexecuted instantiation: H5Dbtree2.c:H5VM_bit_set Unexecuted instantiation: H5Dchunk.c:H5VM_bit_set Unexecuted instantiation: H5Dcompact.c:H5VM_bit_set Unexecuted instantiation: H5Dcontig.c:H5VM_bit_set Unexecuted instantiation: H5Dearray.c:H5VM_bit_set Unexecuted instantiation: H5Dfarray.c:H5VM_bit_set Unexecuted instantiation: H5Dfill.c:H5VM_bit_set Unexecuted instantiation: H5Dint.c:H5VM_bit_set Unexecuted instantiation: H5Dnone.c:H5VM_bit_set Unexecuted instantiation: H5Dselect.c:H5VM_bit_set Unexecuted instantiation: H5EA.c:H5VM_bit_set Unexecuted instantiation: H5EAcache.c:H5VM_bit_set Unexecuted instantiation: H5EAdblkpage.c:H5VM_bit_set Unexecuted instantiation: H5EAdblock.c:H5VM_bit_set Unexecuted instantiation: H5EAhdr.c:H5VM_bit_set Unexecuted instantiation: H5EAiblock.c:H5VM_bit_set Unexecuted instantiation: H5EAint.c:H5VM_bit_set Unexecuted instantiation: H5EAsblock.c:H5VM_bit_set Unexecuted instantiation: H5EAstat.c:H5VM_bit_set Unexecuted instantiation: H5EAtest.c:H5VM_bit_set Unexecuted instantiation: H5Faccum.c:H5VM_bit_set Unexecuted instantiation: H5FA.c:H5VM_bit_set Unexecuted instantiation: H5FAtest.c:H5VM_bit_set Unexecuted instantiation: H5FScache.c:H5VM_bit_set Unexecuted instantiation: H5FSsection.c:H5VM_bit_set Unexecuted instantiation: H5HFdblock.c:H5VM_bit_set Unexecuted instantiation: H5HFdtable.c:H5VM_bit_set Unexecuted instantiation: H5HFhdr.c:H5VM_bit_set Unexecuted instantiation: H5HFiblock.c:H5VM_bit_set Unexecuted instantiation: H5HFiter.c:H5VM_bit_set Unexecuted instantiation: H5Odtype.c:H5VM_bit_set Unexecuted instantiation: H5Pdcpl.c:H5VM_bit_set Unexecuted instantiation: H5Pdxpl.c:H5VM_bit_set Unexecuted instantiation: H5Shyper.c:H5VM_bit_set Unexecuted instantiation: H5Spoint.c:H5VM_bit_set Unexecuted instantiation: H5Ztrans.c:H5VM_bit_set Unexecuted instantiation: H5Defl.c:H5VM_bit_set |
510 | | |
511 | | #endif /* H5VMprivate_H */ |