1 int def(void);
2 int r0(void);
3 int r1(void);
4 int r2(void);
5 int r3(void);
6 int r4(void);
7 int r5(void);
8 int r6(void);
9 int r7(void);
10 int r8(void);
11 int r9(void);
12
13 int small(int a)
14 {
15 switch (a) {
16 case 0: return r0();
17 case 1: return r1();
18 case 2: return r2();
19 }
20
21 return def();
22 }
23
24 int densefull(int a)
25 {
26 switch (a) {
27 case 0: return r0();
28 case 1: return r1();
29 case 2: return r2();
30 case 3: return r3();
31 case 4: return r4();
32 case 5: return r5();
33 case 6: return r6();
34 case 7: return r7();
35 case 8: return r8();
36 case 9: return r9();
37 }
38
39 return def();
40 }
41
42 int densepart(int a)
43 {
44 switch (a) {
45 case 0: return r0();
46 case 1: return r1();
47 case 2: return r2();
48 case 3: return r3();
49 case 4: return r4();
50
51 case 6: return r6();
52 case 7: return r7();
53 case 8: return r8();
54 case 9: return r9();
55 }
56
57 return def();
58 }
59
60 int dense_dense_20(int a)
61 {
62 switch (a) {
63 case 0: return r0();
64 case 1: return r1();
65 case 2: return r2();
66 case 3: return r3();
67 case 4: return r4();
68 case 5: return r5();
69 case 6: return r6();
70 case 7: return r7();
71 case 8: return r8();
72 case 9: return r9();
73
74 case 20: return r0();
75 case 21: return r1();
76 case 22: return r2();
77 case 23: return r3();
78 case 24: return r4();
79 case 25: return r5();
80 case 26: return r6();
81 case 27: return r7();
82 case 28: return r8();
83 case 29: return r9();
84 }
85
86 return def();
87 }
88
89 int dense_dense_100(int a)
90 {
91 switch (a) {
92 case 0: return r0();
93 case 1: return r1();
94 case 2: return r2();
95 case 3: return r3();
96 case 4: return r4();
97 case 5: return r5();
98 case 6: return r6();
99 case 7: return r7();
100 case 8: return r8();
101 case 9: return r9();
102
103 case 100: return r0();
104 case 101: return r1();
105 case 102: return r2();
106 case 103: return r3();
107 case 104: return r4();
108 case 105: return r5();
109 case 106: return r6();
110 case 107: return r7();
111 case 108: return r8();
112 case 109: return r9();
113 }
114
115 return def();
116 }
117
118 int dense_dense_1000(int a)
119 {
120 switch (a) {
121 case 0: return r0();
122 case 1: return r1();
123 case 2: return r2();
124 case 3: return r3();
125 case 4: return r4();
126 case 5: return r5();
127 case 6: return r6();
128 case 7: return r7();
129 case 8: return r8();
130 case 9: return r9();
131
132 case 1000: return r0();
133 case 1001: return r1();
134 case 1002: return r2();
135 case 1003: return r3();
136 case 1004: return r4();
137 case 1005: return r5();
138 case 1006: return r6();
139 case 1007: return r7();
140 case 1008: return r8();
141 case 1009: return r9();
142 }
143
144 return def();
145 }
146
147 int sparse(int a)
148 {
149 switch (a) {
150 case 0: return r0();
151 case 3: return r1();
152 case 12: return r2();
153 case 31: return r3();
154 case 54: return r4();
155 case 75: return r5();
156 case 96: return r6();
157 case 107: return r7();
158 case 189: return r8();
159 case 999: return r9();
160 }
161
162 return def();
163 }
164
165 int range_simple(int a)
166 {
167 switch (a) {
168 case 1 ... 9: return r0();
169 }
170
171 return def();
172 }
173
174 int range_complex(int a)
175 {
176 switch (a) {
177 case -1: return r0();
178 case 1 ... 9: return r0();
179 case 10 ... 19: return r1();
180 case 200 ... 202: return r2();
181 case 300 ... 303: return r3();
182 }
183
184 return def();
185 }
186
187 void switch_call(int a)
188 {
189 int r;
190
191 switch (a) {
192 case 0: r0(); break;
193 case 1: r1(); break;
194 case 2: r2(); break;
195 case 3: r3(); break;
196 case 4: r4(); break;
197 case 5: r5(); break;
198 case 6: r6(); break;
199 case 7: r7(); break;
200 case 8: r8(); break;
201 case 9: r9(); break;
202 }
203 }
204
205 int switch_retcall(int a)
206 {
207 int r = 0;
208
209 switch (a) {
210 case 0: r = r0(); break;
211 case 1: r = r1(); break;
212 case 2: r = r2(); break;
213 case 3: r = r3(); break;
214 case 4: r = r4(); break;
215 case 5: r = r5(); break;
216 case 6: r = r6(); break;
217 case 7: r = r7(); break;
218 case 8: r = r8(); break;
219 case 9: r = r9(); break;
220 }
221
222 return r;
223 }
224
225 int switch_cmov(int a)
226 {
227 int r;
228
229 switch (a) {
230 case 0: r = 3; break;
231 case 1: r = 1; break;
232 case 2: r = 7; break;
233 case 3: r = 2; break;
234 case 4: r = 9; break;
235
236 case 6: r = 5; break;
237 case 7: r = 8; break;
238 case 8: r = 6; break;
239 case 9: r = 4; break;
240 }
241
242 return r;
243 }
244
245 /*
246 * check-name: llvm-switch
247 * check-command: sparsec -Wno-decl -c $file -o tmp.o
248 */