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 small(int a)13int 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 densefull(int a)24int 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 densepart(int a)42int 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 dense_dense_20(int a)60int 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 dense_dense_100(int a)89int 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 dense_dense_1000(int a)118int 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 sparse(int a)147int 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 range_simple(int a)165int range_simple(int a) 166 { 167 switch (a) { 168 case 1 ... 9: return r0(); 169 } 170 171 return def(); 172 } 173 range_complex(int a)174int 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 switch_call(int a)187void 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 switch_retcall(int a)205int 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 switch_cmov(int a)225int 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 */ 249