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 "yaksi.h"
10 #include "yaksu.h"
11 #include "yaksuri_cudai.h"
12 #include "yaksuri_cudai_populate_pupfns.h"
13 
yaksuri_cudai_populate_pupfns(yaksi_type_s * type)14 int yaksuri_cudai_populate_pupfns(yaksi_type_s * type)
15 {
16     int rc = YAKSA_SUCCESS;
17     yaksuri_cudai_type_s *cuda = (yaksuri_cudai_type_s *) type->backend.cuda.priv;
18 
19     cuda->pack = YAKSURI_KERNEL_NULL;
20     cuda->unpack = YAKSURI_KERNEL_NULL;
21 
22     switch (type->kind) {
23         case YAKSI_TYPE_KIND__HVECTOR:
24         switch (type->u.hvector.child->kind) {
25             case YAKSI_TYPE_KIND__HVECTOR:
26             rc = yaksuri_cudai_populate_pupfns_hvector_hvector(type);
27             break;
28 
29             case YAKSI_TYPE_KIND__BLKHINDX:
30             rc = yaksuri_cudai_populate_pupfns_hvector_blkhindx(type);
31             break;
32 
33             case YAKSI_TYPE_KIND__HINDEXED:
34             rc = yaksuri_cudai_populate_pupfns_hvector_hindexed(type);
35             break;
36 
37             case YAKSI_TYPE_KIND__CONTIG:
38             rc = yaksuri_cudai_populate_pupfns_hvector_contig(type);
39             break;
40 
41             case YAKSI_TYPE_KIND__RESIZED:
42             rc = yaksuri_cudai_populate_pupfns_hvector_resized(type);
43             break;
44 
45             case YAKSI_TYPE_KIND__BUILTIN:
46             rc = yaksuri_cudai_populate_pupfns_hvector_builtin(type);
47             break;
48 
49             default:
50                 break;
51         }
52         break;
53 
54         case YAKSI_TYPE_KIND__BLKHINDX:
55         switch (type->u.blkhindx.child->kind) {
56             case YAKSI_TYPE_KIND__HVECTOR:
57             rc = yaksuri_cudai_populate_pupfns_blkhindx_hvector(type);
58             break;
59 
60             case YAKSI_TYPE_KIND__BLKHINDX:
61             rc = yaksuri_cudai_populate_pupfns_blkhindx_blkhindx(type);
62             break;
63 
64             case YAKSI_TYPE_KIND__HINDEXED:
65             rc = yaksuri_cudai_populate_pupfns_blkhindx_hindexed(type);
66             break;
67 
68             case YAKSI_TYPE_KIND__CONTIG:
69             rc = yaksuri_cudai_populate_pupfns_blkhindx_contig(type);
70             break;
71 
72             case YAKSI_TYPE_KIND__RESIZED:
73             rc = yaksuri_cudai_populate_pupfns_blkhindx_resized(type);
74             break;
75 
76             case YAKSI_TYPE_KIND__BUILTIN:
77             rc = yaksuri_cudai_populate_pupfns_blkhindx_builtin(type);
78             break;
79 
80             default:
81                 break;
82         }
83         break;
84 
85         case YAKSI_TYPE_KIND__HINDEXED:
86         switch (type->u.hindexed.child->kind) {
87             case YAKSI_TYPE_KIND__HVECTOR:
88             rc = yaksuri_cudai_populate_pupfns_hindexed_hvector(type);
89             break;
90 
91             case YAKSI_TYPE_KIND__BLKHINDX:
92             rc = yaksuri_cudai_populate_pupfns_hindexed_blkhindx(type);
93             break;
94 
95             case YAKSI_TYPE_KIND__HINDEXED:
96             rc = yaksuri_cudai_populate_pupfns_hindexed_hindexed(type);
97             break;
98 
99             case YAKSI_TYPE_KIND__CONTIG:
100             rc = yaksuri_cudai_populate_pupfns_hindexed_contig(type);
101             break;
102 
103             case YAKSI_TYPE_KIND__RESIZED:
104             rc = yaksuri_cudai_populate_pupfns_hindexed_resized(type);
105             break;
106 
107             case YAKSI_TYPE_KIND__BUILTIN:
108             rc = yaksuri_cudai_populate_pupfns_hindexed_builtin(type);
109             break;
110 
111             default:
112                 break;
113         }
114         break;
115 
116         case YAKSI_TYPE_KIND__CONTIG:
117         switch (type->u.contig.child->kind) {
118             case YAKSI_TYPE_KIND__HVECTOR:
119             rc = yaksuri_cudai_populate_pupfns_contig_hvector(type);
120             break;
121 
122             case YAKSI_TYPE_KIND__BLKHINDX:
123             rc = yaksuri_cudai_populate_pupfns_contig_blkhindx(type);
124             break;
125 
126             case YAKSI_TYPE_KIND__HINDEXED:
127             rc = yaksuri_cudai_populate_pupfns_contig_hindexed(type);
128             break;
129 
130             case YAKSI_TYPE_KIND__CONTIG:
131             rc = yaksuri_cudai_populate_pupfns_contig_contig(type);
132             break;
133 
134             case YAKSI_TYPE_KIND__RESIZED:
135             rc = yaksuri_cudai_populate_pupfns_contig_resized(type);
136             break;
137 
138             case YAKSI_TYPE_KIND__BUILTIN:
139             rc = yaksuri_cudai_populate_pupfns_contig_builtin(type);
140             break;
141 
142             default:
143                 break;
144         }
145         break;
146 
147         case YAKSI_TYPE_KIND__RESIZED:
148         switch (type->u.resized.child->kind) {
149             case YAKSI_TYPE_KIND__HVECTOR:
150             rc = yaksuri_cudai_populate_pupfns_resized_hvector(type);
151             break;
152 
153             case YAKSI_TYPE_KIND__BLKHINDX:
154             rc = yaksuri_cudai_populate_pupfns_resized_blkhindx(type);
155             break;
156 
157             case YAKSI_TYPE_KIND__HINDEXED:
158             rc = yaksuri_cudai_populate_pupfns_resized_hindexed(type);
159             break;
160 
161             case YAKSI_TYPE_KIND__CONTIG:
162             rc = yaksuri_cudai_populate_pupfns_resized_contig(type);
163             break;
164 
165             case YAKSI_TYPE_KIND__RESIZED:
166             rc = yaksuri_cudai_populate_pupfns_resized_resized(type);
167             break;
168 
169             case YAKSI_TYPE_KIND__BUILTIN:
170             rc = yaksuri_cudai_populate_pupfns_resized_builtin(type);
171             break;
172 
173             default:
174                 break;
175         }
176         break;
177 
178         default:
179             break;
180     }
181 
182         return rc;
183 }
184