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 <stdio.h>
9 #include <stdlib.h>
10 #include <wchar.h>
11 #include "yaksi.h"
12 #include "yaksu.h"
13 #include "yaksuri_zei.h"
14 #include "yaksuri_zei_populate_pupfns.h"
15 #include "yaksuri_zei_pup.h"
16 
yaksuri_zei_populate_pupfns_resized_contig(yaksi_type_s * type)17 int yaksuri_zei_populate_pupfns_resized_contig(yaksi_type_s * type)
18 {
19     int rc = YAKSA_SUCCESS;
20     yaksuri_zei_type_s *ze = (yaksuri_zei_type_s *) type->backend.ze.priv;
21 
22     char *str = getenv("YAKSA_ENV_MAX_NESTING_LEVEL");
23     int max_nesting_level;
24     if (str) {
25         max_nesting_level = atoi(str);
26     } else {
27         max_nesting_level = YAKSI_ENV_DEFAULT_NESTING_LEVEL;
28     }
29 
30     switch (type->u.resized.child->u.contig.child->kind) {
31         case YAKSI_TYPE_KIND__HVECTOR:
32         switch (type->u.resized.child->u.contig.child->u.hvector.child->kind) {
33             case YAKSI_TYPE_KIND__BUILTIN:
34             switch (type->u.resized.child->u.contig.child->u.hvector.child->u.builtin.handle) {
35                 case YAKSA_TYPE__CHAR:
36                 if (max_nesting_level >= 3) {
37                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_char;
38                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_char;
39                 }
40                 break;
41                 case YAKSA_TYPE__INT:
42                 if (max_nesting_level >= 3) {
43                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int;
44                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int;
45                 }
46                 break;
47                 case YAKSA_TYPE__SHORT:
48                 if (max_nesting_level >= 3) {
49                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_short;
50                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_short;
51                 }
52                 break;
53                 case YAKSA_TYPE__LONG:
54                 if (max_nesting_level >= 3) {
55                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_long;
56                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_long;
57                 }
58                 break;
59                 case YAKSA_TYPE__INT8_T:
60                 if (max_nesting_level >= 3) {
61                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int8_t;
62                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int8_t;
63                 }
64                 break;
65                 case YAKSA_TYPE__INT16_T:
66                 if (max_nesting_level >= 3) {
67                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int16_t;
68                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int16_t;
69                 }
70                 break;
71                 case YAKSA_TYPE__INT32_T:
72                 if (max_nesting_level >= 3) {
73                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int32_t;
74                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int32_t;
75                 }
76                 break;
77                 case YAKSA_TYPE__INT64_T:
78                 if (max_nesting_level >= 3) {
79                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int64_t;
80                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int64_t;
81                 }
82                 break;
83                 case YAKSA_TYPE__FLOAT:
84                 if (max_nesting_level >= 3) {
85                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_float;
86                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_float;
87                 }
88                 break;
89                 case YAKSA_TYPE__DOUBLE:
90                 if (max_nesting_level >= 3) {
91                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_double;
92                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_double;
93                 }
94                 break;
95                 case YAKSA_TYPE__UNSIGNED_CHAR:
96                 if (max_nesting_level >= 3) {
97                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_char;
98                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_char;
99                 }
100                 break;
101                 case YAKSA_TYPE__UNSIGNED:
102                 if (max_nesting_level >= 3) {
103                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int;
104                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int;
105                 }
106                 break;
107                 case YAKSA_TYPE__UNSIGNED_SHORT:
108                 if (max_nesting_level >= 3) {
109                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_short;
110                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_short;
111                 }
112                 break;
113                 case YAKSA_TYPE__UNSIGNED_LONG:
114                 if (max_nesting_level >= 3) {
115                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_long;
116                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_long;
117                 }
118                 break;
119                 case YAKSA_TYPE__LONG_DOUBLE:
120                 if (max_nesting_level >= 3) {
121                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_double;
122                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_double;
123                 }
124                 break;
125                 case YAKSA_TYPE__UNSIGNED_LONG_LONG:
126                 if (max_nesting_level >= 3) {
127                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_long;
128                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_long;
129                 }
130                 break;
131                 case YAKSA_TYPE__UINT8_T:
132                 if (max_nesting_level >= 3) {
133                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int8_t;
134                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int8_t;
135                 }
136                 break;
137                 case YAKSA_TYPE__UINT16_T:
138                 if (max_nesting_level >= 3) {
139                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int16_t;
140                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int16_t;
141                 }
142                 break;
143                 case YAKSA_TYPE__UINT32_T:
144                 if (max_nesting_level >= 3) {
145                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int32_t;
146                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int32_t;
147                 }
148                 break;
149                 case YAKSA_TYPE__UINT64_T:
150                 if (max_nesting_level >= 3) {
151                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int64_t;
152                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int64_t;
153                 }
154                 break;
155                 case YAKSA_TYPE__C_COMPLEX:
156                 if (max_nesting_level >= 3) {
157                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_float;
158                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_float;
159                 }
160                 break;
161                 case YAKSA_TYPE__C_DOUBLE_COMPLEX:
162                 if (max_nesting_level >= 3) {
163                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_double;
164                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_double;
165                 }
166                 break;
167                 case YAKSA_TYPE__C_LONG_DOUBLE_COMPLEX:
168                 if (max_nesting_level >= 3) {
169                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_double;
170                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_double;
171                 }
172                 break;
173                 case YAKSA_TYPE__BYTE:
174                 if (max_nesting_level >= 3) {
175                     ze->pack = yaksuri_zei_pack_resized_contig_hvector_int8_t;
176                     ze->unpack = yaksuri_zei_unpack_resized_contig_hvector_int8_t;
177                 }
178                 break;
179                 default:
180                     break;
181             }
182             break;
183             default:
184                 break;
185         }
186         break;
187         case YAKSI_TYPE_KIND__BLKHINDX:
188         switch (type->u.resized.child->u.contig.child->u.blkhindx.child->kind) {
189             case YAKSI_TYPE_KIND__BUILTIN:
190             switch (type->u.resized.child->u.contig.child->u.blkhindx.child->u.builtin.handle) {
191                 case YAKSA_TYPE__CHAR:
192                 if (max_nesting_level >= 3) {
193                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_char;
194                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_char;
195                 }
196                 break;
197                 case YAKSA_TYPE__INT:
198                 if (max_nesting_level >= 3) {
199                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int;
200                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int;
201                 }
202                 break;
203                 case YAKSA_TYPE__SHORT:
204                 if (max_nesting_level >= 3) {
205                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_short;
206                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_short;
207                 }
208                 break;
209                 case YAKSA_TYPE__LONG:
210                 if (max_nesting_level >= 3) {
211                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_long;
212                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_long;
213                 }
214                 break;
215                 case YAKSA_TYPE__INT8_T:
216                 if (max_nesting_level >= 3) {
217                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int8_t;
218                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int8_t;
219                 }
220                 break;
221                 case YAKSA_TYPE__INT16_T:
222                 if (max_nesting_level >= 3) {
223                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int16_t;
224                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int16_t;
225                 }
226                 break;
227                 case YAKSA_TYPE__INT32_T:
228                 if (max_nesting_level >= 3) {
229                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int32_t;
230                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int32_t;
231                 }
232                 break;
233                 case YAKSA_TYPE__INT64_T:
234                 if (max_nesting_level >= 3) {
235                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int64_t;
236                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int64_t;
237                 }
238                 break;
239                 case YAKSA_TYPE__FLOAT:
240                 if (max_nesting_level >= 3) {
241                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_float;
242                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_float;
243                 }
244                 break;
245                 case YAKSA_TYPE__DOUBLE:
246                 if (max_nesting_level >= 3) {
247                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_double;
248                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_double;
249                 }
250                 break;
251                 case YAKSA_TYPE__UNSIGNED_CHAR:
252                 if (max_nesting_level >= 3) {
253                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_char;
254                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_char;
255                 }
256                 break;
257                 case YAKSA_TYPE__UNSIGNED:
258                 if (max_nesting_level >= 3) {
259                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int;
260                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int;
261                 }
262                 break;
263                 case YAKSA_TYPE__UNSIGNED_SHORT:
264                 if (max_nesting_level >= 3) {
265                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_short;
266                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_short;
267                 }
268                 break;
269                 case YAKSA_TYPE__UNSIGNED_LONG:
270                 if (max_nesting_level >= 3) {
271                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_long;
272                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_long;
273                 }
274                 break;
275                 case YAKSA_TYPE__LONG_DOUBLE:
276                 if (max_nesting_level >= 3) {
277                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_double;
278                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_double;
279                 }
280                 break;
281                 case YAKSA_TYPE__UNSIGNED_LONG_LONG:
282                 if (max_nesting_level >= 3) {
283                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_long;
284                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_long;
285                 }
286                 break;
287                 case YAKSA_TYPE__UINT8_T:
288                 if (max_nesting_level >= 3) {
289                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int8_t;
290                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int8_t;
291                 }
292                 break;
293                 case YAKSA_TYPE__UINT16_T:
294                 if (max_nesting_level >= 3) {
295                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int16_t;
296                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int16_t;
297                 }
298                 break;
299                 case YAKSA_TYPE__UINT32_T:
300                 if (max_nesting_level >= 3) {
301                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int32_t;
302                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int32_t;
303                 }
304                 break;
305                 case YAKSA_TYPE__UINT64_T:
306                 if (max_nesting_level >= 3) {
307                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int64_t;
308                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int64_t;
309                 }
310                 break;
311                 case YAKSA_TYPE__C_COMPLEX:
312                 if (max_nesting_level >= 3) {
313                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_float;
314                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_float;
315                 }
316                 break;
317                 case YAKSA_TYPE__C_DOUBLE_COMPLEX:
318                 if (max_nesting_level >= 3) {
319                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_double;
320                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_double;
321                 }
322                 break;
323                 case YAKSA_TYPE__C_LONG_DOUBLE_COMPLEX:
324                 if (max_nesting_level >= 3) {
325                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_double;
326                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_double;
327                 }
328                 break;
329                 case YAKSA_TYPE__BYTE:
330                 if (max_nesting_level >= 3) {
331                     ze->pack = yaksuri_zei_pack_resized_contig_blkhindx_int8_t;
332                     ze->unpack = yaksuri_zei_unpack_resized_contig_blkhindx_int8_t;
333                 }
334                 break;
335                 default:
336                     break;
337             }
338             break;
339             default:
340                 break;
341         }
342         break;
343         case YAKSI_TYPE_KIND__HINDEXED:
344         switch (type->u.resized.child->u.contig.child->u.hindexed.child->kind) {
345             case YAKSI_TYPE_KIND__BUILTIN:
346             switch (type->u.resized.child->u.contig.child->u.hindexed.child->u.builtin.handle) {
347                 case YAKSA_TYPE__CHAR:
348                 if (max_nesting_level >= 3) {
349                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_char;
350                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_char;
351                 }
352                 break;
353                 case YAKSA_TYPE__INT:
354                 if (max_nesting_level >= 3) {
355                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int;
356                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int;
357                 }
358                 break;
359                 case YAKSA_TYPE__SHORT:
360                 if (max_nesting_level >= 3) {
361                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_short;
362                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_short;
363                 }
364                 break;
365                 case YAKSA_TYPE__LONG:
366                 if (max_nesting_level >= 3) {
367                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_long;
368                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_long;
369                 }
370                 break;
371                 case YAKSA_TYPE__INT8_T:
372                 if (max_nesting_level >= 3) {
373                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int8_t;
374                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int8_t;
375                 }
376                 break;
377                 case YAKSA_TYPE__INT16_T:
378                 if (max_nesting_level >= 3) {
379                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int16_t;
380                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int16_t;
381                 }
382                 break;
383                 case YAKSA_TYPE__INT32_T:
384                 if (max_nesting_level >= 3) {
385                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int32_t;
386                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int32_t;
387                 }
388                 break;
389                 case YAKSA_TYPE__INT64_T:
390                 if (max_nesting_level >= 3) {
391                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int64_t;
392                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int64_t;
393                 }
394                 break;
395                 case YAKSA_TYPE__FLOAT:
396                 if (max_nesting_level >= 3) {
397                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_float;
398                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_float;
399                 }
400                 break;
401                 case YAKSA_TYPE__DOUBLE:
402                 if (max_nesting_level >= 3) {
403                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_double;
404                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_double;
405                 }
406                 break;
407                 case YAKSA_TYPE__UNSIGNED_CHAR:
408                 if (max_nesting_level >= 3) {
409                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_char;
410                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_char;
411                 }
412                 break;
413                 case YAKSA_TYPE__UNSIGNED:
414                 if (max_nesting_level >= 3) {
415                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int;
416                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int;
417                 }
418                 break;
419                 case YAKSA_TYPE__UNSIGNED_SHORT:
420                 if (max_nesting_level >= 3) {
421                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_short;
422                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_short;
423                 }
424                 break;
425                 case YAKSA_TYPE__UNSIGNED_LONG:
426                 if (max_nesting_level >= 3) {
427                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_long;
428                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_long;
429                 }
430                 break;
431                 case YAKSA_TYPE__LONG_DOUBLE:
432                 if (max_nesting_level >= 3) {
433                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_double;
434                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_double;
435                 }
436                 break;
437                 case YAKSA_TYPE__UNSIGNED_LONG_LONG:
438                 if (max_nesting_level >= 3) {
439                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_long;
440                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_long;
441                 }
442                 break;
443                 case YAKSA_TYPE__UINT8_T:
444                 if (max_nesting_level >= 3) {
445                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int8_t;
446                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int8_t;
447                 }
448                 break;
449                 case YAKSA_TYPE__UINT16_T:
450                 if (max_nesting_level >= 3) {
451                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int16_t;
452                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int16_t;
453                 }
454                 break;
455                 case YAKSA_TYPE__UINT32_T:
456                 if (max_nesting_level >= 3) {
457                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int32_t;
458                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int32_t;
459                 }
460                 break;
461                 case YAKSA_TYPE__UINT64_T:
462                 if (max_nesting_level >= 3) {
463                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int64_t;
464                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int64_t;
465                 }
466                 break;
467                 case YAKSA_TYPE__C_COMPLEX:
468                 if (max_nesting_level >= 3) {
469                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_float;
470                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_float;
471                 }
472                 break;
473                 case YAKSA_TYPE__C_DOUBLE_COMPLEX:
474                 if (max_nesting_level >= 3) {
475                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_double;
476                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_double;
477                 }
478                 break;
479                 case YAKSA_TYPE__C_LONG_DOUBLE_COMPLEX:
480                 if (max_nesting_level >= 3) {
481                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_double;
482                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_double;
483                 }
484                 break;
485                 case YAKSA_TYPE__BYTE:
486                 if (max_nesting_level >= 3) {
487                     ze->pack = yaksuri_zei_pack_resized_contig_hindexed_int8_t;
488                     ze->unpack = yaksuri_zei_unpack_resized_contig_hindexed_int8_t;
489                 }
490                 break;
491                 default:
492                     break;
493             }
494             break;
495             default:
496                 break;
497         }
498         break;
499         case YAKSI_TYPE_KIND__CONTIG:
500         switch (type->u.resized.child->u.contig.child->u.contig.child->kind) {
501             case YAKSI_TYPE_KIND__BUILTIN:
502             switch (type->u.resized.child->u.contig.child->u.contig.child->u.builtin.handle) {
503                 case YAKSA_TYPE__CHAR:
504                 if (max_nesting_level >= 3) {
505                     ze->pack = yaksuri_zei_pack_resized_contig_contig_char;
506                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_char;
507                 }
508                 break;
509                 case YAKSA_TYPE__INT:
510                 if (max_nesting_level >= 3) {
511                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int;
512                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int;
513                 }
514                 break;
515                 case YAKSA_TYPE__SHORT:
516                 if (max_nesting_level >= 3) {
517                     ze->pack = yaksuri_zei_pack_resized_contig_contig_short;
518                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_short;
519                 }
520                 break;
521                 case YAKSA_TYPE__LONG:
522                 if (max_nesting_level >= 3) {
523                     ze->pack = yaksuri_zei_pack_resized_contig_contig_long;
524                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_long;
525                 }
526                 break;
527                 case YAKSA_TYPE__INT8_T:
528                 if (max_nesting_level >= 3) {
529                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int8_t;
530                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int8_t;
531                 }
532                 break;
533                 case YAKSA_TYPE__INT16_T:
534                 if (max_nesting_level >= 3) {
535                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int16_t;
536                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int16_t;
537                 }
538                 break;
539                 case YAKSA_TYPE__INT32_T:
540                 if (max_nesting_level >= 3) {
541                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int32_t;
542                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int32_t;
543                 }
544                 break;
545                 case YAKSA_TYPE__INT64_T:
546                 if (max_nesting_level >= 3) {
547                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int64_t;
548                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int64_t;
549                 }
550                 break;
551                 case YAKSA_TYPE__FLOAT:
552                 if (max_nesting_level >= 3) {
553                     ze->pack = yaksuri_zei_pack_resized_contig_contig_float;
554                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_float;
555                 }
556                 break;
557                 case YAKSA_TYPE__DOUBLE:
558                 if (max_nesting_level >= 3) {
559                     ze->pack = yaksuri_zei_pack_resized_contig_contig_double;
560                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_double;
561                 }
562                 break;
563                 case YAKSA_TYPE__UNSIGNED_CHAR:
564                 if (max_nesting_level >= 3) {
565                     ze->pack = yaksuri_zei_pack_resized_contig_contig_char;
566                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_char;
567                 }
568                 break;
569                 case YAKSA_TYPE__UNSIGNED:
570                 if (max_nesting_level >= 3) {
571                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int;
572                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int;
573                 }
574                 break;
575                 case YAKSA_TYPE__UNSIGNED_SHORT:
576                 if (max_nesting_level >= 3) {
577                     ze->pack = yaksuri_zei_pack_resized_contig_contig_short;
578                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_short;
579                 }
580                 break;
581                 case YAKSA_TYPE__UNSIGNED_LONG:
582                 if (max_nesting_level >= 3) {
583                     ze->pack = yaksuri_zei_pack_resized_contig_contig_long;
584                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_long;
585                 }
586                 break;
587                 case YAKSA_TYPE__LONG_DOUBLE:
588                 if (max_nesting_level >= 3) {
589                     ze->pack = yaksuri_zei_pack_resized_contig_contig_double;
590                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_double;
591                 }
592                 break;
593                 case YAKSA_TYPE__UNSIGNED_LONG_LONG:
594                 if (max_nesting_level >= 3) {
595                     ze->pack = yaksuri_zei_pack_resized_contig_contig_long;
596                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_long;
597                 }
598                 break;
599                 case YAKSA_TYPE__UINT8_T:
600                 if (max_nesting_level >= 3) {
601                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int8_t;
602                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int8_t;
603                 }
604                 break;
605                 case YAKSA_TYPE__UINT16_T:
606                 if (max_nesting_level >= 3) {
607                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int16_t;
608                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int16_t;
609                 }
610                 break;
611                 case YAKSA_TYPE__UINT32_T:
612                 if (max_nesting_level >= 3) {
613                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int32_t;
614                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int32_t;
615                 }
616                 break;
617                 case YAKSA_TYPE__UINT64_T:
618                 if (max_nesting_level >= 3) {
619                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int64_t;
620                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int64_t;
621                 }
622                 break;
623                 case YAKSA_TYPE__C_COMPLEX:
624                 if (max_nesting_level >= 3) {
625                     ze->pack = yaksuri_zei_pack_resized_contig_contig_float;
626                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_float;
627                 }
628                 break;
629                 case YAKSA_TYPE__C_DOUBLE_COMPLEX:
630                 if (max_nesting_level >= 3) {
631                     ze->pack = yaksuri_zei_pack_resized_contig_contig_double;
632                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_double;
633                 }
634                 break;
635                 case YAKSA_TYPE__C_LONG_DOUBLE_COMPLEX:
636                 if (max_nesting_level >= 3) {
637                     ze->pack = yaksuri_zei_pack_resized_contig_contig_double;
638                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_double;
639                 }
640                 break;
641                 case YAKSA_TYPE__BYTE:
642                 if (max_nesting_level >= 3) {
643                     ze->pack = yaksuri_zei_pack_resized_contig_contig_int8_t;
644                     ze->unpack = yaksuri_zei_unpack_resized_contig_contig_int8_t;
645                 }
646                 break;
647                 default:
648                     break;
649             }
650             break;
651             default:
652                 break;
653         }
654         break;
655         case YAKSI_TYPE_KIND__RESIZED:
656         switch (type->u.resized.child->u.contig.child->u.resized.child->kind) {
657             case YAKSI_TYPE_KIND__BUILTIN:
658             switch (type->u.resized.child->u.contig.child->u.resized.child->u.builtin.handle) {
659                 case YAKSA_TYPE__CHAR:
660                 if (max_nesting_level >= 3) {
661                     ze->pack = yaksuri_zei_pack_resized_contig_resized_char;
662                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_char;
663                 }
664                 break;
665                 case YAKSA_TYPE__INT:
666                 if (max_nesting_level >= 3) {
667                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int;
668                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int;
669                 }
670                 break;
671                 case YAKSA_TYPE__SHORT:
672                 if (max_nesting_level >= 3) {
673                     ze->pack = yaksuri_zei_pack_resized_contig_resized_short;
674                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_short;
675                 }
676                 break;
677                 case YAKSA_TYPE__LONG:
678                 if (max_nesting_level >= 3) {
679                     ze->pack = yaksuri_zei_pack_resized_contig_resized_long;
680                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_long;
681                 }
682                 break;
683                 case YAKSA_TYPE__INT8_T:
684                 if (max_nesting_level >= 3) {
685                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int8_t;
686                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int8_t;
687                 }
688                 break;
689                 case YAKSA_TYPE__INT16_T:
690                 if (max_nesting_level >= 3) {
691                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int16_t;
692                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int16_t;
693                 }
694                 break;
695                 case YAKSA_TYPE__INT32_T:
696                 if (max_nesting_level >= 3) {
697                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int32_t;
698                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int32_t;
699                 }
700                 break;
701                 case YAKSA_TYPE__INT64_T:
702                 if (max_nesting_level >= 3) {
703                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int64_t;
704                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int64_t;
705                 }
706                 break;
707                 case YAKSA_TYPE__FLOAT:
708                 if (max_nesting_level >= 3) {
709                     ze->pack = yaksuri_zei_pack_resized_contig_resized_float;
710                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_float;
711                 }
712                 break;
713                 case YAKSA_TYPE__DOUBLE:
714                 if (max_nesting_level >= 3) {
715                     ze->pack = yaksuri_zei_pack_resized_contig_resized_double;
716                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_double;
717                 }
718                 break;
719                 case YAKSA_TYPE__UNSIGNED_CHAR:
720                 if (max_nesting_level >= 3) {
721                     ze->pack = yaksuri_zei_pack_resized_contig_resized_char;
722                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_char;
723                 }
724                 break;
725                 case YAKSA_TYPE__UNSIGNED:
726                 if (max_nesting_level >= 3) {
727                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int;
728                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int;
729                 }
730                 break;
731                 case YAKSA_TYPE__UNSIGNED_SHORT:
732                 if (max_nesting_level >= 3) {
733                     ze->pack = yaksuri_zei_pack_resized_contig_resized_short;
734                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_short;
735                 }
736                 break;
737                 case YAKSA_TYPE__UNSIGNED_LONG:
738                 if (max_nesting_level >= 3) {
739                     ze->pack = yaksuri_zei_pack_resized_contig_resized_long;
740                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_long;
741                 }
742                 break;
743                 case YAKSA_TYPE__LONG_DOUBLE:
744                 if (max_nesting_level >= 3) {
745                     ze->pack = yaksuri_zei_pack_resized_contig_resized_double;
746                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_double;
747                 }
748                 break;
749                 case YAKSA_TYPE__UNSIGNED_LONG_LONG:
750                 if (max_nesting_level >= 3) {
751                     ze->pack = yaksuri_zei_pack_resized_contig_resized_long;
752                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_long;
753                 }
754                 break;
755                 case YAKSA_TYPE__UINT8_T:
756                 if (max_nesting_level >= 3) {
757                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int8_t;
758                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int8_t;
759                 }
760                 break;
761                 case YAKSA_TYPE__UINT16_T:
762                 if (max_nesting_level >= 3) {
763                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int16_t;
764                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int16_t;
765                 }
766                 break;
767                 case YAKSA_TYPE__UINT32_T:
768                 if (max_nesting_level >= 3) {
769                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int32_t;
770                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int32_t;
771                 }
772                 break;
773                 case YAKSA_TYPE__UINT64_T:
774                 if (max_nesting_level >= 3) {
775                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int64_t;
776                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int64_t;
777                 }
778                 break;
779                 case YAKSA_TYPE__C_COMPLEX:
780                 if (max_nesting_level >= 3) {
781                     ze->pack = yaksuri_zei_pack_resized_contig_resized_float;
782                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_float;
783                 }
784                 break;
785                 case YAKSA_TYPE__C_DOUBLE_COMPLEX:
786                 if (max_nesting_level >= 3) {
787                     ze->pack = yaksuri_zei_pack_resized_contig_resized_double;
788                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_double;
789                 }
790                 break;
791                 case YAKSA_TYPE__C_LONG_DOUBLE_COMPLEX:
792                 if (max_nesting_level >= 3) {
793                     ze->pack = yaksuri_zei_pack_resized_contig_resized_double;
794                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_double;
795                 }
796                 break;
797                 case YAKSA_TYPE__BYTE:
798                 if (max_nesting_level >= 3) {
799                     ze->pack = yaksuri_zei_pack_resized_contig_resized_int8_t;
800                     ze->unpack = yaksuri_zei_unpack_resized_contig_resized_int8_t;
801                 }
802                 break;
803                 default:
804                     break;
805             }
806             break;
807             default:
808                 break;
809         }
810         break;
811         case YAKSI_TYPE_KIND__BUILTIN:
812         switch (type->u.resized.child->u.contig.child->u.builtin.handle) {
813             case YAKSA_TYPE__CHAR:
814             if (max_nesting_level >= 2) {
815                 ze->pack = yaksuri_zei_pack_resized_contig_char;
816                 ze->unpack = yaksuri_zei_unpack_resized_contig_char;
817             }
818             break;
819             case YAKSA_TYPE__INT:
820             if (max_nesting_level >= 2) {
821                 ze->pack = yaksuri_zei_pack_resized_contig_int;
822                 ze->unpack = yaksuri_zei_unpack_resized_contig_int;
823             }
824             break;
825             case YAKSA_TYPE__SHORT:
826             if (max_nesting_level >= 2) {
827                 ze->pack = yaksuri_zei_pack_resized_contig_short;
828                 ze->unpack = yaksuri_zei_unpack_resized_contig_short;
829             }
830             break;
831             case YAKSA_TYPE__LONG:
832             if (max_nesting_level >= 2) {
833                 ze->pack = yaksuri_zei_pack_resized_contig_long;
834                 ze->unpack = yaksuri_zei_unpack_resized_contig_long;
835             }
836             break;
837             case YAKSA_TYPE__INT8_T:
838             if (max_nesting_level >= 2) {
839                 ze->pack = yaksuri_zei_pack_resized_contig_int8_t;
840                 ze->unpack = yaksuri_zei_unpack_resized_contig_int8_t;
841             }
842             break;
843             case YAKSA_TYPE__INT16_T:
844             if (max_nesting_level >= 2) {
845                 ze->pack = yaksuri_zei_pack_resized_contig_int16_t;
846                 ze->unpack = yaksuri_zei_unpack_resized_contig_int16_t;
847             }
848             break;
849             case YAKSA_TYPE__INT32_T:
850             if (max_nesting_level >= 2) {
851                 ze->pack = yaksuri_zei_pack_resized_contig_int32_t;
852                 ze->unpack = yaksuri_zei_unpack_resized_contig_int32_t;
853             }
854             break;
855             case YAKSA_TYPE__INT64_T:
856             if (max_nesting_level >= 2) {
857                 ze->pack = yaksuri_zei_pack_resized_contig_int64_t;
858                 ze->unpack = yaksuri_zei_unpack_resized_contig_int64_t;
859             }
860             break;
861             case YAKSA_TYPE__FLOAT:
862             if (max_nesting_level >= 2) {
863                 ze->pack = yaksuri_zei_pack_resized_contig_float;
864                 ze->unpack = yaksuri_zei_unpack_resized_contig_float;
865             }
866             break;
867             case YAKSA_TYPE__DOUBLE:
868             if (max_nesting_level >= 2) {
869                 ze->pack = yaksuri_zei_pack_resized_contig_double;
870                 ze->unpack = yaksuri_zei_unpack_resized_contig_double;
871             }
872             break;
873             case YAKSA_TYPE__UNSIGNED_CHAR:
874             if (max_nesting_level >= 2) {
875                 ze->pack = yaksuri_zei_pack_resized_contig_char;
876                 ze->unpack = yaksuri_zei_unpack_resized_contig_char;
877             }
878             break;
879             case YAKSA_TYPE__UNSIGNED:
880             if (max_nesting_level >= 2) {
881                 ze->pack = yaksuri_zei_pack_resized_contig_int;
882                 ze->unpack = yaksuri_zei_unpack_resized_contig_int;
883             }
884             break;
885             case YAKSA_TYPE__UNSIGNED_SHORT:
886             if (max_nesting_level >= 2) {
887                 ze->pack = yaksuri_zei_pack_resized_contig_short;
888                 ze->unpack = yaksuri_zei_unpack_resized_contig_short;
889             }
890             break;
891             case YAKSA_TYPE__UNSIGNED_LONG:
892             if (max_nesting_level >= 2) {
893                 ze->pack = yaksuri_zei_pack_resized_contig_long;
894                 ze->unpack = yaksuri_zei_unpack_resized_contig_long;
895             }
896             break;
897             case YAKSA_TYPE__LONG_DOUBLE:
898             if (max_nesting_level >= 2) {
899                 ze->pack = yaksuri_zei_pack_resized_contig_double;
900                 ze->unpack = yaksuri_zei_unpack_resized_contig_double;
901             }
902             break;
903             case YAKSA_TYPE__UNSIGNED_LONG_LONG:
904             if (max_nesting_level >= 2) {
905                 ze->pack = yaksuri_zei_pack_resized_contig_long;
906                 ze->unpack = yaksuri_zei_unpack_resized_contig_long;
907             }
908             break;
909             case YAKSA_TYPE__UINT8_T:
910             if (max_nesting_level >= 2) {
911                 ze->pack = yaksuri_zei_pack_resized_contig_int8_t;
912                 ze->unpack = yaksuri_zei_unpack_resized_contig_int8_t;
913             }
914             break;
915             case YAKSA_TYPE__UINT16_T:
916             if (max_nesting_level >= 2) {
917                 ze->pack = yaksuri_zei_pack_resized_contig_int16_t;
918                 ze->unpack = yaksuri_zei_unpack_resized_contig_int16_t;
919             }
920             break;
921             case YAKSA_TYPE__UINT32_T:
922             if (max_nesting_level >= 2) {
923                 ze->pack = yaksuri_zei_pack_resized_contig_int32_t;
924                 ze->unpack = yaksuri_zei_unpack_resized_contig_int32_t;
925             }
926             break;
927             case YAKSA_TYPE__UINT64_T:
928             if (max_nesting_level >= 2) {
929                 ze->pack = yaksuri_zei_pack_resized_contig_int64_t;
930                 ze->unpack = yaksuri_zei_unpack_resized_contig_int64_t;
931             }
932             break;
933             case YAKSA_TYPE__C_COMPLEX:
934             if (max_nesting_level >= 2) {
935                 ze->pack = yaksuri_zei_pack_resized_contig_float;
936                 ze->unpack = yaksuri_zei_unpack_resized_contig_float;
937             }
938             break;
939             case YAKSA_TYPE__C_DOUBLE_COMPLEX:
940             if (max_nesting_level >= 2) {
941                 ze->pack = yaksuri_zei_pack_resized_contig_double;
942                 ze->unpack = yaksuri_zei_unpack_resized_contig_double;
943             }
944             break;
945             case YAKSA_TYPE__C_LONG_DOUBLE_COMPLEX:
946             if (max_nesting_level >= 2) {
947                 ze->pack = yaksuri_zei_pack_resized_contig_double;
948                 ze->unpack = yaksuri_zei_unpack_resized_contig_double;
949             }
950             break;
951             case YAKSA_TYPE__BYTE:
952             if (max_nesting_level >= 2) {
953                 ze->pack = yaksuri_zei_pack_resized_contig_int8_t;
954                 ze->unpack = yaksuri_zei_unpack_resized_contig_int8_t;
955             }
956             break;
957             default:
958                 break;
959         }
960         break;
961         default:
962             break;
963     }
964 
965     return rc;
966 }
967