1 /*
2 * Copyright (C) by Argonne National Laboratory
3 * See COPYRIGHT in top-level directory
4 *
5 * DO NOT EDIT: AUTOMATICALLY GENERATED FILE !!
6 */
7
8 #include <string.h>
9 #include <stdint.h>
10 #include <wchar.h>
11 #include "yaksuri_seqi_pup.h"
12
yaksuri_seqi_pack_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)13 int yaksuri_seqi_pack_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
14 {
15 int rc = YAKSA_SUCCESS;
16 const char *restrict sbuf = (const char *) inbuf;
17 char *restrict dbuf = (char *) outbuf;
18 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
19
20 int count1 = type->u.hvector.count;
21 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
22 intptr_t stride1 = type->u.hvector.stride;
23 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
24
25 int count2 = type->u.hvector.child->u.hvector.count;
26 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
27 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
28 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
29
30 uintptr_t idx = 0;
31 for (int i = 0; i < count; i++) {
32 for (int j1 = 0; j1 < count1; j1++) {
33 for (int k1 = 0; k1 < blocklength1; k1++) {
34 for (int j2 = 0; j2 < count2; j2++) {
35 for (int k2 = 0; k2 < 1; k2++) {
36 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
37 idx += sizeof(char);
38 }
39 }
40 }
41 }
42 }
43
44 return rc;
45 }
46
yaksuri_seqi_unpack_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)47 int yaksuri_seqi_unpack_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
48 {
49 int rc = YAKSA_SUCCESS;
50 const char *restrict sbuf = (const char *) inbuf;
51 char *restrict dbuf = (char *) outbuf;
52 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
53
54 int count1 = type->u.hvector.count;
55 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
56 intptr_t stride1 = type->u.hvector.stride;
57 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
58
59 int count2 = type->u.hvector.child->u.hvector.count;
60 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
61 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
62 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
63
64 uintptr_t idx = 0;
65 for (int i = 0; i < count; i++) {
66 for (int j1 = 0; j1 < count1; j1++) {
67 for (int k1 = 0; k1 < blocklength1; k1++) {
68 for (int j2 = 0; j2 < count2; j2++) {
69 for (int k2 = 0; k2 < 1; k2++) {
70 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
71 idx += sizeof(char);
72 }
73 }
74 }
75 }
76 }
77
78 return rc;
79 }
80
yaksuri_seqi_pack_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)81 int yaksuri_seqi_pack_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
82 {
83 int rc = YAKSA_SUCCESS;
84 const char *restrict sbuf = (const char *) inbuf;
85 char *restrict dbuf = (char *) outbuf;
86 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
87
88 int count1 = type->u.hvector.count;
89 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
90 intptr_t stride1 = type->u.hvector.stride;
91 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
92
93 int count2 = type->u.hvector.child->u.hvector.count;
94 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
95 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
96 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
97
98 uintptr_t idx = 0;
99 for (int i = 0; i < count; i++) {
100 for (int j1 = 0; j1 < count1; j1++) {
101 for (int k1 = 0; k1 < blocklength1; k1++) {
102 for (int j2 = 0; j2 < count2; j2++) {
103 for (int k2 = 0; k2 < 2; k2++) {
104 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
105 idx += sizeof(char);
106 }
107 }
108 }
109 }
110 }
111
112 return rc;
113 }
114
yaksuri_seqi_unpack_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)115 int yaksuri_seqi_unpack_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
116 {
117 int rc = YAKSA_SUCCESS;
118 const char *restrict sbuf = (const char *) inbuf;
119 char *restrict dbuf = (char *) outbuf;
120 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
121
122 int count1 = type->u.hvector.count;
123 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
124 intptr_t stride1 = type->u.hvector.stride;
125 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
126
127 int count2 = type->u.hvector.child->u.hvector.count;
128 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
129 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
130 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
131
132 uintptr_t idx = 0;
133 for (int i = 0; i < count; i++) {
134 for (int j1 = 0; j1 < count1; j1++) {
135 for (int k1 = 0; k1 < blocklength1; k1++) {
136 for (int j2 = 0; j2 < count2; j2++) {
137 for (int k2 = 0; k2 < 2; k2++) {
138 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
139 idx += sizeof(char);
140 }
141 }
142 }
143 }
144 }
145
146 return rc;
147 }
148
yaksuri_seqi_pack_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)149 int yaksuri_seqi_pack_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
150 {
151 int rc = YAKSA_SUCCESS;
152 const char *restrict sbuf = (const char *) inbuf;
153 char *restrict dbuf = (char *) outbuf;
154 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
155
156 int count1 = type->u.hvector.count;
157 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
158 intptr_t stride1 = type->u.hvector.stride;
159 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
160
161 int count2 = type->u.hvector.child->u.hvector.count;
162 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
163 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
164 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
165
166 uintptr_t idx = 0;
167 for (int i = 0; i < count; i++) {
168 for (int j1 = 0; j1 < count1; j1++) {
169 for (int k1 = 0; k1 < blocklength1; k1++) {
170 for (int j2 = 0; j2 < count2; j2++) {
171 for (int k2 = 0; k2 < 3; k2++) {
172 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
173 idx += sizeof(char);
174 }
175 }
176 }
177 }
178 }
179
180 return rc;
181 }
182
yaksuri_seqi_unpack_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)183 int yaksuri_seqi_unpack_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
184 {
185 int rc = YAKSA_SUCCESS;
186 const char *restrict sbuf = (const char *) inbuf;
187 char *restrict dbuf = (char *) outbuf;
188 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
189
190 int count1 = type->u.hvector.count;
191 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
192 intptr_t stride1 = type->u.hvector.stride;
193 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
194
195 int count2 = type->u.hvector.child->u.hvector.count;
196 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
197 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
198 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
199
200 uintptr_t idx = 0;
201 for (int i = 0; i < count; i++) {
202 for (int j1 = 0; j1 < count1; j1++) {
203 for (int k1 = 0; k1 < blocklength1; k1++) {
204 for (int j2 = 0; j2 < count2; j2++) {
205 for (int k2 = 0; k2 < 3; k2++) {
206 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
207 idx += sizeof(char);
208 }
209 }
210 }
211 }
212 }
213
214 return rc;
215 }
216
yaksuri_seqi_pack_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)217 int yaksuri_seqi_pack_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
218 {
219 int rc = YAKSA_SUCCESS;
220 const char *restrict sbuf = (const char *) inbuf;
221 char *restrict dbuf = (char *) outbuf;
222 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
223
224 int count1 = type->u.hvector.count;
225 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
226 intptr_t stride1 = type->u.hvector.stride;
227 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
228
229 int count2 = type->u.hvector.child->u.hvector.count;
230 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
231 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
232 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
233
234 uintptr_t idx = 0;
235 for (int i = 0; i < count; i++) {
236 for (int j1 = 0; j1 < count1; j1++) {
237 for (int k1 = 0; k1 < blocklength1; k1++) {
238 for (int j2 = 0; j2 < count2; j2++) {
239 for (int k2 = 0; k2 < 4; k2++) {
240 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
241 idx += sizeof(char);
242 }
243 }
244 }
245 }
246 }
247
248 return rc;
249 }
250
yaksuri_seqi_unpack_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)251 int yaksuri_seqi_unpack_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
252 {
253 int rc = YAKSA_SUCCESS;
254 const char *restrict sbuf = (const char *) inbuf;
255 char *restrict dbuf = (char *) outbuf;
256 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
257
258 int count1 = type->u.hvector.count;
259 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
260 intptr_t stride1 = type->u.hvector.stride;
261 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
262
263 int count2 = type->u.hvector.child->u.hvector.count;
264 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
265 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
266 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
267
268 uintptr_t idx = 0;
269 for (int i = 0; i < count; i++) {
270 for (int j1 = 0; j1 < count1; j1++) {
271 for (int k1 = 0; k1 < blocklength1; k1++) {
272 for (int j2 = 0; j2 < count2; j2++) {
273 for (int k2 = 0; k2 < 4; k2++) {
274 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
275 idx += sizeof(char);
276 }
277 }
278 }
279 }
280 }
281
282 return rc;
283 }
284
yaksuri_seqi_pack_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)285 int yaksuri_seqi_pack_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
286 {
287 int rc = YAKSA_SUCCESS;
288 const char *restrict sbuf = (const char *) inbuf;
289 char *restrict dbuf = (char *) outbuf;
290 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
291
292 int count1 = type->u.hvector.count;
293 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
294 intptr_t stride1 = type->u.hvector.stride;
295 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
296
297 int count2 = type->u.hvector.child->u.hvector.count;
298 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
299 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
300 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
301
302 uintptr_t idx = 0;
303 for (int i = 0; i < count; i++) {
304 for (int j1 = 0; j1 < count1; j1++) {
305 for (int k1 = 0; k1 < blocklength1; k1++) {
306 for (int j2 = 0; j2 < count2; j2++) {
307 for (int k2 = 0; k2 < 5; k2++) {
308 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
309 idx += sizeof(char);
310 }
311 }
312 }
313 }
314 }
315
316 return rc;
317 }
318
yaksuri_seqi_unpack_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)319 int yaksuri_seqi_unpack_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
320 {
321 int rc = YAKSA_SUCCESS;
322 const char *restrict sbuf = (const char *) inbuf;
323 char *restrict dbuf = (char *) outbuf;
324 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
325
326 int count1 = type->u.hvector.count;
327 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
328 intptr_t stride1 = type->u.hvector.stride;
329 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
330
331 int count2 = type->u.hvector.child->u.hvector.count;
332 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
333 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
334 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
335
336 uintptr_t idx = 0;
337 for (int i = 0; i < count; i++) {
338 for (int j1 = 0; j1 < count1; j1++) {
339 for (int k1 = 0; k1 < blocklength1; k1++) {
340 for (int j2 = 0; j2 < count2; j2++) {
341 for (int k2 = 0; k2 < 5; k2++) {
342 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
343 idx += sizeof(char);
344 }
345 }
346 }
347 }
348 }
349
350 return rc;
351 }
352
yaksuri_seqi_pack_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)353 int yaksuri_seqi_pack_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
354 {
355 int rc = YAKSA_SUCCESS;
356 const char *restrict sbuf = (const char *) inbuf;
357 char *restrict dbuf = (char *) outbuf;
358 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
359
360 int count1 = type->u.hvector.count;
361 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
362 intptr_t stride1 = type->u.hvector.stride;
363 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
364
365 int count2 = type->u.hvector.child->u.hvector.count;
366 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
367 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
368 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
369
370 uintptr_t idx = 0;
371 for (int i = 0; i < count; i++) {
372 for (int j1 = 0; j1 < count1; j1++) {
373 for (int k1 = 0; k1 < blocklength1; k1++) {
374 for (int j2 = 0; j2 < count2; j2++) {
375 for (int k2 = 0; k2 < 6; k2++) {
376 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
377 idx += sizeof(char);
378 }
379 }
380 }
381 }
382 }
383
384 return rc;
385 }
386
yaksuri_seqi_unpack_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)387 int yaksuri_seqi_unpack_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
388 {
389 int rc = YAKSA_SUCCESS;
390 const char *restrict sbuf = (const char *) inbuf;
391 char *restrict dbuf = (char *) outbuf;
392 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
393
394 int count1 = type->u.hvector.count;
395 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
396 intptr_t stride1 = type->u.hvector.stride;
397 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
398
399 int count2 = type->u.hvector.child->u.hvector.count;
400 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
401 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
402 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
403
404 uintptr_t idx = 0;
405 for (int i = 0; i < count; i++) {
406 for (int j1 = 0; j1 < count1; j1++) {
407 for (int k1 = 0; k1 < blocklength1; k1++) {
408 for (int j2 = 0; j2 < count2; j2++) {
409 for (int k2 = 0; k2 < 6; k2++) {
410 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
411 idx += sizeof(char);
412 }
413 }
414 }
415 }
416 }
417
418 return rc;
419 }
420
yaksuri_seqi_pack_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)421 int yaksuri_seqi_pack_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
422 {
423 int rc = YAKSA_SUCCESS;
424 const char *restrict sbuf = (const char *) inbuf;
425 char *restrict dbuf = (char *) outbuf;
426 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
427
428 int count1 = type->u.hvector.count;
429 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
430 intptr_t stride1 = type->u.hvector.stride;
431 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
432
433 int count2 = type->u.hvector.child->u.hvector.count;
434 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
435 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
436 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
437
438 uintptr_t idx = 0;
439 for (int i = 0; i < count; i++) {
440 for (int j1 = 0; j1 < count1; j1++) {
441 for (int k1 = 0; k1 < blocklength1; k1++) {
442 for (int j2 = 0; j2 < count2; j2++) {
443 for (int k2 = 0; k2 < 7; k2++) {
444 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
445 idx += sizeof(char);
446 }
447 }
448 }
449 }
450 }
451
452 return rc;
453 }
454
yaksuri_seqi_unpack_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)455 int yaksuri_seqi_unpack_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
456 {
457 int rc = YAKSA_SUCCESS;
458 const char *restrict sbuf = (const char *) inbuf;
459 char *restrict dbuf = (char *) outbuf;
460 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
461
462 int count1 = type->u.hvector.count;
463 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
464 intptr_t stride1 = type->u.hvector.stride;
465 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
466
467 int count2 = type->u.hvector.child->u.hvector.count;
468 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
469 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
470 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
471
472 uintptr_t idx = 0;
473 for (int i = 0; i < count; i++) {
474 for (int j1 = 0; j1 < count1; j1++) {
475 for (int k1 = 0; k1 < blocklength1; k1++) {
476 for (int j2 = 0; j2 < count2; j2++) {
477 for (int k2 = 0; k2 < 7; k2++) {
478 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
479 idx += sizeof(char);
480 }
481 }
482 }
483 }
484 }
485
486 return rc;
487 }
488
yaksuri_seqi_pack_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)489 int yaksuri_seqi_pack_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
490 {
491 int rc = YAKSA_SUCCESS;
492 const char *restrict sbuf = (const char *) inbuf;
493 char *restrict dbuf = (char *) outbuf;
494 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
495
496 int count1 = type->u.hvector.count;
497 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
498 intptr_t stride1 = type->u.hvector.stride;
499 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
500
501 int count2 = type->u.hvector.child->u.hvector.count;
502 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
503 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
504 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
505
506 uintptr_t idx = 0;
507 for (int i = 0; i < count; i++) {
508 for (int j1 = 0; j1 < count1; j1++) {
509 for (int k1 = 0; k1 < blocklength1; k1++) {
510 for (int j2 = 0; j2 < count2; j2++) {
511 for (int k2 = 0; k2 < 8; k2++) {
512 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
513 idx += sizeof(char);
514 }
515 }
516 }
517 }
518 }
519
520 return rc;
521 }
522
yaksuri_seqi_unpack_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)523 int yaksuri_seqi_unpack_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
524 {
525 int rc = YAKSA_SUCCESS;
526 const char *restrict sbuf = (const char *) inbuf;
527 char *restrict dbuf = (char *) outbuf;
528 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
529
530 int count1 = type->u.hvector.count;
531 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
532 intptr_t stride1 = type->u.hvector.stride;
533 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
534
535 int count2 = type->u.hvector.child->u.hvector.count;
536 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
537 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
538 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
539
540 uintptr_t idx = 0;
541 for (int i = 0; i < count; i++) {
542 for (int j1 = 0; j1 < count1; j1++) {
543 for (int k1 = 0; k1 < blocklength1; k1++) {
544 for (int j2 = 0; j2 < count2; j2++) {
545 for (int k2 = 0; k2 < 8; k2++) {
546 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
547 idx += sizeof(char);
548 }
549 }
550 }
551 }
552 }
553
554 return rc;
555 }
556
yaksuri_seqi_pack_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)557 int yaksuri_seqi_pack_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
558 {
559 int rc = YAKSA_SUCCESS;
560 const char *restrict sbuf = (const char *) inbuf;
561 char *restrict dbuf = (char *) outbuf;
562 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
563
564 int count1 = type->u.hvector.count;
565 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
566 intptr_t stride1 = type->u.hvector.stride;
567 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
568
569 int count2 = type->u.hvector.child->u.hvector.count;
570 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
571 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
572 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
573
574 uintptr_t idx = 0;
575 for (int i = 0; i < count; i++) {
576 for (int j1 = 0; j1 < count1; j1++) {
577 for (int k1 = 0; k1 < blocklength1; k1++) {
578 for (int j2 = 0; j2 < count2; j2++) {
579 for (int k2 = 0; k2 < blocklength2; k2++) {
580 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char)));
581 idx += sizeof(char);
582 }
583 }
584 }
585 }
586 }
587
588 return rc;
589 }
590
yaksuri_seqi_unpack_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)591 int yaksuri_seqi_unpack_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
592 {
593 int rc = YAKSA_SUCCESS;
594 const char *restrict sbuf = (const char *) inbuf;
595 char *restrict dbuf = (char *) outbuf;
596 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
597
598 int count1 = type->u.hvector.count;
599 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
600 intptr_t stride1 = type->u.hvector.stride;
601 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
602
603 int count2 = type->u.hvector.child->u.hvector.count;
604 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
605 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
606 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
607
608 uintptr_t idx = 0;
609 for (int i = 0; i < count; i++) {
610 for (int j1 = 0; j1 < count1; j1++) {
611 for (int k1 = 0; k1 < blocklength1; k1++) {
612 for (int j2 = 0; j2 < count2; j2++) {
613 for (int k2 = 0; k2 < blocklength2; k2++) {
614 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
615 idx += sizeof(char);
616 }
617 }
618 }
619 }
620 }
621
622 return rc;
623 }
624
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)625 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
626 {
627 int rc = YAKSA_SUCCESS;
628 const char *restrict sbuf = (const char *) inbuf;
629 char *restrict dbuf = (char *) outbuf;
630 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
631
632 int count1 = type->u.hvector.count;
633 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
634 intptr_t stride1 = type->u.hvector.stride;
635 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
636
637 int count2 = type->u.hvector.child->u.hvector.count;
638 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
639 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
640 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
641
642 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
643 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
644 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
645 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
646
647 uintptr_t idx = 0;
648 for (int i = 0; i < count; i++) {
649 for (int j1 = 0; j1 < count1; j1++) {
650 for (int k1 = 0; k1 < blocklength1; k1++) {
651 for (int j2 = 0; j2 < count2; j2++) {
652 for (int k2 = 0; k2 < blocklength2; k2++) {
653 for (int j3 = 0; j3 < count3; j3++) {
654 for (int k3 = 0; k3 < 1; k3++) {
655 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
656 idx += sizeof(char);
657 }
658 }
659 }
660 }
661 }
662 }
663 }
664
665 return rc;
666 }
667
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)668 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
669 {
670 int rc = YAKSA_SUCCESS;
671 const char *restrict sbuf = (const char *) inbuf;
672 char *restrict dbuf = (char *) outbuf;
673 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
674
675 int count1 = type->u.hvector.count;
676 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
677 intptr_t stride1 = type->u.hvector.stride;
678 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
679
680 int count2 = type->u.hvector.child->u.hvector.count;
681 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
682 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
683 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
684
685 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
686 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
687 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
688 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
689
690 uintptr_t idx = 0;
691 for (int i = 0; i < count; i++) {
692 for (int j1 = 0; j1 < count1; j1++) {
693 for (int k1 = 0; k1 < blocklength1; k1++) {
694 for (int j2 = 0; j2 < count2; j2++) {
695 for (int k2 = 0; k2 < blocklength2; k2++) {
696 for (int j3 = 0; j3 < count3; j3++) {
697 for (int k3 = 0; k3 < 1; k3++) {
698 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
699 idx += sizeof(char);
700 }
701 }
702 }
703 }
704 }
705 }
706 }
707
708 return rc;
709 }
710
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)711 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
712 {
713 int rc = YAKSA_SUCCESS;
714 const char *restrict sbuf = (const char *) inbuf;
715 char *restrict dbuf = (char *) outbuf;
716 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
717
718 int count1 = type->u.hvector.count;
719 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
720 intptr_t stride1 = type->u.hvector.stride;
721 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
722
723 int count2 = type->u.hvector.child->u.hvector.count;
724 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
725 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
726 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
727
728 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
729 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
730 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
731 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
732
733 uintptr_t idx = 0;
734 for (int i = 0; i < count; i++) {
735 for (int j1 = 0; j1 < count1; j1++) {
736 for (int k1 = 0; k1 < blocklength1; k1++) {
737 for (int j2 = 0; j2 < count2; j2++) {
738 for (int k2 = 0; k2 < blocklength2; k2++) {
739 for (int j3 = 0; j3 < count3; j3++) {
740 for (int k3 = 0; k3 < 2; k3++) {
741 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
742 idx += sizeof(char);
743 }
744 }
745 }
746 }
747 }
748 }
749 }
750
751 return rc;
752 }
753
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)754 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
755 {
756 int rc = YAKSA_SUCCESS;
757 const char *restrict sbuf = (const char *) inbuf;
758 char *restrict dbuf = (char *) outbuf;
759 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
760
761 int count1 = type->u.hvector.count;
762 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
763 intptr_t stride1 = type->u.hvector.stride;
764 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
765
766 int count2 = type->u.hvector.child->u.hvector.count;
767 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
768 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
769 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
770
771 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
772 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
773 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
774 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
775
776 uintptr_t idx = 0;
777 for (int i = 0; i < count; i++) {
778 for (int j1 = 0; j1 < count1; j1++) {
779 for (int k1 = 0; k1 < blocklength1; k1++) {
780 for (int j2 = 0; j2 < count2; j2++) {
781 for (int k2 = 0; k2 < blocklength2; k2++) {
782 for (int j3 = 0; j3 < count3; j3++) {
783 for (int k3 = 0; k3 < 2; k3++) {
784 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
785 idx += sizeof(char);
786 }
787 }
788 }
789 }
790 }
791 }
792 }
793
794 return rc;
795 }
796
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)797 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
798 {
799 int rc = YAKSA_SUCCESS;
800 const char *restrict sbuf = (const char *) inbuf;
801 char *restrict dbuf = (char *) outbuf;
802 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
803
804 int count1 = type->u.hvector.count;
805 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
806 intptr_t stride1 = type->u.hvector.stride;
807 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
808
809 int count2 = type->u.hvector.child->u.hvector.count;
810 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
811 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
812 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
813
814 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
815 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
816 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
817 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
818
819 uintptr_t idx = 0;
820 for (int i = 0; i < count; i++) {
821 for (int j1 = 0; j1 < count1; j1++) {
822 for (int k1 = 0; k1 < blocklength1; k1++) {
823 for (int j2 = 0; j2 < count2; j2++) {
824 for (int k2 = 0; k2 < blocklength2; k2++) {
825 for (int j3 = 0; j3 < count3; j3++) {
826 for (int k3 = 0; k3 < 3; k3++) {
827 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
828 idx += sizeof(char);
829 }
830 }
831 }
832 }
833 }
834 }
835 }
836
837 return rc;
838 }
839
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)840 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
841 {
842 int rc = YAKSA_SUCCESS;
843 const char *restrict sbuf = (const char *) inbuf;
844 char *restrict dbuf = (char *) outbuf;
845 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
846
847 int count1 = type->u.hvector.count;
848 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
849 intptr_t stride1 = type->u.hvector.stride;
850 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
851
852 int count2 = type->u.hvector.child->u.hvector.count;
853 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
854 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
855 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
856
857 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
858 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
859 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
860 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
861
862 uintptr_t idx = 0;
863 for (int i = 0; i < count; i++) {
864 for (int j1 = 0; j1 < count1; j1++) {
865 for (int k1 = 0; k1 < blocklength1; k1++) {
866 for (int j2 = 0; j2 < count2; j2++) {
867 for (int k2 = 0; k2 < blocklength2; k2++) {
868 for (int j3 = 0; j3 < count3; j3++) {
869 for (int k3 = 0; k3 < 3; k3++) {
870 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
871 idx += sizeof(char);
872 }
873 }
874 }
875 }
876 }
877 }
878 }
879
880 return rc;
881 }
882
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)883 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
884 {
885 int rc = YAKSA_SUCCESS;
886 const char *restrict sbuf = (const char *) inbuf;
887 char *restrict dbuf = (char *) outbuf;
888 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
889
890 int count1 = type->u.hvector.count;
891 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
892 intptr_t stride1 = type->u.hvector.stride;
893 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
894
895 int count2 = type->u.hvector.child->u.hvector.count;
896 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
897 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
898 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
899
900 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
901 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
902 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
903 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
904
905 uintptr_t idx = 0;
906 for (int i = 0; i < count; i++) {
907 for (int j1 = 0; j1 < count1; j1++) {
908 for (int k1 = 0; k1 < blocklength1; k1++) {
909 for (int j2 = 0; j2 < count2; j2++) {
910 for (int k2 = 0; k2 < blocklength2; k2++) {
911 for (int j3 = 0; j3 < count3; j3++) {
912 for (int k3 = 0; k3 < 4; k3++) {
913 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
914 idx += sizeof(char);
915 }
916 }
917 }
918 }
919 }
920 }
921 }
922
923 return rc;
924 }
925
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)926 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
927 {
928 int rc = YAKSA_SUCCESS;
929 const char *restrict sbuf = (const char *) inbuf;
930 char *restrict dbuf = (char *) outbuf;
931 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
932
933 int count1 = type->u.hvector.count;
934 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
935 intptr_t stride1 = type->u.hvector.stride;
936 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
937
938 int count2 = type->u.hvector.child->u.hvector.count;
939 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
940 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
941 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
942
943 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
944 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
945 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
946 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
947
948 uintptr_t idx = 0;
949 for (int i = 0; i < count; i++) {
950 for (int j1 = 0; j1 < count1; j1++) {
951 for (int k1 = 0; k1 < blocklength1; k1++) {
952 for (int j2 = 0; j2 < count2; j2++) {
953 for (int k2 = 0; k2 < blocklength2; k2++) {
954 for (int j3 = 0; j3 < count3; j3++) {
955 for (int k3 = 0; k3 < 4; k3++) {
956 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
957 idx += sizeof(char);
958 }
959 }
960 }
961 }
962 }
963 }
964 }
965
966 return rc;
967 }
968
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)969 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
970 {
971 int rc = YAKSA_SUCCESS;
972 const char *restrict sbuf = (const char *) inbuf;
973 char *restrict dbuf = (char *) outbuf;
974 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
975
976 int count1 = type->u.hvector.count;
977 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
978 intptr_t stride1 = type->u.hvector.stride;
979 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
980
981 int count2 = type->u.hvector.child->u.hvector.count;
982 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
983 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
984 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
985
986 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
987 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
988 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
989 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
990
991 uintptr_t idx = 0;
992 for (int i = 0; i < count; i++) {
993 for (int j1 = 0; j1 < count1; j1++) {
994 for (int k1 = 0; k1 < blocklength1; k1++) {
995 for (int j2 = 0; j2 < count2; j2++) {
996 for (int k2 = 0; k2 < blocklength2; k2++) {
997 for (int j3 = 0; j3 < count3; j3++) {
998 for (int k3 = 0; k3 < 5; k3++) {
999 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1000 idx += sizeof(char);
1001 }
1002 }
1003 }
1004 }
1005 }
1006 }
1007 }
1008
1009 return rc;
1010 }
1011
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1012 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1013 {
1014 int rc = YAKSA_SUCCESS;
1015 const char *restrict sbuf = (const char *) inbuf;
1016 char *restrict dbuf = (char *) outbuf;
1017 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1018
1019 int count1 = type->u.hvector.count;
1020 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1021 intptr_t stride1 = type->u.hvector.stride;
1022 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1023
1024 int count2 = type->u.hvector.child->u.hvector.count;
1025 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1026 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1027 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1028
1029 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1030 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1031 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1032 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1033
1034 uintptr_t idx = 0;
1035 for (int i = 0; i < count; i++) {
1036 for (int j1 = 0; j1 < count1; j1++) {
1037 for (int k1 = 0; k1 < blocklength1; k1++) {
1038 for (int j2 = 0; j2 < count2; j2++) {
1039 for (int k2 = 0; k2 < blocklength2; k2++) {
1040 for (int j3 = 0; j3 < count3; j3++) {
1041 for (int k3 = 0; k3 < 5; k3++) {
1042 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1043 idx += sizeof(char);
1044 }
1045 }
1046 }
1047 }
1048 }
1049 }
1050 }
1051
1052 return rc;
1053 }
1054
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1055 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1056 {
1057 int rc = YAKSA_SUCCESS;
1058 const char *restrict sbuf = (const char *) inbuf;
1059 char *restrict dbuf = (char *) outbuf;
1060 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1061
1062 int count1 = type->u.hvector.count;
1063 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1064 intptr_t stride1 = type->u.hvector.stride;
1065 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1066
1067 int count2 = type->u.hvector.child->u.hvector.count;
1068 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1069 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1070 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1071
1072 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1073 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1074 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1075 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1076
1077 uintptr_t idx = 0;
1078 for (int i = 0; i < count; i++) {
1079 for (int j1 = 0; j1 < count1; j1++) {
1080 for (int k1 = 0; k1 < blocklength1; k1++) {
1081 for (int j2 = 0; j2 < count2; j2++) {
1082 for (int k2 = 0; k2 < blocklength2; k2++) {
1083 for (int j3 = 0; j3 < count3; j3++) {
1084 for (int k3 = 0; k3 < 6; k3++) {
1085 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1086 idx += sizeof(char);
1087 }
1088 }
1089 }
1090 }
1091 }
1092 }
1093 }
1094
1095 return rc;
1096 }
1097
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1098 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1099 {
1100 int rc = YAKSA_SUCCESS;
1101 const char *restrict sbuf = (const char *) inbuf;
1102 char *restrict dbuf = (char *) outbuf;
1103 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1104
1105 int count1 = type->u.hvector.count;
1106 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1107 intptr_t stride1 = type->u.hvector.stride;
1108 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1109
1110 int count2 = type->u.hvector.child->u.hvector.count;
1111 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1112 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1113 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1114
1115 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1116 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1117 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1118 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1119
1120 uintptr_t idx = 0;
1121 for (int i = 0; i < count; i++) {
1122 for (int j1 = 0; j1 < count1; j1++) {
1123 for (int k1 = 0; k1 < blocklength1; k1++) {
1124 for (int j2 = 0; j2 < count2; j2++) {
1125 for (int k2 = 0; k2 < blocklength2; k2++) {
1126 for (int j3 = 0; j3 < count3; j3++) {
1127 for (int k3 = 0; k3 < 6; k3++) {
1128 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1129 idx += sizeof(char);
1130 }
1131 }
1132 }
1133 }
1134 }
1135 }
1136 }
1137
1138 return rc;
1139 }
1140
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1141 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1142 {
1143 int rc = YAKSA_SUCCESS;
1144 const char *restrict sbuf = (const char *) inbuf;
1145 char *restrict dbuf = (char *) outbuf;
1146 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1147
1148 int count1 = type->u.hvector.count;
1149 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1150 intptr_t stride1 = type->u.hvector.stride;
1151 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1152
1153 int count2 = type->u.hvector.child->u.hvector.count;
1154 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1155 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1156 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1157
1158 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1159 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1160 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1161 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1162
1163 uintptr_t idx = 0;
1164 for (int i = 0; i < count; i++) {
1165 for (int j1 = 0; j1 < count1; j1++) {
1166 for (int k1 = 0; k1 < blocklength1; k1++) {
1167 for (int j2 = 0; j2 < count2; j2++) {
1168 for (int k2 = 0; k2 < blocklength2; k2++) {
1169 for (int j3 = 0; j3 < count3; j3++) {
1170 for (int k3 = 0; k3 < 7; k3++) {
1171 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1172 idx += sizeof(char);
1173 }
1174 }
1175 }
1176 }
1177 }
1178 }
1179 }
1180
1181 return rc;
1182 }
1183
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1184 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1185 {
1186 int rc = YAKSA_SUCCESS;
1187 const char *restrict sbuf = (const char *) inbuf;
1188 char *restrict dbuf = (char *) outbuf;
1189 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1190
1191 int count1 = type->u.hvector.count;
1192 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1193 intptr_t stride1 = type->u.hvector.stride;
1194 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1195
1196 int count2 = type->u.hvector.child->u.hvector.count;
1197 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1198 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1199 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1200
1201 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1202 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1203 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1204 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1205
1206 uintptr_t idx = 0;
1207 for (int i = 0; i < count; i++) {
1208 for (int j1 = 0; j1 < count1; j1++) {
1209 for (int k1 = 0; k1 < blocklength1; k1++) {
1210 for (int j2 = 0; j2 < count2; j2++) {
1211 for (int k2 = 0; k2 < blocklength2; k2++) {
1212 for (int j3 = 0; j3 < count3; j3++) {
1213 for (int k3 = 0; k3 < 7; k3++) {
1214 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1215 idx += sizeof(char);
1216 }
1217 }
1218 }
1219 }
1220 }
1221 }
1222 }
1223
1224 return rc;
1225 }
1226
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1227 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1228 {
1229 int rc = YAKSA_SUCCESS;
1230 const char *restrict sbuf = (const char *) inbuf;
1231 char *restrict dbuf = (char *) outbuf;
1232 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1233
1234 int count1 = type->u.hvector.count;
1235 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1236 intptr_t stride1 = type->u.hvector.stride;
1237 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1238
1239 int count2 = type->u.hvector.child->u.hvector.count;
1240 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1241 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1242 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1243
1244 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1245 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1246 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1247 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1248
1249 uintptr_t idx = 0;
1250 for (int i = 0; i < count; i++) {
1251 for (int j1 = 0; j1 < count1; j1++) {
1252 for (int k1 = 0; k1 < blocklength1; k1++) {
1253 for (int j2 = 0; j2 < count2; j2++) {
1254 for (int k2 = 0; k2 < blocklength2; k2++) {
1255 for (int j3 = 0; j3 < count3; j3++) {
1256 for (int k3 = 0; k3 < 8; k3++) {
1257 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1258 idx += sizeof(char);
1259 }
1260 }
1261 }
1262 }
1263 }
1264 }
1265 }
1266
1267 return rc;
1268 }
1269
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1270 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1271 {
1272 int rc = YAKSA_SUCCESS;
1273 const char *restrict sbuf = (const char *) inbuf;
1274 char *restrict dbuf = (char *) outbuf;
1275 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1276
1277 int count1 = type->u.hvector.count;
1278 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1279 intptr_t stride1 = type->u.hvector.stride;
1280 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1281
1282 int count2 = type->u.hvector.child->u.hvector.count;
1283 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1284 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1285 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1286
1287 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1288 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1289 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1290 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1291
1292 uintptr_t idx = 0;
1293 for (int i = 0; i < count; i++) {
1294 for (int j1 = 0; j1 < count1; j1++) {
1295 for (int k1 = 0; k1 < blocklength1; k1++) {
1296 for (int j2 = 0; j2 < count2; j2++) {
1297 for (int k2 = 0; k2 < blocklength2; k2++) {
1298 for (int j3 = 0; j3 < count3; j3++) {
1299 for (int k3 = 0; k3 < 8; k3++) {
1300 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1301 idx += sizeof(char);
1302 }
1303 }
1304 }
1305 }
1306 }
1307 }
1308 }
1309
1310 return rc;
1311 }
1312
yaksuri_seqi_pack_hvector_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1313 int yaksuri_seqi_pack_hvector_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1314 {
1315 int rc = YAKSA_SUCCESS;
1316 const char *restrict sbuf = (const char *) inbuf;
1317 char *restrict dbuf = (char *) outbuf;
1318 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1319
1320 int count1 = type->u.hvector.count;
1321 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1322 intptr_t stride1 = type->u.hvector.stride;
1323 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1324
1325 int count2 = type->u.hvector.child->u.hvector.count;
1326 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1327 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1328 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1329
1330 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1331 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1332 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1333 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1334
1335 uintptr_t idx = 0;
1336 for (int i = 0; i < count; i++) {
1337 for (int j1 = 0; j1 < count1; j1++) {
1338 for (int k1 = 0; k1 < blocklength1; k1++) {
1339 for (int j2 = 0; j2 < count2; j2++) {
1340 for (int k2 = 0; k2 < blocklength2; k2++) {
1341 for (int j3 = 0; j3 < count3; j3++) {
1342 for (int k3 = 0; k3 < blocklength3; k3++) {
1343 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1344 idx += sizeof(char);
1345 }
1346 }
1347 }
1348 }
1349 }
1350 }
1351 }
1352
1353 return rc;
1354 }
1355
yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1356 int yaksuri_seqi_unpack_hvector_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1357 {
1358 int rc = YAKSA_SUCCESS;
1359 const char *restrict sbuf = (const char *) inbuf;
1360 char *restrict dbuf = (char *) outbuf;
1361 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1362
1363 int count1 = type->u.hvector.count;
1364 int blocklength1 ATTRIBUTE((unused)) = type->u.hvector.blocklength;
1365 intptr_t stride1 = type->u.hvector.stride;
1366 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1367
1368 int count2 = type->u.hvector.child->u.hvector.count;
1369 int blocklength2 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.blocklength;
1370 intptr_t stride2 = type->u.hvector.child->u.hvector.stride;
1371 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hvector.child->extent;
1372
1373 int count3 = type->u.hvector.child->u.hvector.child->u.hvector.count;
1374 int blocklength3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->u.hvector.blocklength;
1375 intptr_t stride3 = type->u.hvector.child->u.hvector.child->u.hvector.stride;
1376 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hvector.child->u.hvector.child->extent;
1377
1378 uintptr_t idx = 0;
1379 for (int i = 0; i < count; i++) {
1380 for (int j1 = 0; j1 < count1; j1++) {
1381 for (int k1 = 0; k1 < blocklength1; k1++) {
1382 for (int j2 = 0; j2 < count2; j2++) {
1383 for (int k2 = 0; k2 < blocklength2; k2++) {
1384 for (int j3 = 0; j3 < count3; j3++) {
1385 for (int k3 = 0; k3 < blocklength3; k3++) {
1386 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1387 idx += sizeof(char);
1388 }
1389 }
1390 }
1391 }
1392 }
1393 }
1394 }
1395
1396 return rc;
1397 }
1398
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1399 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1400 {
1401 int rc = YAKSA_SUCCESS;
1402 const char *restrict sbuf = (const char *) inbuf;
1403 char *restrict dbuf = (char *) outbuf;
1404 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1405
1406 int count1 = type->u.blkhindx.count;
1407 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1408 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1409 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1410
1411 int count2 = type->u.blkhindx.child->u.hvector.count;
1412 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1413 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1414 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1415
1416 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1417 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1418 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1419 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1420
1421 uintptr_t idx = 0;
1422 for (int i = 0; i < count; i++) {
1423 for (int j1 = 0; j1 < count1; j1++) {
1424 for (int k1 = 0; k1 < blocklength1; k1++) {
1425 for (int j2 = 0; j2 < count2; j2++) {
1426 for (int k2 = 0; k2 < blocklength2; k2++) {
1427 for (int j3 = 0; j3 < count3; j3++) {
1428 for (int k3 = 0; k3 < 1; k3++) {
1429 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1430 idx += sizeof(char);
1431 }
1432 }
1433 }
1434 }
1435 }
1436 }
1437 }
1438
1439 return rc;
1440 }
1441
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1442 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1443 {
1444 int rc = YAKSA_SUCCESS;
1445 const char *restrict sbuf = (const char *) inbuf;
1446 char *restrict dbuf = (char *) outbuf;
1447 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1448
1449 int count1 = type->u.blkhindx.count;
1450 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1451 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1452 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1453
1454 int count2 = type->u.blkhindx.child->u.hvector.count;
1455 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1456 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1457 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1458
1459 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1460 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1461 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1462 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1463
1464 uintptr_t idx = 0;
1465 for (int i = 0; i < count; i++) {
1466 for (int j1 = 0; j1 < count1; j1++) {
1467 for (int k1 = 0; k1 < blocklength1; k1++) {
1468 for (int j2 = 0; j2 < count2; j2++) {
1469 for (int k2 = 0; k2 < blocklength2; k2++) {
1470 for (int j3 = 0; j3 < count3; j3++) {
1471 for (int k3 = 0; k3 < 1; k3++) {
1472 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1473 idx += sizeof(char);
1474 }
1475 }
1476 }
1477 }
1478 }
1479 }
1480 }
1481
1482 return rc;
1483 }
1484
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1485 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1486 {
1487 int rc = YAKSA_SUCCESS;
1488 const char *restrict sbuf = (const char *) inbuf;
1489 char *restrict dbuf = (char *) outbuf;
1490 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1491
1492 int count1 = type->u.blkhindx.count;
1493 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1494 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1495 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1496
1497 int count2 = type->u.blkhindx.child->u.hvector.count;
1498 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1499 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1500 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1501
1502 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1503 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1504 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1505 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1506
1507 uintptr_t idx = 0;
1508 for (int i = 0; i < count; i++) {
1509 for (int j1 = 0; j1 < count1; j1++) {
1510 for (int k1 = 0; k1 < blocklength1; k1++) {
1511 for (int j2 = 0; j2 < count2; j2++) {
1512 for (int k2 = 0; k2 < blocklength2; k2++) {
1513 for (int j3 = 0; j3 < count3; j3++) {
1514 for (int k3 = 0; k3 < 2; k3++) {
1515 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1516 idx += sizeof(char);
1517 }
1518 }
1519 }
1520 }
1521 }
1522 }
1523 }
1524
1525 return rc;
1526 }
1527
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1528 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1529 {
1530 int rc = YAKSA_SUCCESS;
1531 const char *restrict sbuf = (const char *) inbuf;
1532 char *restrict dbuf = (char *) outbuf;
1533 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1534
1535 int count1 = type->u.blkhindx.count;
1536 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1537 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1538 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1539
1540 int count2 = type->u.blkhindx.child->u.hvector.count;
1541 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1542 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1543 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1544
1545 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1546 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1547 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1548 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1549
1550 uintptr_t idx = 0;
1551 for (int i = 0; i < count; i++) {
1552 for (int j1 = 0; j1 < count1; j1++) {
1553 for (int k1 = 0; k1 < blocklength1; k1++) {
1554 for (int j2 = 0; j2 < count2; j2++) {
1555 for (int k2 = 0; k2 < blocklength2; k2++) {
1556 for (int j3 = 0; j3 < count3; j3++) {
1557 for (int k3 = 0; k3 < 2; k3++) {
1558 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1559 idx += sizeof(char);
1560 }
1561 }
1562 }
1563 }
1564 }
1565 }
1566 }
1567
1568 return rc;
1569 }
1570
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1571 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1572 {
1573 int rc = YAKSA_SUCCESS;
1574 const char *restrict sbuf = (const char *) inbuf;
1575 char *restrict dbuf = (char *) outbuf;
1576 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1577
1578 int count1 = type->u.blkhindx.count;
1579 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1580 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1581 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1582
1583 int count2 = type->u.blkhindx.child->u.hvector.count;
1584 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1585 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1586 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1587
1588 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1589 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1590 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1591 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1592
1593 uintptr_t idx = 0;
1594 for (int i = 0; i < count; i++) {
1595 for (int j1 = 0; j1 < count1; j1++) {
1596 for (int k1 = 0; k1 < blocklength1; k1++) {
1597 for (int j2 = 0; j2 < count2; j2++) {
1598 for (int k2 = 0; k2 < blocklength2; k2++) {
1599 for (int j3 = 0; j3 < count3; j3++) {
1600 for (int k3 = 0; k3 < 3; k3++) {
1601 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1602 idx += sizeof(char);
1603 }
1604 }
1605 }
1606 }
1607 }
1608 }
1609 }
1610
1611 return rc;
1612 }
1613
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1614 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1615 {
1616 int rc = YAKSA_SUCCESS;
1617 const char *restrict sbuf = (const char *) inbuf;
1618 char *restrict dbuf = (char *) outbuf;
1619 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1620
1621 int count1 = type->u.blkhindx.count;
1622 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1623 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1624 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1625
1626 int count2 = type->u.blkhindx.child->u.hvector.count;
1627 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1628 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1629 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1630
1631 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1632 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1633 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1634 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1635
1636 uintptr_t idx = 0;
1637 for (int i = 0; i < count; i++) {
1638 for (int j1 = 0; j1 < count1; j1++) {
1639 for (int k1 = 0; k1 < blocklength1; k1++) {
1640 for (int j2 = 0; j2 < count2; j2++) {
1641 for (int k2 = 0; k2 < blocklength2; k2++) {
1642 for (int j3 = 0; j3 < count3; j3++) {
1643 for (int k3 = 0; k3 < 3; k3++) {
1644 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1645 idx += sizeof(char);
1646 }
1647 }
1648 }
1649 }
1650 }
1651 }
1652 }
1653
1654 return rc;
1655 }
1656
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1657 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1658 {
1659 int rc = YAKSA_SUCCESS;
1660 const char *restrict sbuf = (const char *) inbuf;
1661 char *restrict dbuf = (char *) outbuf;
1662 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1663
1664 int count1 = type->u.blkhindx.count;
1665 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1666 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1667 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1668
1669 int count2 = type->u.blkhindx.child->u.hvector.count;
1670 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1671 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1672 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1673
1674 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1675 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1676 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1677 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1678
1679 uintptr_t idx = 0;
1680 for (int i = 0; i < count; i++) {
1681 for (int j1 = 0; j1 < count1; j1++) {
1682 for (int k1 = 0; k1 < blocklength1; k1++) {
1683 for (int j2 = 0; j2 < count2; j2++) {
1684 for (int k2 = 0; k2 < blocklength2; k2++) {
1685 for (int j3 = 0; j3 < count3; j3++) {
1686 for (int k3 = 0; k3 < 4; k3++) {
1687 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1688 idx += sizeof(char);
1689 }
1690 }
1691 }
1692 }
1693 }
1694 }
1695 }
1696
1697 return rc;
1698 }
1699
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1700 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1701 {
1702 int rc = YAKSA_SUCCESS;
1703 const char *restrict sbuf = (const char *) inbuf;
1704 char *restrict dbuf = (char *) outbuf;
1705 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1706
1707 int count1 = type->u.blkhindx.count;
1708 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1709 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1710 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1711
1712 int count2 = type->u.blkhindx.child->u.hvector.count;
1713 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1714 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1715 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1716
1717 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1718 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1719 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1720 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1721
1722 uintptr_t idx = 0;
1723 for (int i = 0; i < count; i++) {
1724 for (int j1 = 0; j1 < count1; j1++) {
1725 for (int k1 = 0; k1 < blocklength1; k1++) {
1726 for (int j2 = 0; j2 < count2; j2++) {
1727 for (int k2 = 0; k2 < blocklength2; k2++) {
1728 for (int j3 = 0; j3 < count3; j3++) {
1729 for (int k3 = 0; k3 < 4; k3++) {
1730 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1731 idx += sizeof(char);
1732 }
1733 }
1734 }
1735 }
1736 }
1737 }
1738 }
1739
1740 return rc;
1741 }
1742
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1743 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1744 {
1745 int rc = YAKSA_SUCCESS;
1746 const char *restrict sbuf = (const char *) inbuf;
1747 char *restrict dbuf = (char *) outbuf;
1748 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1749
1750 int count1 = type->u.blkhindx.count;
1751 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1752 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1753 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1754
1755 int count2 = type->u.blkhindx.child->u.hvector.count;
1756 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1757 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1758 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1759
1760 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1761 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1762 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1763 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1764
1765 uintptr_t idx = 0;
1766 for (int i = 0; i < count; i++) {
1767 for (int j1 = 0; j1 < count1; j1++) {
1768 for (int k1 = 0; k1 < blocklength1; k1++) {
1769 for (int j2 = 0; j2 < count2; j2++) {
1770 for (int k2 = 0; k2 < blocklength2; k2++) {
1771 for (int j3 = 0; j3 < count3; j3++) {
1772 for (int k3 = 0; k3 < 5; k3++) {
1773 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1774 idx += sizeof(char);
1775 }
1776 }
1777 }
1778 }
1779 }
1780 }
1781 }
1782
1783 return rc;
1784 }
1785
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1786 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1787 {
1788 int rc = YAKSA_SUCCESS;
1789 const char *restrict sbuf = (const char *) inbuf;
1790 char *restrict dbuf = (char *) outbuf;
1791 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1792
1793 int count1 = type->u.blkhindx.count;
1794 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1795 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1796 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1797
1798 int count2 = type->u.blkhindx.child->u.hvector.count;
1799 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1800 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1801 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1802
1803 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1804 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1805 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1806 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1807
1808 uintptr_t idx = 0;
1809 for (int i = 0; i < count; i++) {
1810 for (int j1 = 0; j1 < count1; j1++) {
1811 for (int k1 = 0; k1 < blocklength1; k1++) {
1812 for (int j2 = 0; j2 < count2; j2++) {
1813 for (int k2 = 0; k2 < blocklength2; k2++) {
1814 for (int j3 = 0; j3 < count3; j3++) {
1815 for (int k3 = 0; k3 < 5; k3++) {
1816 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1817 idx += sizeof(char);
1818 }
1819 }
1820 }
1821 }
1822 }
1823 }
1824 }
1825
1826 return rc;
1827 }
1828
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1829 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1830 {
1831 int rc = YAKSA_SUCCESS;
1832 const char *restrict sbuf = (const char *) inbuf;
1833 char *restrict dbuf = (char *) outbuf;
1834 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1835
1836 int count1 = type->u.blkhindx.count;
1837 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1838 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1839 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1840
1841 int count2 = type->u.blkhindx.child->u.hvector.count;
1842 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1843 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1844 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1845
1846 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1847 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1848 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1849 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1850
1851 uintptr_t idx = 0;
1852 for (int i = 0; i < count; i++) {
1853 for (int j1 = 0; j1 < count1; j1++) {
1854 for (int k1 = 0; k1 < blocklength1; k1++) {
1855 for (int j2 = 0; j2 < count2; j2++) {
1856 for (int k2 = 0; k2 < blocklength2; k2++) {
1857 for (int j3 = 0; j3 < count3; j3++) {
1858 for (int k3 = 0; k3 < 6; k3++) {
1859 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1860 idx += sizeof(char);
1861 }
1862 }
1863 }
1864 }
1865 }
1866 }
1867 }
1868
1869 return rc;
1870 }
1871
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1872 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1873 {
1874 int rc = YAKSA_SUCCESS;
1875 const char *restrict sbuf = (const char *) inbuf;
1876 char *restrict dbuf = (char *) outbuf;
1877 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1878
1879 int count1 = type->u.blkhindx.count;
1880 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1881 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1882 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1883
1884 int count2 = type->u.blkhindx.child->u.hvector.count;
1885 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1886 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1887 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1888
1889 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1890 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1891 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1892 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1893
1894 uintptr_t idx = 0;
1895 for (int i = 0; i < count; i++) {
1896 for (int j1 = 0; j1 < count1; j1++) {
1897 for (int k1 = 0; k1 < blocklength1; k1++) {
1898 for (int j2 = 0; j2 < count2; j2++) {
1899 for (int k2 = 0; k2 < blocklength2; k2++) {
1900 for (int j3 = 0; j3 < count3; j3++) {
1901 for (int k3 = 0; k3 < 6; k3++) {
1902 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1903 idx += sizeof(char);
1904 }
1905 }
1906 }
1907 }
1908 }
1909 }
1910 }
1911
1912 return rc;
1913 }
1914
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1915 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1916 {
1917 int rc = YAKSA_SUCCESS;
1918 const char *restrict sbuf = (const char *) inbuf;
1919 char *restrict dbuf = (char *) outbuf;
1920 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1921
1922 int count1 = type->u.blkhindx.count;
1923 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1924 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1925 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1926
1927 int count2 = type->u.blkhindx.child->u.hvector.count;
1928 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1929 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1930 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1931
1932 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1933 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1934 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1935 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1936
1937 uintptr_t idx = 0;
1938 for (int i = 0; i < count; i++) {
1939 for (int j1 = 0; j1 < count1; j1++) {
1940 for (int k1 = 0; k1 < blocklength1; k1++) {
1941 for (int j2 = 0; j2 < count2; j2++) {
1942 for (int k2 = 0; k2 < blocklength2; k2++) {
1943 for (int j3 = 0; j3 < count3; j3++) {
1944 for (int k3 = 0; k3 < 7; k3++) {
1945 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
1946 idx += sizeof(char);
1947 }
1948 }
1949 }
1950 }
1951 }
1952 }
1953 }
1954
1955 return rc;
1956 }
1957
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)1958 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
1959 {
1960 int rc = YAKSA_SUCCESS;
1961 const char *restrict sbuf = (const char *) inbuf;
1962 char *restrict dbuf = (char *) outbuf;
1963 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
1964
1965 int count1 = type->u.blkhindx.count;
1966 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
1967 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
1968 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
1969
1970 int count2 = type->u.blkhindx.child->u.hvector.count;
1971 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
1972 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
1973 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
1974
1975 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
1976 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
1977 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
1978 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
1979
1980 uintptr_t idx = 0;
1981 for (int i = 0; i < count; i++) {
1982 for (int j1 = 0; j1 < count1; j1++) {
1983 for (int k1 = 0; k1 < blocklength1; k1++) {
1984 for (int j2 = 0; j2 < count2; j2++) {
1985 for (int k2 = 0; k2 < blocklength2; k2++) {
1986 for (int j3 = 0; j3 < count3; j3++) {
1987 for (int k3 = 0; k3 < 7; k3++) {
1988 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
1989 idx += sizeof(char);
1990 }
1991 }
1992 }
1993 }
1994 }
1995 }
1996 }
1997
1998 return rc;
1999 }
2000
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2001 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2002 {
2003 int rc = YAKSA_SUCCESS;
2004 const char *restrict sbuf = (const char *) inbuf;
2005 char *restrict dbuf = (char *) outbuf;
2006 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2007
2008 int count1 = type->u.blkhindx.count;
2009 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
2010 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
2011 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2012
2013 int count2 = type->u.blkhindx.child->u.hvector.count;
2014 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
2015 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
2016 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
2017
2018 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
2019 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
2020 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
2021 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
2022
2023 uintptr_t idx = 0;
2024 for (int i = 0; i < count; i++) {
2025 for (int j1 = 0; j1 < count1; j1++) {
2026 for (int k1 = 0; k1 < blocklength1; k1++) {
2027 for (int j2 = 0; j2 < count2; j2++) {
2028 for (int k2 = 0; k2 < blocklength2; k2++) {
2029 for (int j3 = 0; j3 < count3; j3++) {
2030 for (int k3 = 0; k3 < 8; k3++) {
2031 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2032 idx += sizeof(char);
2033 }
2034 }
2035 }
2036 }
2037 }
2038 }
2039 }
2040
2041 return rc;
2042 }
2043
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2044 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2045 {
2046 int rc = YAKSA_SUCCESS;
2047 const char *restrict sbuf = (const char *) inbuf;
2048 char *restrict dbuf = (char *) outbuf;
2049 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2050
2051 int count1 = type->u.blkhindx.count;
2052 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
2053 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
2054 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2055
2056 int count2 = type->u.blkhindx.child->u.hvector.count;
2057 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
2058 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
2059 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
2060
2061 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
2062 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
2063 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
2064 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
2065
2066 uintptr_t idx = 0;
2067 for (int i = 0; i < count; i++) {
2068 for (int j1 = 0; j1 < count1; j1++) {
2069 for (int k1 = 0; k1 < blocklength1; k1++) {
2070 for (int j2 = 0; j2 < count2; j2++) {
2071 for (int k2 = 0; k2 < blocklength2; k2++) {
2072 for (int j3 = 0; j3 < count3; j3++) {
2073 for (int k3 = 0; k3 < 8; k3++) {
2074 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2075 idx += sizeof(char);
2076 }
2077 }
2078 }
2079 }
2080 }
2081 }
2082 }
2083
2084 return rc;
2085 }
2086
yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2087 int yaksuri_seqi_pack_blkhindx_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2088 {
2089 int rc = YAKSA_SUCCESS;
2090 const char *restrict sbuf = (const char *) inbuf;
2091 char *restrict dbuf = (char *) outbuf;
2092 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2093
2094 int count1 = type->u.blkhindx.count;
2095 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
2096 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
2097 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2098
2099 int count2 = type->u.blkhindx.child->u.hvector.count;
2100 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
2101 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
2102 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
2103
2104 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
2105 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
2106 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
2107 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
2108
2109 uintptr_t idx = 0;
2110 for (int i = 0; i < count; i++) {
2111 for (int j1 = 0; j1 < count1; j1++) {
2112 for (int k1 = 0; k1 < blocklength1; k1++) {
2113 for (int j2 = 0; j2 < count2; j2++) {
2114 for (int k2 = 0; k2 < blocklength2; k2++) {
2115 for (int j3 = 0; j3 < count3; j3++) {
2116 for (int k3 = 0; k3 < blocklength3; k3++) {
2117 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2118 idx += sizeof(char);
2119 }
2120 }
2121 }
2122 }
2123 }
2124 }
2125 }
2126
2127 return rc;
2128 }
2129
yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2130 int yaksuri_seqi_unpack_blkhindx_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2131 {
2132 int rc = YAKSA_SUCCESS;
2133 const char *restrict sbuf = (const char *) inbuf;
2134 char *restrict dbuf = (char *) outbuf;
2135 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2136
2137 int count1 = type->u.blkhindx.count;
2138 int blocklength1 ATTRIBUTE((unused)) = type->u.blkhindx.blocklength;
2139 intptr_t *restrict array_of_displs1 = type->u.blkhindx.array_of_displs;
2140 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2141
2142 int count2 = type->u.blkhindx.child->u.hvector.count;
2143 int blocklength2 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.blocklength;
2144 intptr_t stride2 = type->u.blkhindx.child->u.hvector.stride;
2145 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.blkhindx.child->extent;
2146
2147 int count3 = type->u.blkhindx.child->u.hvector.child->u.hvector.count;
2148 int blocklength3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->u.hvector.blocklength;
2149 intptr_t stride3 = type->u.blkhindx.child->u.hvector.child->u.hvector.stride;
2150 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.blkhindx.child->u.hvector.child->extent;
2151
2152 uintptr_t idx = 0;
2153 for (int i = 0; i < count; i++) {
2154 for (int j1 = 0; j1 < count1; j1++) {
2155 for (int k1 = 0; k1 < blocklength1; k1++) {
2156 for (int j2 = 0; j2 < count2; j2++) {
2157 for (int k2 = 0; k2 < blocklength2; k2++) {
2158 for (int j3 = 0; j3 < count3; j3++) {
2159 for (int k3 = 0; k3 < blocklength3; k3++) {
2160 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2161 idx += sizeof(char);
2162 }
2163 }
2164 }
2165 }
2166 }
2167 }
2168 }
2169
2170 return rc;
2171 }
2172
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2173 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2174 {
2175 int rc = YAKSA_SUCCESS;
2176 const char *restrict sbuf = (const char *) inbuf;
2177 char *restrict dbuf = (char *) outbuf;
2178 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2179
2180 int count1 = type->u.hindexed.count;
2181 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2182 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2183 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2184
2185 int count2 = type->u.hindexed.child->u.hvector.count;
2186 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2187 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2188 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2189
2190 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2191 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2192 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2193 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2194
2195 uintptr_t idx = 0;
2196 for (int i = 0; i < count; i++) {
2197 for (int j1 = 0; j1 < count1; j1++) {
2198 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2199 for (int j2 = 0; j2 < count2; j2++) {
2200 for (int k2 = 0; k2 < blocklength2; k2++) {
2201 for (int j3 = 0; j3 < count3; j3++) {
2202 for (int k3 = 0; k3 < 1; k3++) {
2203 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2204 idx += sizeof(char);
2205 }
2206 }
2207 }
2208 }
2209 }
2210 }
2211 }
2212
2213 return rc;
2214 }
2215
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2216 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2217 {
2218 int rc = YAKSA_SUCCESS;
2219 const char *restrict sbuf = (const char *) inbuf;
2220 char *restrict dbuf = (char *) outbuf;
2221 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2222
2223 int count1 = type->u.hindexed.count;
2224 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2225 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2226 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2227
2228 int count2 = type->u.hindexed.child->u.hvector.count;
2229 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2230 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2231 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2232
2233 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2234 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2235 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2236 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2237
2238 uintptr_t idx = 0;
2239 for (int i = 0; i < count; i++) {
2240 for (int j1 = 0; j1 < count1; j1++) {
2241 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2242 for (int j2 = 0; j2 < count2; j2++) {
2243 for (int k2 = 0; k2 < blocklength2; k2++) {
2244 for (int j3 = 0; j3 < count3; j3++) {
2245 for (int k3 = 0; k3 < 1; k3++) {
2246 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2247 idx += sizeof(char);
2248 }
2249 }
2250 }
2251 }
2252 }
2253 }
2254 }
2255
2256 return rc;
2257 }
2258
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2259 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2260 {
2261 int rc = YAKSA_SUCCESS;
2262 const char *restrict sbuf = (const char *) inbuf;
2263 char *restrict dbuf = (char *) outbuf;
2264 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2265
2266 int count1 = type->u.hindexed.count;
2267 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2268 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2269 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2270
2271 int count2 = type->u.hindexed.child->u.hvector.count;
2272 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2273 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2274 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2275
2276 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2277 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2278 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2279 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2280
2281 uintptr_t idx = 0;
2282 for (int i = 0; i < count; i++) {
2283 for (int j1 = 0; j1 < count1; j1++) {
2284 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2285 for (int j2 = 0; j2 < count2; j2++) {
2286 for (int k2 = 0; k2 < blocklength2; k2++) {
2287 for (int j3 = 0; j3 < count3; j3++) {
2288 for (int k3 = 0; k3 < 2; k3++) {
2289 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2290 idx += sizeof(char);
2291 }
2292 }
2293 }
2294 }
2295 }
2296 }
2297 }
2298
2299 return rc;
2300 }
2301
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2302 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2303 {
2304 int rc = YAKSA_SUCCESS;
2305 const char *restrict sbuf = (const char *) inbuf;
2306 char *restrict dbuf = (char *) outbuf;
2307 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2308
2309 int count1 = type->u.hindexed.count;
2310 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2311 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2312 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2313
2314 int count2 = type->u.hindexed.child->u.hvector.count;
2315 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2316 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2317 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2318
2319 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2320 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2321 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2322 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2323
2324 uintptr_t idx = 0;
2325 for (int i = 0; i < count; i++) {
2326 for (int j1 = 0; j1 < count1; j1++) {
2327 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2328 for (int j2 = 0; j2 < count2; j2++) {
2329 for (int k2 = 0; k2 < blocklength2; k2++) {
2330 for (int j3 = 0; j3 < count3; j3++) {
2331 for (int k3 = 0; k3 < 2; k3++) {
2332 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2333 idx += sizeof(char);
2334 }
2335 }
2336 }
2337 }
2338 }
2339 }
2340 }
2341
2342 return rc;
2343 }
2344
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2345 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2346 {
2347 int rc = YAKSA_SUCCESS;
2348 const char *restrict sbuf = (const char *) inbuf;
2349 char *restrict dbuf = (char *) outbuf;
2350 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2351
2352 int count1 = type->u.hindexed.count;
2353 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2354 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2355 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2356
2357 int count2 = type->u.hindexed.child->u.hvector.count;
2358 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2359 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2360 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2361
2362 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2363 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2364 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2365 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2366
2367 uintptr_t idx = 0;
2368 for (int i = 0; i < count; i++) {
2369 for (int j1 = 0; j1 < count1; j1++) {
2370 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2371 for (int j2 = 0; j2 < count2; j2++) {
2372 for (int k2 = 0; k2 < blocklength2; k2++) {
2373 for (int j3 = 0; j3 < count3; j3++) {
2374 for (int k3 = 0; k3 < 3; k3++) {
2375 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2376 idx += sizeof(char);
2377 }
2378 }
2379 }
2380 }
2381 }
2382 }
2383 }
2384
2385 return rc;
2386 }
2387
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2388 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2389 {
2390 int rc = YAKSA_SUCCESS;
2391 const char *restrict sbuf = (const char *) inbuf;
2392 char *restrict dbuf = (char *) outbuf;
2393 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2394
2395 int count1 = type->u.hindexed.count;
2396 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2397 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2398 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2399
2400 int count2 = type->u.hindexed.child->u.hvector.count;
2401 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2402 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2403 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2404
2405 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2406 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2407 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2408 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2409
2410 uintptr_t idx = 0;
2411 for (int i = 0; i < count; i++) {
2412 for (int j1 = 0; j1 < count1; j1++) {
2413 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2414 for (int j2 = 0; j2 < count2; j2++) {
2415 for (int k2 = 0; k2 < blocklength2; k2++) {
2416 for (int j3 = 0; j3 < count3; j3++) {
2417 for (int k3 = 0; k3 < 3; k3++) {
2418 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2419 idx += sizeof(char);
2420 }
2421 }
2422 }
2423 }
2424 }
2425 }
2426 }
2427
2428 return rc;
2429 }
2430
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2431 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2432 {
2433 int rc = YAKSA_SUCCESS;
2434 const char *restrict sbuf = (const char *) inbuf;
2435 char *restrict dbuf = (char *) outbuf;
2436 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2437
2438 int count1 = type->u.hindexed.count;
2439 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2440 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2441 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2442
2443 int count2 = type->u.hindexed.child->u.hvector.count;
2444 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2445 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2446 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2447
2448 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2449 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2450 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2451 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2452
2453 uintptr_t idx = 0;
2454 for (int i = 0; i < count; i++) {
2455 for (int j1 = 0; j1 < count1; j1++) {
2456 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2457 for (int j2 = 0; j2 < count2; j2++) {
2458 for (int k2 = 0; k2 < blocklength2; k2++) {
2459 for (int j3 = 0; j3 < count3; j3++) {
2460 for (int k3 = 0; k3 < 4; k3++) {
2461 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2462 idx += sizeof(char);
2463 }
2464 }
2465 }
2466 }
2467 }
2468 }
2469 }
2470
2471 return rc;
2472 }
2473
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2474 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2475 {
2476 int rc = YAKSA_SUCCESS;
2477 const char *restrict sbuf = (const char *) inbuf;
2478 char *restrict dbuf = (char *) outbuf;
2479 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2480
2481 int count1 = type->u.hindexed.count;
2482 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2483 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2484 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2485
2486 int count2 = type->u.hindexed.child->u.hvector.count;
2487 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2488 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2489 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2490
2491 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2492 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2493 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2494 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2495
2496 uintptr_t idx = 0;
2497 for (int i = 0; i < count; i++) {
2498 for (int j1 = 0; j1 < count1; j1++) {
2499 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2500 for (int j2 = 0; j2 < count2; j2++) {
2501 for (int k2 = 0; k2 < blocklength2; k2++) {
2502 for (int j3 = 0; j3 < count3; j3++) {
2503 for (int k3 = 0; k3 < 4; k3++) {
2504 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2505 idx += sizeof(char);
2506 }
2507 }
2508 }
2509 }
2510 }
2511 }
2512 }
2513
2514 return rc;
2515 }
2516
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2517 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2518 {
2519 int rc = YAKSA_SUCCESS;
2520 const char *restrict sbuf = (const char *) inbuf;
2521 char *restrict dbuf = (char *) outbuf;
2522 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2523
2524 int count1 = type->u.hindexed.count;
2525 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2526 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2527 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2528
2529 int count2 = type->u.hindexed.child->u.hvector.count;
2530 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2531 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2532 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2533
2534 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2535 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2536 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2537 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2538
2539 uintptr_t idx = 0;
2540 for (int i = 0; i < count; i++) {
2541 for (int j1 = 0; j1 < count1; j1++) {
2542 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2543 for (int j2 = 0; j2 < count2; j2++) {
2544 for (int k2 = 0; k2 < blocklength2; k2++) {
2545 for (int j3 = 0; j3 < count3; j3++) {
2546 for (int k3 = 0; k3 < 5; k3++) {
2547 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2548 idx += sizeof(char);
2549 }
2550 }
2551 }
2552 }
2553 }
2554 }
2555 }
2556
2557 return rc;
2558 }
2559
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2560 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2561 {
2562 int rc = YAKSA_SUCCESS;
2563 const char *restrict sbuf = (const char *) inbuf;
2564 char *restrict dbuf = (char *) outbuf;
2565 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2566
2567 int count1 = type->u.hindexed.count;
2568 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2569 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2570 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2571
2572 int count2 = type->u.hindexed.child->u.hvector.count;
2573 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2574 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2575 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2576
2577 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2578 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2579 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2580 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2581
2582 uintptr_t idx = 0;
2583 for (int i = 0; i < count; i++) {
2584 for (int j1 = 0; j1 < count1; j1++) {
2585 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2586 for (int j2 = 0; j2 < count2; j2++) {
2587 for (int k2 = 0; k2 < blocklength2; k2++) {
2588 for (int j3 = 0; j3 < count3; j3++) {
2589 for (int k3 = 0; k3 < 5; k3++) {
2590 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2591 idx += sizeof(char);
2592 }
2593 }
2594 }
2595 }
2596 }
2597 }
2598 }
2599
2600 return rc;
2601 }
2602
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2603 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2604 {
2605 int rc = YAKSA_SUCCESS;
2606 const char *restrict sbuf = (const char *) inbuf;
2607 char *restrict dbuf = (char *) outbuf;
2608 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2609
2610 int count1 = type->u.hindexed.count;
2611 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2612 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2613 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2614
2615 int count2 = type->u.hindexed.child->u.hvector.count;
2616 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2617 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2618 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2619
2620 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2621 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2622 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2623 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2624
2625 uintptr_t idx = 0;
2626 for (int i = 0; i < count; i++) {
2627 for (int j1 = 0; j1 < count1; j1++) {
2628 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2629 for (int j2 = 0; j2 < count2; j2++) {
2630 for (int k2 = 0; k2 < blocklength2; k2++) {
2631 for (int j3 = 0; j3 < count3; j3++) {
2632 for (int k3 = 0; k3 < 6; k3++) {
2633 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2634 idx += sizeof(char);
2635 }
2636 }
2637 }
2638 }
2639 }
2640 }
2641 }
2642
2643 return rc;
2644 }
2645
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2646 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2647 {
2648 int rc = YAKSA_SUCCESS;
2649 const char *restrict sbuf = (const char *) inbuf;
2650 char *restrict dbuf = (char *) outbuf;
2651 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2652
2653 int count1 = type->u.hindexed.count;
2654 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2655 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2656 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2657
2658 int count2 = type->u.hindexed.child->u.hvector.count;
2659 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2660 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2661 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2662
2663 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2664 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2665 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2666 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2667
2668 uintptr_t idx = 0;
2669 for (int i = 0; i < count; i++) {
2670 for (int j1 = 0; j1 < count1; j1++) {
2671 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2672 for (int j2 = 0; j2 < count2; j2++) {
2673 for (int k2 = 0; k2 < blocklength2; k2++) {
2674 for (int j3 = 0; j3 < count3; j3++) {
2675 for (int k3 = 0; k3 < 6; k3++) {
2676 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2677 idx += sizeof(char);
2678 }
2679 }
2680 }
2681 }
2682 }
2683 }
2684 }
2685
2686 return rc;
2687 }
2688
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2689 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2690 {
2691 int rc = YAKSA_SUCCESS;
2692 const char *restrict sbuf = (const char *) inbuf;
2693 char *restrict dbuf = (char *) outbuf;
2694 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2695
2696 int count1 = type->u.hindexed.count;
2697 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2698 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2699 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2700
2701 int count2 = type->u.hindexed.child->u.hvector.count;
2702 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2703 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2704 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2705
2706 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2707 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2708 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2709 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2710
2711 uintptr_t idx = 0;
2712 for (int i = 0; i < count; i++) {
2713 for (int j1 = 0; j1 < count1; j1++) {
2714 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2715 for (int j2 = 0; j2 < count2; j2++) {
2716 for (int k2 = 0; k2 < blocklength2; k2++) {
2717 for (int j3 = 0; j3 < count3; j3++) {
2718 for (int k3 = 0; k3 < 7; k3++) {
2719 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2720 idx += sizeof(char);
2721 }
2722 }
2723 }
2724 }
2725 }
2726 }
2727 }
2728
2729 return rc;
2730 }
2731
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2732 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2733 {
2734 int rc = YAKSA_SUCCESS;
2735 const char *restrict sbuf = (const char *) inbuf;
2736 char *restrict dbuf = (char *) outbuf;
2737 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2738
2739 int count1 = type->u.hindexed.count;
2740 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2741 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2742 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2743
2744 int count2 = type->u.hindexed.child->u.hvector.count;
2745 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2746 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2747 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2748
2749 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2750 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2751 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2752 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2753
2754 uintptr_t idx = 0;
2755 for (int i = 0; i < count; i++) {
2756 for (int j1 = 0; j1 < count1; j1++) {
2757 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2758 for (int j2 = 0; j2 < count2; j2++) {
2759 for (int k2 = 0; k2 < blocklength2; k2++) {
2760 for (int j3 = 0; j3 < count3; j3++) {
2761 for (int k3 = 0; k3 < 7; k3++) {
2762 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2763 idx += sizeof(char);
2764 }
2765 }
2766 }
2767 }
2768 }
2769 }
2770 }
2771
2772 return rc;
2773 }
2774
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2775 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2776 {
2777 int rc = YAKSA_SUCCESS;
2778 const char *restrict sbuf = (const char *) inbuf;
2779 char *restrict dbuf = (char *) outbuf;
2780 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2781
2782 int count1 = type->u.hindexed.count;
2783 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2784 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2785 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2786
2787 int count2 = type->u.hindexed.child->u.hvector.count;
2788 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2789 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2790 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2791
2792 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2793 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2794 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2795 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2796
2797 uintptr_t idx = 0;
2798 for (int i = 0; i < count; i++) {
2799 for (int j1 = 0; j1 < count1; j1++) {
2800 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2801 for (int j2 = 0; j2 < count2; j2++) {
2802 for (int k2 = 0; k2 < blocklength2; k2++) {
2803 for (int j3 = 0; j3 < count3; j3++) {
2804 for (int k3 = 0; k3 < 8; k3++) {
2805 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2806 idx += sizeof(char);
2807 }
2808 }
2809 }
2810 }
2811 }
2812 }
2813 }
2814
2815 return rc;
2816 }
2817
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2818 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2819 {
2820 int rc = YAKSA_SUCCESS;
2821 const char *restrict sbuf = (const char *) inbuf;
2822 char *restrict dbuf = (char *) outbuf;
2823 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2824
2825 int count1 = type->u.hindexed.count;
2826 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2827 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2828 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2829
2830 int count2 = type->u.hindexed.child->u.hvector.count;
2831 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2832 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2833 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2834
2835 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2836 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2837 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2838 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2839
2840 uintptr_t idx = 0;
2841 for (int i = 0; i < count; i++) {
2842 for (int j1 = 0; j1 < count1; j1++) {
2843 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2844 for (int j2 = 0; j2 < count2; j2++) {
2845 for (int k2 = 0; k2 < blocklength2; k2++) {
2846 for (int j3 = 0; j3 < count3; j3++) {
2847 for (int k3 = 0; k3 < 8; k3++) {
2848 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2849 idx += sizeof(char);
2850 }
2851 }
2852 }
2853 }
2854 }
2855 }
2856 }
2857
2858 return rc;
2859 }
2860
yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2861 int yaksuri_seqi_pack_hindexed_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2862 {
2863 int rc = YAKSA_SUCCESS;
2864 const char *restrict sbuf = (const char *) inbuf;
2865 char *restrict dbuf = (char *) outbuf;
2866 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2867
2868 int count1 = type->u.hindexed.count;
2869 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2870 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2871 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2872
2873 int count2 = type->u.hindexed.child->u.hvector.count;
2874 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2875 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2876 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2877
2878 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2879 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2880 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2881 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2882
2883 uintptr_t idx = 0;
2884 for (int i = 0; i < count; i++) {
2885 for (int j1 = 0; j1 < count1; j1++) {
2886 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2887 for (int j2 = 0; j2 < count2; j2++) {
2888 for (int k2 = 0; k2 < blocklength2; k2++) {
2889 for (int j3 = 0; j3 < count3; j3++) {
2890 for (int k3 = 0; k3 < blocklength3; k3++) {
2891 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2892 idx += sizeof(char);
2893 }
2894 }
2895 }
2896 }
2897 }
2898 }
2899 }
2900
2901 return rc;
2902 }
2903
yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2904 int yaksuri_seqi_unpack_hindexed_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2905 {
2906 int rc = YAKSA_SUCCESS;
2907 const char *restrict sbuf = (const char *) inbuf;
2908 char *restrict dbuf = (char *) outbuf;
2909 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2910
2911 int count1 = type->u.hindexed.count;
2912 int *restrict array_of_blocklengths1 = type->u.hindexed.array_of_blocklengths;
2913 intptr_t *restrict array_of_displs1 = type->u.hindexed.array_of_displs;
2914 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2915
2916 int count2 = type->u.hindexed.child->u.hvector.count;
2917 int blocklength2 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.blocklength;
2918 intptr_t stride2 = type->u.hindexed.child->u.hvector.stride;
2919 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.hindexed.child->extent;
2920
2921 int count3 = type->u.hindexed.child->u.hvector.child->u.hvector.count;
2922 int blocklength3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->u.hvector.blocklength;
2923 intptr_t stride3 = type->u.hindexed.child->u.hvector.child->u.hvector.stride;
2924 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.hindexed.child->u.hvector.child->extent;
2925
2926 uintptr_t idx = 0;
2927 for (int i = 0; i < count; i++) {
2928 for (int j1 = 0; j1 < count1; j1++) {
2929 for (int k1 = 0; k1 < array_of_blocklengths1[j1]; k1++) {
2930 for (int j2 = 0; j2 < count2; j2++) {
2931 for (int k2 = 0; k2 < blocklength2; k2++) {
2932 for (int j3 = 0; j3 < count3; j3++) {
2933 for (int k3 = 0; k3 < blocklength3; k3++) {
2934 *((char *) (void *) (dbuf + i * extent + array_of_displs1[j1] + k1 * extent2 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
2935 idx += sizeof(char);
2936 }
2937 }
2938 }
2939 }
2940 }
2941 }
2942 }
2943
2944 return rc;
2945 }
2946
yaksuri_seqi_pack_contig_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2947 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2948 {
2949 int rc = YAKSA_SUCCESS;
2950 const char *restrict sbuf = (const char *) inbuf;
2951 char *restrict dbuf = (char *) outbuf;
2952 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2953
2954 int count1 = type->u.contig.count;
2955 intptr_t stride1 = type->u.contig.child->extent;
2956 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2957
2958 int count2 = type->u.contig.child->u.hvector.count;
2959 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
2960 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
2961 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
2962
2963 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
2964 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
2965 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
2966 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
2967
2968 uintptr_t idx = 0;
2969 for (int i = 0; i < count; i++) {
2970 for (int j1 = 0; j1 < count1; j1++) {
2971 for (int j2 = 0; j2 < count2; j2++) {
2972 for (int k2 = 0; k2 < blocklength2; k2++) {
2973 for (int j3 = 0; j3 < count3; j3++) {
2974 for (int k3 = 0; k3 < 1; k3++) {
2975 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
2976 idx += sizeof(char);
2977 }
2978 }
2979 }
2980 }
2981 }
2982 }
2983
2984 return rc;
2985 }
2986
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)2987 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
2988 {
2989 int rc = YAKSA_SUCCESS;
2990 const char *restrict sbuf = (const char *) inbuf;
2991 char *restrict dbuf = (char *) outbuf;
2992 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
2993
2994 int count1 = type->u.contig.count;
2995 intptr_t stride1 = type->u.contig.child->extent;
2996 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
2997
2998 int count2 = type->u.contig.child->u.hvector.count;
2999 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3000 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3001 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3002
3003 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3004 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3005 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3006 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3007
3008 uintptr_t idx = 0;
3009 for (int i = 0; i < count; i++) {
3010 for (int j1 = 0; j1 < count1; j1++) {
3011 for (int j2 = 0; j2 < count2; j2++) {
3012 for (int k2 = 0; k2 < blocklength2; k2++) {
3013 for (int j3 = 0; j3 < count3; j3++) {
3014 for (int k3 = 0; k3 < 1; k3++) {
3015 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3016 idx += sizeof(char);
3017 }
3018 }
3019 }
3020 }
3021 }
3022 }
3023
3024 return rc;
3025 }
3026
yaksuri_seqi_pack_contig_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3027 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3028 {
3029 int rc = YAKSA_SUCCESS;
3030 const char *restrict sbuf = (const char *) inbuf;
3031 char *restrict dbuf = (char *) outbuf;
3032 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3033
3034 int count1 = type->u.contig.count;
3035 intptr_t stride1 = type->u.contig.child->extent;
3036 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3037
3038 int count2 = type->u.contig.child->u.hvector.count;
3039 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3040 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3041 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3042
3043 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3044 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3045 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3046 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3047
3048 uintptr_t idx = 0;
3049 for (int i = 0; i < count; i++) {
3050 for (int j1 = 0; j1 < count1; j1++) {
3051 for (int j2 = 0; j2 < count2; j2++) {
3052 for (int k2 = 0; k2 < blocklength2; k2++) {
3053 for (int j3 = 0; j3 < count3; j3++) {
3054 for (int k3 = 0; k3 < 2; k3++) {
3055 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3056 idx += sizeof(char);
3057 }
3058 }
3059 }
3060 }
3061 }
3062 }
3063
3064 return rc;
3065 }
3066
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3067 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3068 {
3069 int rc = YAKSA_SUCCESS;
3070 const char *restrict sbuf = (const char *) inbuf;
3071 char *restrict dbuf = (char *) outbuf;
3072 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3073
3074 int count1 = type->u.contig.count;
3075 intptr_t stride1 = type->u.contig.child->extent;
3076 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3077
3078 int count2 = type->u.contig.child->u.hvector.count;
3079 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3080 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3081 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3082
3083 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3084 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3085 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3086 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3087
3088 uintptr_t idx = 0;
3089 for (int i = 0; i < count; i++) {
3090 for (int j1 = 0; j1 < count1; j1++) {
3091 for (int j2 = 0; j2 < count2; j2++) {
3092 for (int k2 = 0; k2 < blocklength2; k2++) {
3093 for (int j3 = 0; j3 < count3; j3++) {
3094 for (int k3 = 0; k3 < 2; k3++) {
3095 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3096 idx += sizeof(char);
3097 }
3098 }
3099 }
3100 }
3101 }
3102 }
3103
3104 return rc;
3105 }
3106
yaksuri_seqi_pack_contig_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3107 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3108 {
3109 int rc = YAKSA_SUCCESS;
3110 const char *restrict sbuf = (const char *) inbuf;
3111 char *restrict dbuf = (char *) outbuf;
3112 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3113
3114 int count1 = type->u.contig.count;
3115 intptr_t stride1 = type->u.contig.child->extent;
3116 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3117
3118 int count2 = type->u.contig.child->u.hvector.count;
3119 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3120 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3121 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3122
3123 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3124 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3125 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3126 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3127
3128 uintptr_t idx = 0;
3129 for (int i = 0; i < count; i++) {
3130 for (int j1 = 0; j1 < count1; j1++) {
3131 for (int j2 = 0; j2 < count2; j2++) {
3132 for (int k2 = 0; k2 < blocklength2; k2++) {
3133 for (int j3 = 0; j3 < count3; j3++) {
3134 for (int k3 = 0; k3 < 3; k3++) {
3135 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3136 idx += sizeof(char);
3137 }
3138 }
3139 }
3140 }
3141 }
3142 }
3143
3144 return rc;
3145 }
3146
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3147 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3148 {
3149 int rc = YAKSA_SUCCESS;
3150 const char *restrict sbuf = (const char *) inbuf;
3151 char *restrict dbuf = (char *) outbuf;
3152 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3153
3154 int count1 = type->u.contig.count;
3155 intptr_t stride1 = type->u.contig.child->extent;
3156 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3157
3158 int count2 = type->u.contig.child->u.hvector.count;
3159 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3160 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3161 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3162
3163 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3164 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3165 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3166 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3167
3168 uintptr_t idx = 0;
3169 for (int i = 0; i < count; i++) {
3170 for (int j1 = 0; j1 < count1; j1++) {
3171 for (int j2 = 0; j2 < count2; j2++) {
3172 for (int k2 = 0; k2 < blocklength2; k2++) {
3173 for (int j3 = 0; j3 < count3; j3++) {
3174 for (int k3 = 0; k3 < 3; k3++) {
3175 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3176 idx += sizeof(char);
3177 }
3178 }
3179 }
3180 }
3181 }
3182 }
3183
3184 return rc;
3185 }
3186
yaksuri_seqi_pack_contig_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3187 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3188 {
3189 int rc = YAKSA_SUCCESS;
3190 const char *restrict sbuf = (const char *) inbuf;
3191 char *restrict dbuf = (char *) outbuf;
3192 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3193
3194 int count1 = type->u.contig.count;
3195 intptr_t stride1 = type->u.contig.child->extent;
3196 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3197
3198 int count2 = type->u.contig.child->u.hvector.count;
3199 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3200 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3201 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3202
3203 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3204 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3205 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3206 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3207
3208 uintptr_t idx = 0;
3209 for (int i = 0; i < count; i++) {
3210 for (int j1 = 0; j1 < count1; j1++) {
3211 for (int j2 = 0; j2 < count2; j2++) {
3212 for (int k2 = 0; k2 < blocklength2; k2++) {
3213 for (int j3 = 0; j3 < count3; j3++) {
3214 for (int k3 = 0; k3 < 4; k3++) {
3215 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3216 idx += sizeof(char);
3217 }
3218 }
3219 }
3220 }
3221 }
3222 }
3223
3224 return rc;
3225 }
3226
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3227 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3228 {
3229 int rc = YAKSA_SUCCESS;
3230 const char *restrict sbuf = (const char *) inbuf;
3231 char *restrict dbuf = (char *) outbuf;
3232 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3233
3234 int count1 = type->u.contig.count;
3235 intptr_t stride1 = type->u.contig.child->extent;
3236 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3237
3238 int count2 = type->u.contig.child->u.hvector.count;
3239 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3240 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3241 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3242
3243 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3244 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3245 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3246 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3247
3248 uintptr_t idx = 0;
3249 for (int i = 0; i < count; i++) {
3250 for (int j1 = 0; j1 < count1; j1++) {
3251 for (int j2 = 0; j2 < count2; j2++) {
3252 for (int k2 = 0; k2 < blocklength2; k2++) {
3253 for (int j3 = 0; j3 < count3; j3++) {
3254 for (int k3 = 0; k3 < 4; k3++) {
3255 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3256 idx += sizeof(char);
3257 }
3258 }
3259 }
3260 }
3261 }
3262 }
3263
3264 return rc;
3265 }
3266
yaksuri_seqi_pack_contig_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3267 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3268 {
3269 int rc = YAKSA_SUCCESS;
3270 const char *restrict sbuf = (const char *) inbuf;
3271 char *restrict dbuf = (char *) outbuf;
3272 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3273
3274 int count1 = type->u.contig.count;
3275 intptr_t stride1 = type->u.contig.child->extent;
3276 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3277
3278 int count2 = type->u.contig.child->u.hvector.count;
3279 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3280 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3281 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3282
3283 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3284 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3285 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3286 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3287
3288 uintptr_t idx = 0;
3289 for (int i = 0; i < count; i++) {
3290 for (int j1 = 0; j1 < count1; j1++) {
3291 for (int j2 = 0; j2 < count2; j2++) {
3292 for (int k2 = 0; k2 < blocklength2; k2++) {
3293 for (int j3 = 0; j3 < count3; j3++) {
3294 for (int k3 = 0; k3 < 5; k3++) {
3295 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3296 idx += sizeof(char);
3297 }
3298 }
3299 }
3300 }
3301 }
3302 }
3303
3304 return rc;
3305 }
3306
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3307 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3308 {
3309 int rc = YAKSA_SUCCESS;
3310 const char *restrict sbuf = (const char *) inbuf;
3311 char *restrict dbuf = (char *) outbuf;
3312 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3313
3314 int count1 = type->u.contig.count;
3315 intptr_t stride1 = type->u.contig.child->extent;
3316 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3317
3318 int count2 = type->u.contig.child->u.hvector.count;
3319 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3320 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3321 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3322
3323 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3324 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3325 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3326 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3327
3328 uintptr_t idx = 0;
3329 for (int i = 0; i < count; i++) {
3330 for (int j1 = 0; j1 < count1; j1++) {
3331 for (int j2 = 0; j2 < count2; j2++) {
3332 for (int k2 = 0; k2 < blocklength2; k2++) {
3333 for (int j3 = 0; j3 < count3; j3++) {
3334 for (int k3 = 0; k3 < 5; k3++) {
3335 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3336 idx += sizeof(char);
3337 }
3338 }
3339 }
3340 }
3341 }
3342 }
3343
3344 return rc;
3345 }
3346
yaksuri_seqi_pack_contig_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3347 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3348 {
3349 int rc = YAKSA_SUCCESS;
3350 const char *restrict sbuf = (const char *) inbuf;
3351 char *restrict dbuf = (char *) outbuf;
3352 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3353
3354 int count1 = type->u.contig.count;
3355 intptr_t stride1 = type->u.contig.child->extent;
3356 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3357
3358 int count2 = type->u.contig.child->u.hvector.count;
3359 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3360 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3361 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3362
3363 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3364 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3365 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3366 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3367
3368 uintptr_t idx = 0;
3369 for (int i = 0; i < count; i++) {
3370 for (int j1 = 0; j1 < count1; j1++) {
3371 for (int j2 = 0; j2 < count2; j2++) {
3372 for (int k2 = 0; k2 < blocklength2; k2++) {
3373 for (int j3 = 0; j3 < count3; j3++) {
3374 for (int k3 = 0; k3 < 6; k3++) {
3375 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3376 idx += sizeof(char);
3377 }
3378 }
3379 }
3380 }
3381 }
3382 }
3383
3384 return rc;
3385 }
3386
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3387 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3388 {
3389 int rc = YAKSA_SUCCESS;
3390 const char *restrict sbuf = (const char *) inbuf;
3391 char *restrict dbuf = (char *) outbuf;
3392 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3393
3394 int count1 = type->u.contig.count;
3395 intptr_t stride1 = type->u.contig.child->extent;
3396 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3397
3398 int count2 = type->u.contig.child->u.hvector.count;
3399 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3400 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3401 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3402
3403 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3404 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3405 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3406 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3407
3408 uintptr_t idx = 0;
3409 for (int i = 0; i < count; i++) {
3410 for (int j1 = 0; j1 < count1; j1++) {
3411 for (int j2 = 0; j2 < count2; j2++) {
3412 for (int k2 = 0; k2 < blocklength2; k2++) {
3413 for (int j3 = 0; j3 < count3; j3++) {
3414 for (int k3 = 0; k3 < 6; k3++) {
3415 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3416 idx += sizeof(char);
3417 }
3418 }
3419 }
3420 }
3421 }
3422 }
3423
3424 return rc;
3425 }
3426
yaksuri_seqi_pack_contig_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3427 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3428 {
3429 int rc = YAKSA_SUCCESS;
3430 const char *restrict sbuf = (const char *) inbuf;
3431 char *restrict dbuf = (char *) outbuf;
3432 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3433
3434 int count1 = type->u.contig.count;
3435 intptr_t stride1 = type->u.contig.child->extent;
3436 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3437
3438 int count2 = type->u.contig.child->u.hvector.count;
3439 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3440 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3441 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3442
3443 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3444 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3445 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3446 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3447
3448 uintptr_t idx = 0;
3449 for (int i = 0; i < count; i++) {
3450 for (int j1 = 0; j1 < count1; j1++) {
3451 for (int j2 = 0; j2 < count2; j2++) {
3452 for (int k2 = 0; k2 < blocklength2; k2++) {
3453 for (int j3 = 0; j3 < count3; j3++) {
3454 for (int k3 = 0; k3 < 7; k3++) {
3455 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3456 idx += sizeof(char);
3457 }
3458 }
3459 }
3460 }
3461 }
3462 }
3463
3464 return rc;
3465 }
3466
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3467 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3468 {
3469 int rc = YAKSA_SUCCESS;
3470 const char *restrict sbuf = (const char *) inbuf;
3471 char *restrict dbuf = (char *) outbuf;
3472 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3473
3474 int count1 = type->u.contig.count;
3475 intptr_t stride1 = type->u.contig.child->extent;
3476 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3477
3478 int count2 = type->u.contig.child->u.hvector.count;
3479 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3480 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3481 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3482
3483 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3484 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3485 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3486 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3487
3488 uintptr_t idx = 0;
3489 for (int i = 0; i < count; i++) {
3490 for (int j1 = 0; j1 < count1; j1++) {
3491 for (int j2 = 0; j2 < count2; j2++) {
3492 for (int k2 = 0; k2 < blocklength2; k2++) {
3493 for (int j3 = 0; j3 < count3; j3++) {
3494 for (int k3 = 0; k3 < 7; k3++) {
3495 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3496 idx += sizeof(char);
3497 }
3498 }
3499 }
3500 }
3501 }
3502 }
3503
3504 return rc;
3505 }
3506
yaksuri_seqi_pack_contig_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3507 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3508 {
3509 int rc = YAKSA_SUCCESS;
3510 const char *restrict sbuf = (const char *) inbuf;
3511 char *restrict dbuf = (char *) outbuf;
3512 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3513
3514 int count1 = type->u.contig.count;
3515 intptr_t stride1 = type->u.contig.child->extent;
3516 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3517
3518 int count2 = type->u.contig.child->u.hvector.count;
3519 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3520 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3521 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3522
3523 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3524 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3525 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3526 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3527
3528 uintptr_t idx = 0;
3529 for (int i = 0; i < count; i++) {
3530 for (int j1 = 0; j1 < count1; j1++) {
3531 for (int j2 = 0; j2 < count2; j2++) {
3532 for (int k2 = 0; k2 < blocklength2; k2++) {
3533 for (int j3 = 0; j3 < count3; j3++) {
3534 for (int k3 = 0; k3 < 8; k3++) {
3535 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3536 idx += sizeof(char);
3537 }
3538 }
3539 }
3540 }
3541 }
3542 }
3543
3544 return rc;
3545 }
3546
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3547 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3548 {
3549 int rc = YAKSA_SUCCESS;
3550 const char *restrict sbuf = (const char *) inbuf;
3551 char *restrict dbuf = (char *) outbuf;
3552 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3553
3554 int count1 = type->u.contig.count;
3555 intptr_t stride1 = type->u.contig.child->extent;
3556 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3557
3558 int count2 = type->u.contig.child->u.hvector.count;
3559 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3560 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3561 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3562
3563 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3564 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3565 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3566 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3567
3568 uintptr_t idx = 0;
3569 for (int i = 0; i < count; i++) {
3570 for (int j1 = 0; j1 < count1; j1++) {
3571 for (int j2 = 0; j2 < count2; j2++) {
3572 for (int k2 = 0; k2 < blocklength2; k2++) {
3573 for (int j3 = 0; j3 < count3; j3++) {
3574 for (int k3 = 0; k3 < 8; k3++) {
3575 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3576 idx += sizeof(char);
3577 }
3578 }
3579 }
3580 }
3581 }
3582 }
3583
3584 return rc;
3585 }
3586
yaksuri_seqi_pack_contig_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3587 int yaksuri_seqi_pack_contig_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3588 {
3589 int rc = YAKSA_SUCCESS;
3590 const char *restrict sbuf = (const char *) inbuf;
3591 char *restrict dbuf = (char *) outbuf;
3592 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3593
3594 int count1 = type->u.contig.count;
3595 intptr_t stride1 = type->u.contig.child->extent;
3596 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3597
3598 int count2 = type->u.contig.child->u.hvector.count;
3599 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3600 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3601 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3602
3603 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3604 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3605 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3606 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3607
3608 uintptr_t idx = 0;
3609 for (int i = 0; i < count; i++) {
3610 for (int j1 = 0; j1 < count1; j1++) {
3611 for (int j2 = 0; j2 < count2; j2++) {
3612 for (int k2 = 0; k2 < blocklength2; k2++) {
3613 for (int j3 = 0; j3 < count3; j3++) {
3614 for (int k3 = 0; k3 < blocklength3; k3++) {
3615 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3616 idx += sizeof(char);
3617 }
3618 }
3619 }
3620 }
3621 }
3622 }
3623
3624 return rc;
3625 }
3626
yaksuri_seqi_unpack_contig_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3627 int yaksuri_seqi_unpack_contig_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3628 {
3629 int rc = YAKSA_SUCCESS;
3630 const char *restrict sbuf = (const char *) inbuf;
3631 char *restrict dbuf = (char *) outbuf;
3632 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3633
3634 int count1 = type->u.contig.count;
3635 intptr_t stride1 = type->u.contig.child->extent;
3636 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3637
3638 int count2 = type->u.contig.child->u.hvector.count;
3639 int blocklength2 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.blocklength;
3640 intptr_t stride2 = type->u.contig.child->u.hvector.stride;
3641 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.contig.child->extent;
3642
3643 int count3 = type->u.contig.child->u.hvector.child->u.hvector.count;
3644 int blocklength3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->u.hvector.blocklength;
3645 intptr_t stride3 = type->u.contig.child->u.hvector.child->u.hvector.stride;
3646 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.contig.child->u.hvector.child->extent;
3647
3648 uintptr_t idx = 0;
3649 for (int i = 0; i < count; i++) {
3650 for (int j1 = 0; j1 < count1; j1++) {
3651 for (int j2 = 0; j2 < count2; j2++) {
3652 for (int k2 = 0; k2 < blocklength2; k2++) {
3653 for (int j3 = 0; j3 < count3; j3++) {
3654 for (int k3 = 0; k3 < blocklength3; k3++) {
3655 *((char *) (void *) (dbuf + i * extent + j1 * stride1 + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3656 idx += sizeof(char);
3657 }
3658 }
3659 }
3660 }
3661 }
3662 }
3663
3664 return rc;
3665 }
3666
yaksuri_seqi_pack_resized_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3667 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3668 {
3669 int rc = YAKSA_SUCCESS;
3670 const char *restrict sbuf = (const char *) inbuf;
3671 char *restrict dbuf = (char *) outbuf;
3672 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3673
3674 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3675
3676 int count2 = type->u.resized.child->u.hvector.count;
3677 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3678 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3679 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3680
3681 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3682 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3683 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3684 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3685
3686 uintptr_t idx = 0;
3687 for (int i = 0; i < count; i++) {
3688 for (int j2 = 0; j2 < count2; j2++) {
3689 for (int k2 = 0; k2 < blocklength2; k2++) {
3690 for (int j3 = 0; j3 < count3; j3++) {
3691 for (int k3 = 0; k3 < 1; k3++) {
3692 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3693 idx += sizeof(char);
3694 }
3695 }
3696 }
3697 }
3698 }
3699
3700 return rc;
3701 }
3702
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_1_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3703 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_1_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3704 {
3705 int rc = YAKSA_SUCCESS;
3706 const char *restrict sbuf = (const char *) inbuf;
3707 char *restrict dbuf = (char *) outbuf;
3708 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3709
3710 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3711
3712 int count2 = type->u.resized.child->u.hvector.count;
3713 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3714 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3715 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3716
3717 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3718 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3719 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3720 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3721
3722 uintptr_t idx = 0;
3723 for (int i = 0; i < count; i++) {
3724 for (int j2 = 0; j2 < count2; j2++) {
3725 for (int k2 = 0; k2 < blocklength2; k2++) {
3726 for (int j3 = 0; j3 < count3; j3++) {
3727 for (int k3 = 0; k3 < 1; k3++) {
3728 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3729 idx += sizeof(char);
3730 }
3731 }
3732 }
3733 }
3734 }
3735
3736 return rc;
3737 }
3738
yaksuri_seqi_pack_resized_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3739 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3740 {
3741 int rc = YAKSA_SUCCESS;
3742 const char *restrict sbuf = (const char *) inbuf;
3743 char *restrict dbuf = (char *) outbuf;
3744 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3745
3746 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3747
3748 int count2 = type->u.resized.child->u.hvector.count;
3749 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3750 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3751 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3752
3753 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3754 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3755 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3756 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3757
3758 uintptr_t idx = 0;
3759 for (int i = 0; i < count; i++) {
3760 for (int j2 = 0; j2 < count2; j2++) {
3761 for (int k2 = 0; k2 < blocklength2; k2++) {
3762 for (int j3 = 0; j3 < count3; j3++) {
3763 for (int k3 = 0; k3 < 2; k3++) {
3764 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3765 idx += sizeof(char);
3766 }
3767 }
3768 }
3769 }
3770 }
3771
3772 return rc;
3773 }
3774
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_2_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3775 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_2_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3776 {
3777 int rc = YAKSA_SUCCESS;
3778 const char *restrict sbuf = (const char *) inbuf;
3779 char *restrict dbuf = (char *) outbuf;
3780 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3781
3782 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3783
3784 int count2 = type->u.resized.child->u.hvector.count;
3785 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3786 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3787 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3788
3789 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3790 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3791 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3792 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3793
3794 uintptr_t idx = 0;
3795 for (int i = 0; i < count; i++) {
3796 for (int j2 = 0; j2 < count2; j2++) {
3797 for (int k2 = 0; k2 < blocklength2; k2++) {
3798 for (int j3 = 0; j3 < count3; j3++) {
3799 for (int k3 = 0; k3 < 2; k3++) {
3800 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3801 idx += sizeof(char);
3802 }
3803 }
3804 }
3805 }
3806 }
3807
3808 return rc;
3809 }
3810
yaksuri_seqi_pack_resized_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3811 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3812 {
3813 int rc = YAKSA_SUCCESS;
3814 const char *restrict sbuf = (const char *) inbuf;
3815 char *restrict dbuf = (char *) outbuf;
3816 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3817
3818 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3819
3820 int count2 = type->u.resized.child->u.hvector.count;
3821 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3822 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3823 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3824
3825 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3826 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3827 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3828 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3829
3830 uintptr_t idx = 0;
3831 for (int i = 0; i < count; i++) {
3832 for (int j2 = 0; j2 < count2; j2++) {
3833 for (int k2 = 0; k2 < blocklength2; k2++) {
3834 for (int j3 = 0; j3 < count3; j3++) {
3835 for (int k3 = 0; k3 < 3; k3++) {
3836 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3837 idx += sizeof(char);
3838 }
3839 }
3840 }
3841 }
3842 }
3843
3844 return rc;
3845 }
3846
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_3_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3847 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_3_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3848 {
3849 int rc = YAKSA_SUCCESS;
3850 const char *restrict sbuf = (const char *) inbuf;
3851 char *restrict dbuf = (char *) outbuf;
3852 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3853
3854 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3855
3856 int count2 = type->u.resized.child->u.hvector.count;
3857 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3858 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3859 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3860
3861 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3862 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3863 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3864 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3865
3866 uintptr_t idx = 0;
3867 for (int i = 0; i < count; i++) {
3868 for (int j2 = 0; j2 < count2; j2++) {
3869 for (int k2 = 0; k2 < blocklength2; k2++) {
3870 for (int j3 = 0; j3 < count3; j3++) {
3871 for (int k3 = 0; k3 < 3; k3++) {
3872 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3873 idx += sizeof(char);
3874 }
3875 }
3876 }
3877 }
3878 }
3879
3880 return rc;
3881 }
3882
yaksuri_seqi_pack_resized_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3883 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3884 {
3885 int rc = YAKSA_SUCCESS;
3886 const char *restrict sbuf = (const char *) inbuf;
3887 char *restrict dbuf = (char *) outbuf;
3888 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3889
3890 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3891
3892 int count2 = type->u.resized.child->u.hvector.count;
3893 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3894 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3895 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3896
3897 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3898 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3899 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3900 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3901
3902 uintptr_t idx = 0;
3903 for (int i = 0; i < count; i++) {
3904 for (int j2 = 0; j2 < count2; j2++) {
3905 for (int k2 = 0; k2 < blocklength2; k2++) {
3906 for (int j3 = 0; j3 < count3; j3++) {
3907 for (int k3 = 0; k3 < 4; k3++) {
3908 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3909 idx += sizeof(char);
3910 }
3911 }
3912 }
3913 }
3914 }
3915
3916 return rc;
3917 }
3918
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_4_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3919 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_4_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3920 {
3921 int rc = YAKSA_SUCCESS;
3922 const char *restrict sbuf = (const char *) inbuf;
3923 char *restrict dbuf = (char *) outbuf;
3924 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3925
3926 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3927
3928 int count2 = type->u.resized.child->u.hvector.count;
3929 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3930 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3931 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3932
3933 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3934 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3935 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3936 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3937
3938 uintptr_t idx = 0;
3939 for (int i = 0; i < count; i++) {
3940 for (int j2 = 0; j2 < count2; j2++) {
3941 for (int k2 = 0; k2 < blocklength2; k2++) {
3942 for (int j3 = 0; j3 < count3; j3++) {
3943 for (int k3 = 0; k3 < 4; k3++) {
3944 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
3945 idx += sizeof(char);
3946 }
3947 }
3948 }
3949 }
3950 }
3951
3952 return rc;
3953 }
3954
yaksuri_seqi_pack_resized_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3955 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3956 {
3957 int rc = YAKSA_SUCCESS;
3958 const char *restrict sbuf = (const char *) inbuf;
3959 char *restrict dbuf = (char *) outbuf;
3960 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3961
3962 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3963
3964 int count2 = type->u.resized.child->u.hvector.count;
3965 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
3966 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
3967 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
3968
3969 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
3970 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
3971 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
3972 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
3973
3974 uintptr_t idx = 0;
3975 for (int i = 0; i < count; i++) {
3976 for (int j2 = 0; j2 < count2; j2++) {
3977 for (int k2 = 0; k2 < blocklength2; k2++) {
3978 for (int j3 = 0; j3 < count3; j3++) {
3979 for (int k3 = 0; k3 < 5; k3++) {
3980 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
3981 idx += sizeof(char);
3982 }
3983 }
3984 }
3985 }
3986 }
3987
3988 return rc;
3989 }
3990
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_5_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)3991 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_5_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
3992 {
3993 int rc = YAKSA_SUCCESS;
3994 const char *restrict sbuf = (const char *) inbuf;
3995 char *restrict dbuf = (char *) outbuf;
3996 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
3997
3998 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
3999
4000 int count2 = type->u.resized.child->u.hvector.count;
4001 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4002 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4003 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4004
4005 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4006 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4007 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4008 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4009
4010 uintptr_t idx = 0;
4011 for (int i = 0; i < count; i++) {
4012 for (int j2 = 0; j2 < count2; j2++) {
4013 for (int k2 = 0; k2 < blocklength2; k2++) {
4014 for (int j3 = 0; j3 < count3; j3++) {
4015 for (int k3 = 0; k3 < 5; k3++) {
4016 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
4017 idx += sizeof(char);
4018 }
4019 }
4020 }
4021 }
4022 }
4023
4024 return rc;
4025 }
4026
yaksuri_seqi_pack_resized_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4027 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4028 {
4029 int rc = YAKSA_SUCCESS;
4030 const char *restrict sbuf = (const char *) inbuf;
4031 char *restrict dbuf = (char *) outbuf;
4032 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4033
4034 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4035
4036 int count2 = type->u.resized.child->u.hvector.count;
4037 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4038 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4039 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4040
4041 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4042 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4043 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4044 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4045
4046 uintptr_t idx = 0;
4047 for (int i = 0; i < count; i++) {
4048 for (int j2 = 0; j2 < count2; j2++) {
4049 for (int k2 = 0; k2 < blocklength2; k2++) {
4050 for (int j3 = 0; j3 < count3; j3++) {
4051 for (int k3 = 0; k3 < 6; k3++) {
4052 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
4053 idx += sizeof(char);
4054 }
4055 }
4056 }
4057 }
4058 }
4059
4060 return rc;
4061 }
4062
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_6_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4063 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_6_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4064 {
4065 int rc = YAKSA_SUCCESS;
4066 const char *restrict sbuf = (const char *) inbuf;
4067 char *restrict dbuf = (char *) outbuf;
4068 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4069
4070 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4071
4072 int count2 = type->u.resized.child->u.hvector.count;
4073 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4074 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4075 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4076
4077 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4078 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4079 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4080 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4081
4082 uintptr_t idx = 0;
4083 for (int i = 0; i < count; i++) {
4084 for (int j2 = 0; j2 < count2; j2++) {
4085 for (int k2 = 0; k2 < blocklength2; k2++) {
4086 for (int j3 = 0; j3 < count3; j3++) {
4087 for (int k3 = 0; k3 < 6; k3++) {
4088 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
4089 idx += sizeof(char);
4090 }
4091 }
4092 }
4093 }
4094 }
4095
4096 return rc;
4097 }
4098
yaksuri_seqi_pack_resized_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4099 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4100 {
4101 int rc = YAKSA_SUCCESS;
4102 const char *restrict sbuf = (const char *) inbuf;
4103 char *restrict dbuf = (char *) outbuf;
4104 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4105
4106 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4107
4108 int count2 = type->u.resized.child->u.hvector.count;
4109 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4110 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4111 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4112
4113 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4114 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4115 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4116 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4117
4118 uintptr_t idx = 0;
4119 for (int i = 0; i < count; i++) {
4120 for (int j2 = 0; j2 < count2; j2++) {
4121 for (int k2 = 0; k2 < blocklength2; k2++) {
4122 for (int j3 = 0; j3 < count3; j3++) {
4123 for (int k3 = 0; k3 < 7; k3++) {
4124 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
4125 idx += sizeof(char);
4126 }
4127 }
4128 }
4129 }
4130 }
4131
4132 return rc;
4133 }
4134
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_7_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4135 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_7_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4136 {
4137 int rc = YAKSA_SUCCESS;
4138 const char *restrict sbuf = (const char *) inbuf;
4139 char *restrict dbuf = (char *) outbuf;
4140 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4141
4142 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4143
4144 int count2 = type->u.resized.child->u.hvector.count;
4145 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4146 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4147 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4148
4149 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4150 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4151 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4152 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4153
4154 uintptr_t idx = 0;
4155 for (int i = 0; i < count; i++) {
4156 for (int j2 = 0; j2 < count2; j2++) {
4157 for (int k2 = 0; k2 < blocklength2; k2++) {
4158 for (int j3 = 0; j3 < count3; j3++) {
4159 for (int k3 = 0; k3 < 7; k3++) {
4160 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
4161 idx += sizeof(char);
4162 }
4163 }
4164 }
4165 }
4166 }
4167
4168 return rc;
4169 }
4170
yaksuri_seqi_pack_resized_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4171 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4172 {
4173 int rc = YAKSA_SUCCESS;
4174 const char *restrict sbuf = (const char *) inbuf;
4175 char *restrict dbuf = (char *) outbuf;
4176 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4177
4178 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4179
4180 int count2 = type->u.resized.child->u.hvector.count;
4181 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4182 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4183 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4184
4185 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4186 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4187 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4188 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4189
4190 uintptr_t idx = 0;
4191 for (int i = 0; i < count; i++) {
4192 for (int j2 = 0; j2 < count2; j2++) {
4193 for (int k2 = 0; k2 < blocklength2; k2++) {
4194 for (int j3 = 0; j3 < count3; j3++) {
4195 for (int k3 = 0; k3 < 8; k3++) {
4196 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
4197 idx += sizeof(char);
4198 }
4199 }
4200 }
4201 }
4202 }
4203
4204 return rc;
4205 }
4206
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_8_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4207 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_8_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4208 {
4209 int rc = YAKSA_SUCCESS;
4210 const char *restrict sbuf = (const char *) inbuf;
4211 char *restrict dbuf = (char *) outbuf;
4212 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4213
4214 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4215
4216 int count2 = type->u.resized.child->u.hvector.count;
4217 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4218 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4219 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4220
4221 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4222 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4223 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4224 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4225
4226 uintptr_t idx = 0;
4227 for (int i = 0; i < count; i++) {
4228 for (int j2 = 0; j2 < count2; j2++) {
4229 for (int k2 = 0; k2 < blocklength2; k2++) {
4230 for (int j3 = 0; j3 < count3; j3++) {
4231 for (int k3 = 0; k3 < 8; k3++) {
4232 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
4233 idx += sizeof(char);
4234 }
4235 }
4236 }
4237 }
4238 }
4239
4240 return rc;
4241 }
4242
yaksuri_seqi_pack_resized_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4243 int yaksuri_seqi_pack_resized_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4244 {
4245 int rc = YAKSA_SUCCESS;
4246 const char *restrict sbuf = (const char *) inbuf;
4247 char *restrict dbuf = (char *) outbuf;
4248 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4249
4250 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4251
4252 int count2 = type->u.resized.child->u.hvector.count;
4253 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4254 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4255 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4256
4257 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4258 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4259 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4260 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4261
4262 uintptr_t idx = 0;
4263 for (int i = 0; i < count; i++) {
4264 for (int j2 = 0; j2 < count2; j2++) {
4265 for (int k2 = 0; k2 < blocklength2; k2++) {
4266 for (int j3 = 0; j3 < count3; j3++) {
4267 for (int k3 = 0; k3 < blocklength3; k3++) {
4268 *((char *) (void *) (dbuf + idx)) = *((const char *) (const void *) (sbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char)));
4269 idx += sizeof(char);
4270 }
4271 }
4272 }
4273 }
4274 }
4275
4276 return rc;
4277 }
4278
yaksuri_seqi_unpack_resized_hvector_hvector_blklen_generic_char(const void * inbuf,void * outbuf,uintptr_t count,yaksi_type_s * type)4279 int yaksuri_seqi_unpack_resized_hvector_hvector_blklen_generic_char(const void *inbuf, void *outbuf, uintptr_t count, yaksi_type_s * type)
4280 {
4281 int rc = YAKSA_SUCCESS;
4282 const char *restrict sbuf = (const char *) inbuf;
4283 char *restrict dbuf = (char *) outbuf;
4284 uintptr_t extent ATTRIBUTE((unused)) = type->extent;
4285
4286 uintptr_t extent1 ATTRIBUTE((unused)) = type->extent;
4287
4288 int count2 = type->u.resized.child->u.hvector.count;
4289 int blocklength2 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.blocklength;
4290 intptr_t stride2 = type->u.resized.child->u.hvector.stride;
4291 uintptr_t extent2 ATTRIBUTE((unused)) = type->u.resized.child->extent;
4292
4293 int count3 = type->u.resized.child->u.hvector.child->u.hvector.count;
4294 int blocklength3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->u.hvector.blocklength;
4295 intptr_t stride3 = type->u.resized.child->u.hvector.child->u.hvector.stride;
4296 uintptr_t extent3 ATTRIBUTE((unused)) = type->u.resized.child->u.hvector.child->extent;
4297
4298 uintptr_t idx = 0;
4299 for (int i = 0; i < count; i++) {
4300 for (int j2 = 0; j2 < count2; j2++) {
4301 for (int k2 = 0; k2 < blocklength2; k2++) {
4302 for (int j3 = 0; j3 < count3; j3++) {
4303 for (int k3 = 0; k3 < blocklength3; k3++) {
4304 *((char *) (void *) (dbuf + i * extent + j2 * stride2 + k2 * extent3 + j3 * stride3 + k3 * sizeof(char))) = *((const char *) (const void *) (sbuf + idx));
4305 idx += sizeof(char);
4306 }
4307 }
4308 }
4309 }
4310 }
4311
4312 return rc;
4313 }
4314
4315