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)17int 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