aboutsummaryrefslogtreecommitdiff
path: root/tables.h
diff options
context:
space:
mode:
Diffstat (limited to 'tables.h')
-rw-r--r--tables.h720
1 files changed, 720 insertions, 0 deletions
diff --git a/tables.h b/tables.h
new file mode 100644
index 0000000..fa83c16
--- /dev/null
+++ b/tables.h
@@ -0,0 +1,720 @@
1#define NORMAL 0
2#define INVERSE 1
3
4_static cube_t move_table[] = {
5 [U] = {
6 .corner = {5, 4, 2, 3, 0, 1, 6, 7},
7 .edge = {4, 5, 2, 3, 1, 0, 6, 7, 8, 9, 10, 11}
8 },
9 [U2] = {
10 .corner = {1, 0, 2, 3, 5, 4, 6, 7},
11 .edge = {1, 0, 2, 3, 5, 4, 6, 7, 8, 9, 10, 11}
12 },
13 [U3] = {
14 .corner = {4, 5, 2, 3, 1, 0, 6, 7},
15 .edge = {5, 4, 2, 3, 0, 1, 6, 7, 8, 9, 10, 11}
16 },
17 [D] = {
18 .corner = {0, 1, 7, 6, 4, 5, 2, 3},
19 .edge = {0, 1, 7, 6, 4, 5, 2, 3, 8, 9, 10, 11}
20 },
21 [D2] = {
22 .corner = {0, 1, 3, 2, 4, 5, 7, 6},
23 .edge = {0, 1, 3, 2, 4, 5, 7, 6, 8, 9, 10, 11}
24 },
25 [D3] = {
26 .corner = {0, 1, 6, 7, 4, 5, 3, 2},
27 .edge = {0, 1, 6, 7, 4, 5, 3, 2, 8, 9, 10, 11}
28 },
29 [R] = {
30 .corner = {70, 1, 2, 69, 4, 32, 35, 7},
31 .edge = {0, 1, 2, 3, 8, 5, 6, 11, 7, 9, 10, 4}
32 },
33 [R2] = {
34 .corner = {3, 1, 2, 0, 4, 6, 5, 7},
35 .edge = {0, 1, 2, 3, 7, 5, 6, 4, 11, 9, 10, 8}
36 },
37 [R3] = {
38 .corner = {69, 1, 2, 70, 4, 35, 32, 7},
39 .edge = {0, 1, 2, 3, 11, 5, 6, 8, 4, 9, 10, 7}
40 },
41 [L] = {
42 .corner = {0, 71, 68, 3, 33, 5, 6, 34},
43 .edge = {0, 1, 2, 3, 4, 10, 9, 7, 8, 5, 6, 11}
44 },
45 [L2] = {
46 .corner = {0, 2, 1, 3, 7, 5, 6, 4},
47 .edge = {0, 1, 2, 3, 4, 6, 5, 7, 8, 10, 9, 11}
48 },
49 [L3] = {
50 .corner = {0, 68, 71, 3, 34, 5, 6, 33},
51 .edge = {0, 1, 2, 3, 4, 9, 10, 7, 8, 6, 5, 11}
52 },
53 [F] = {
54 .corner = {36, 1, 38, 3, 66, 5, 64, 7},
55 .edge = {25, 1, 2, 24, 4, 5, 6, 7, 16, 19, 10, 11}
56 },
57 [F2] = {
58 .corner = {2, 1, 0, 3, 6, 5, 4, 7},
59 .edge = {3, 1, 2, 0, 4, 5, 6, 7, 9, 8, 10, 11}
60 },
61 [F3] = {
62 .corner = {38, 1, 36, 3, 64, 5, 66, 7},
63 .edge = {24, 1, 2, 25, 4, 5, 6, 7, 19, 16, 10, 11}
64 },
65 [B] = {
66 .corner = {0, 37, 2, 39, 4, 67, 6, 65},
67 .edge = {0, 27, 26, 3, 4, 5, 6, 7, 8, 9, 17, 18}
68 },
69 [B2] = {
70 .corner = {0, 3, 2, 1, 4, 7, 6, 5},
71 .edge = {0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 11, 10}
72 },
73 [B3] = {
74 .corner = {0, 39, 2, 37, 4, 65, 6, 67},
75 .edge = {0, 26, 27, 3, 4, 5, 6, 7, 8, 9, 18, 17}
76 },
77};
78
79_static cube_t trans_table[][2] = {
80 [UFr] = {
81 [NORMAL] = {
82 .corner = {0, 1, 2, 3, 4, 5, 6, 7},
83 .edge = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
84 },
85 [INVERSE] = {
86 .corner = {0, 1, 2, 3, 4, 5, 6, 7},
87 .edge = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
88 }
89 },
90 [ULr] = {
91 [NORMAL] = {
92 .corner = {4, 5, 7, 6, 1, 0, 2, 3},
93 .edge = {5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24}
94 },
95 [INVERSE] = {
96 .corner = {5, 4, 6, 7, 0, 1, 3, 2},
97 .edge = {4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26}
98 }
99 },
100 [UBr] = {
101 [NORMAL] = {
102 .corner = {1, 0, 3, 2, 5, 4, 7, 6},
103 .edge = {1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9}
104 },
105 [INVERSE] = {
106 .corner = {1, 0, 3, 2, 5, 4, 7, 6},
107 .edge = {1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9}
108 }
109 },
110 [URr] = {
111 [NORMAL] = {
112 .corner = {5, 4, 6, 7, 0, 1, 3, 2},
113 .edge = {4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26}
114 },
115 [INVERSE] = {
116 .corner = {4, 5, 7, 6, 1, 0, 2, 3},
117 .edge = {5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24}
118 }
119 },
120 [DFr] = {
121 [NORMAL] = {
122 .corner = {2, 3, 0, 1, 6, 7, 4, 5},
123 .edge = {3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10}
124 },
125 [INVERSE] = {
126 .corner = {2, 3, 0, 1, 6, 7, 4, 5},
127 .edge = {3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10}
128 }
129 },
130 [DLr] = {
131 [NORMAL] = {
132 .corner = {7, 6, 4, 5, 2, 3, 1, 0},
133 .edge = {6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27}
134 },
135 [INVERSE] = {
136 .corner = {7, 6, 4, 5, 2, 3, 1, 0},
137 .edge = {6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27}
138 }
139 },
140 [DBr] = {
141 [NORMAL] = {
142 .corner = {3, 2, 1, 0, 7, 6, 5, 4},
143 .edge = {2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8}
144 },
145 [INVERSE] = {
146 .corner = {3, 2, 1, 0, 7, 6, 5, 4},
147 .edge = {2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8}
148 }
149 },
150 [DRr] = {
151 [NORMAL] = {
152 .corner = {6, 7, 5, 4, 3, 2, 0, 1},
153 .edge = {7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25}
154 },
155 [INVERSE] = {
156 .corner = {6, 7, 5, 4, 3, 2, 0, 1},
157 .edge = {7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25}
158 }
159 },
160 [RUr] = {
161 [NORMAL] = {
162 .corner = {64, 67, 65, 66, 37, 38, 36, 39},
163 .edge = {20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3}
164 },
165 [INVERSE] = {
166 .corner = {32, 34, 35, 33, 70, 68, 69, 71},
167 .edge = {8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21}
168 }
169 },
170 [RFr] = {
171 [NORMAL] = {
172 .corner = {38, 37, 36, 39, 64, 67, 66, 65},
173 .edge = {24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18}
174 },
175 [INVERSE] = {
176 .corner = {36, 39, 38, 37, 66, 65, 64, 67},
177 .edge = {25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17}
178 }
179 },
180 [RDr] = {
181 [NORMAL] = {
182 .corner = {67, 64, 66, 65, 38, 37, 39, 36},
183 .edge = {23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1}
184 },
185 [INVERSE] = {
186 .corner = {33, 35, 34, 32, 71, 69, 68, 70},
187 .edge = {10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20}
188 }
189 },
190 [RBr] = {
191 [NORMAL] = {
192 .corner = {37, 38, 39, 36, 67, 64, 65, 66},
193 .edge = {27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16}
194 },
195 [INVERSE] = {
196 .corner = {37, 38, 39, 36, 67, 64, 65, 66},
197 .edge = {27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16}
198 }
199 },
200 [LUr] = {
201 [NORMAL] = {
202 .corner = {65, 66, 64, 67, 36, 39, 37, 38},
203 .edge = {21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2}
204 },
205 [INVERSE] = {
206 .corner = {34, 32, 33, 35, 68, 70, 71, 69},
207 .edge = {9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23}
208 }
209 },
210 [LFr] = {
211 [NORMAL] = {
212 .corner = {36, 39, 38, 37, 66, 65, 64, 67},
213 .edge = {25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17}
214 },
215 [INVERSE] = {
216 .corner = {38, 37, 36, 39, 64, 67, 66, 65},
217 .edge = {24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18}
218 }
219 },
220 [LDr] = {
221 [NORMAL] = {
222 .corner = {66, 65, 67, 64, 39, 36, 38, 37},
223 .edge = {22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0}
224 },
225 [INVERSE] = {
226 .corner = {35, 33, 32, 34, 69, 71, 70, 68},
227 .edge = {11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22}
228 }
229 },
230 [LBr] = {
231 [NORMAL] = {
232 .corner = {39, 36, 37, 38, 65, 66, 67, 64},
233 .edge = {26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19}
234 },
235 [INVERSE] = {
236 .corner = {39, 36, 37, 38, 65, 66, 67, 64},
237 .edge = {26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19}
238 }
239 },
240 [FUr] = {
241 [NORMAL] = {
242 .corner = {68, 70, 69, 71, 32, 34, 33, 35},
243 .edge = {16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6}
244 },
245 [INVERSE] = {
246 .corner = {68, 70, 69, 71, 32, 34, 33, 35},
247 .edge = {16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6}
248 }
249 },
250 [FRr] = {
251 [NORMAL] = {
252 .corner = {32, 34, 35, 33, 70, 68, 69, 71},
253 .edge = {8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21}
254 },
255 [INVERSE] = {
256 .corner = {64, 67, 65, 66, 37, 38, 36, 39},
257 .edge = {20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3}
258 }
259 },
260 [FDr] = {
261 [NORMAL] = {
262 .corner = {70, 68, 71, 69, 34, 32, 35, 33},
263 .edge = {19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4}
264 },
265 [INVERSE] = {
266 .corner = {69, 71, 68, 70, 33, 35, 32, 34},
267 .edge = {17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7}
268 }
269 },
270 [FLr] = {
271 [NORMAL] = {
272 .corner = {34, 32, 33, 35, 68, 70, 71, 69},
273 .edge = {9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23}
274 },
275 [INVERSE] = {
276 .corner = {65, 66, 64, 67, 36, 39, 37, 38},
277 .edge = {21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2}
278 }
279 },
280 [BUr] = {
281 [NORMAL] = {
282 .corner = {69, 71, 68, 70, 33, 35, 32, 34},
283 .edge = {17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7}
284 },
285 [INVERSE] = {
286 .corner = {70, 68, 71, 69, 34, 32, 35, 33},
287 .edge = {19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4}
288 }
289 },
290 [BRr] = {
291 [NORMAL] = {
292 .corner = {35, 33, 32, 34, 69, 71, 70, 68},
293 .edge = {11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22}
294 },
295 [INVERSE] = {
296 .corner = {66, 65, 67, 64, 39, 36, 38, 37},
297 .edge = {22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0}
298 }
299 },
300 [BDr] = {
301 [NORMAL] = {
302 .corner = {71, 69, 70, 68, 35, 33, 34, 32},
303 .edge = {18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5}
304 },
305 [INVERSE] = {
306 .corner = {71, 69, 70, 68, 35, 33, 34, 32},
307 .edge = {18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5}
308 }
309 },
310 [BLr] = {
311 [NORMAL] = {
312 .corner = {33, 35, 34, 32, 71, 69, 68, 70},
313 .edge = {10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20}
314 },
315 [INVERSE] = {
316 .corner = {67, 64, 66, 65, 38, 37, 39, 36},
317 .edge = {23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1}
318 }
319 },
320 [UFm] = {
321 [NORMAL] = {
322 .corner = {4, 5, 6, 7, 0, 1, 2, 3},
323 .edge = {0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10}
324 },
325 [INVERSE] = {
326 .corner = {4, 5, 6, 7, 0, 1, 2, 3},
327 .edge = {0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10}
328 }
329 },
330 [ULm] = {
331 [NORMAL] = {
332 .corner = {0, 1, 3, 2, 5, 4, 6, 7},
333 .edge = {4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25}
334 },
335 [INVERSE] = {
336 .corner = {0, 1, 3, 2, 5, 4, 6, 7},
337 .edge = {4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25}
338 }
339 },
340 [UBm] = {
341 [NORMAL] = {
342 .corner = {5, 4, 7, 6, 1, 0, 3, 2},
343 .edge = {1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8}
344 },
345 [INVERSE] = {
346 .corner = {5, 4, 7, 6, 1, 0, 3, 2},
347 .edge = {1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8}
348 }
349 },
350 [URm] = {
351 [NORMAL] = {
352 .corner = {1, 0, 2, 3, 4, 5, 7, 6},
353 .edge = {5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27}
354 },
355 [INVERSE] = {
356 .corner = {1, 0, 2, 3, 4, 5, 7, 6},
357 .edge = {5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27}
358 }
359 },
360 [DFm] = {
361 [NORMAL] = {
362 .corner = {6, 7, 4, 5, 2, 3, 0, 1},
363 .edge = {3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11}
364 },
365 [INVERSE] = {
366 .corner = {6, 7, 4, 5, 2, 3, 0, 1},
367 .edge = {3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11}
368 }
369 },
370 [DLm] = {
371 [NORMAL] = {
372 .corner = {3, 2, 0, 1, 6, 7, 5, 4},
373 .edge = {7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26}
374 },
375 [INVERSE] = {
376 .corner = {2, 3, 1, 0, 7, 6, 4, 5},
377 .edge = {6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24}
378 }
379 },
380 [DBm] = {
381 [NORMAL] = {
382 .corner = {7, 6, 5, 4, 3, 2, 1, 0},
383 .edge = {2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9}
384 },
385 [INVERSE] = {
386 .corner = {7, 6, 5, 4, 3, 2, 1, 0},
387 .edge = {2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9}
388 }
389 },
390 [DRm] = {
391 [NORMAL] = {
392 .corner = {2, 3, 1, 0, 7, 6, 4, 5},
393 .edge = {6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24}
394 },
395 [INVERSE] = {
396 .corner = {3, 2, 0, 1, 6, 7, 5, 4},
397 .edge = {7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26}
398 }
399 },
400 [RUm] = {
401 [NORMAL] = {
402 .corner = {68, 71, 69, 70, 33, 34, 32, 35},
403 .edge = {21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3}
404 },
405 [INVERSE] = {
406 .corner = {70, 68, 69, 71, 32, 34, 35, 33},
407 .edge = {8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22}
408 }
409 },
410 [RFm] = {
411 [NORMAL] = {
412 .corner = {34, 33, 32, 35, 68, 71, 70, 69},
413 .edge = {25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18}
414 },
415 [INVERSE] = {
416 .corner = {66, 65, 64, 67, 36, 39, 38, 37},
417 .edge = {25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18}
418 }
419 },
420 [RDm] = {
421 [NORMAL] = {
422 .corner = {71, 68, 70, 69, 34, 33, 35, 32},
423 .edge = {22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1}
424 },
425 [INVERSE] = {
426 .corner = {71, 69, 68, 70, 33, 35, 34, 32},
427 .edge = {10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23}
428 }
429 },
430 [RBm] = {
431 [NORMAL] = {
432 .corner = {33, 34, 35, 32, 71, 68, 69, 70},
433 .edge = {26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16}
434 },
435 [INVERSE] = {
436 .corner = {67, 64, 65, 66, 37, 38, 39, 36},
437 .edge = {27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19}
438 }
439 },
440 [LUm] = {
441 [NORMAL] = {
442 .corner = {69, 70, 68, 71, 32, 35, 33, 34},
443 .edge = {20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2}
444 },
445 [INVERSE] = {
446 .corner = {68, 70, 71, 69, 34, 32, 33, 35},
447 .edge = {9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20}
448 }
449 },
450 [LFm] = {
451 [NORMAL] = {
452 .corner = {32, 35, 34, 33, 70, 69, 68, 71},
453 .edge = {24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17}
454 },
455 [INVERSE] = {
456 .corner = {64, 67, 66, 65, 38, 37, 36, 39},
457 .edge = {24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17}
458 }
459 },
460 [LDm] = {
461 [NORMAL] = {
462 .corner = {70, 69, 71, 68, 35, 32, 34, 33},
463 .edge = {23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0}
464 },
465 [INVERSE] = {
466 .corner = {69, 71, 70, 68, 35, 33, 32, 34},
467 .edge = {11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21}
468 }
469 },
470 [LBm] = {
471 [NORMAL] = {
472 .corner = {35, 32, 33, 34, 69, 70, 71, 68},
473 .edge = {27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19}
474 },
475 [INVERSE] = {
476 .corner = {65, 66, 67, 64, 39, 36, 37, 38},
477 .edge = {26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16}
478 }
479 },
480 [FUm] = {
481 [NORMAL] = {
482 .corner = {64, 66, 65, 67, 36, 38, 37, 39},
483 .edge = {16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7}
484 },
485 [INVERSE] = {
486 .corner = {32, 34, 33, 35, 68, 70, 69, 71},
487 .edge = {16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7}
488 }
489 },
490 [FRm] = {
491 [NORMAL] = {
492 .corner = {36, 38, 39, 37, 66, 64, 65, 67},
493 .edge = {9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20}
494 },
495 [INVERSE] = {
496 .corner = {37, 38, 36, 39, 64, 67, 65, 66},
497 .edge = {20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2}
498 }
499 },
500 [FDm] = {
501 [NORMAL] = {
502 .corner = {66, 64, 67, 65, 38, 36, 39, 37},
503 .edge = {19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5}
504 },
505 [INVERSE] = {
506 .corner = {33, 35, 32, 34, 69, 71, 68, 70},
507 .edge = {17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6}
508 }
509 },
510 [FLm] = {
511 [NORMAL] = {
512 .corner = {38, 36, 37, 39, 64, 66, 67, 65},
513 .edge = {8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22}
514 },
515 [INVERSE] = {
516 .corner = {36, 39, 37, 38, 65, 66, 64, 67},
517 .edge = {21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3}
518 }
519 },
520 [BUm] = {
521 [NORMAL] = {
522 .corner = {65, 67, 64, 66, 37, 39, 36, 38},
523 .edge = {17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6}
524 },
525 [INVERSE] = {
526 .corner = {34, 32, 35, 33, 70, 68, 71, 69},
527 .edge = {19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5}
528 }
529 },
530 [BRm] = {
531 [NORMAL] = {
532 .corner = {39, 37, 36, 38, 65, 67, 66, 64},
533 .edge = {10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23}
534 },
535 [INVERSE] = {
536 .corner = {39, 36, 38, 37, 66, 65, 67, 64},
537 .edge = {22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1}
538 }
539 },
540 [BDm] = {
541 [NORMAL] = {
542 .corner = {67, 65, 66, 64, 39, 37, 38, 36},
543 .edge = {18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4}
544 },
545 [INVERSE] = {
546 .corner = {35, 33, 34, 32, 71, 69, 70, 68},
547 .edge = {18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4}
548 }
549 },
550 [BLm] = {
551 [NORMAL] = {
552 .corner = {37, 39, 38, 36, 67, 65, 64, 66},
553 .edge = {11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21}
554 },
555 [INVERSE] = {
556 .corner = {38, 37, 39, 36, 67, 64, 66, 65},
557 .edge = {23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0}
558 }
559 },
560};
561
562_static char *cornerstr[] = {
563 [_c_ufr] = "UFR",
564 [_c_ubl] = "UBL",
565 [_c_dfl] = "DFL",
566 [_c_dbr] = "DBR",
567 [_c_ufl] = "UFL",
568 [_c_ubr] = "UBR",
569 [_c_dfr] = "DFR",
570 [_c_dbl] = "DBL"
571};
572
573_static char *cornerstralt[] = {
574 [_c_ufr] = "URF",
575 [_c_ubl] = "ULB",
576 [_c_dfl] = "DLF",
577 [_c_dbr] = "DRB",
578 [_c_ufl] = "ULF",
579 [_c_ubr] = "URB",
580 [_c_dfr] = "DRF",
581 [_c_dbl] = "DLB"
582};
583
584_static char *edgestr[] = {
585 [_e_uf] = "UF",
586 [_e_ub] = "UB",
587 [_e_db] = "DB",
588 [_e_df] = "DF",
589 [_e_ur] = "UR",
590 [_e_ul] = "UL",
591 [_e_dl] = "DL",
592 [_e_dr] = "DR",
593 [_e_fr] = "FR",
594 [_e_fl] = "FL",
595 [_e_bl] = "BL",
596 [_e_br] = "BR"
597};
598
599_static char *movestr[] = {
600 [U] = "U",
601 [U2] = "U2",
602 [U3] = "U'",
603 [D] = "D",
604 [D2] = "D2",
605 [D3] = "D'",
606 [R] = "R",
607 [R2] = "R2",
608 [R3] = "R'",
609 [L] = "L",
610 [L2] = "L2",
611 [L3] = "L'",
612 [F] = "F",
613 [F2] = "F2",
614 [F3] = "F'",
615 [B] = "B",
616 [B2] = "B2",
617 [B3] = "B'",
618};
619
620_static char *transstr[] = {
621 [UFr] = "rotation UF",
622 [UFm] = "mirrored UF",
623 [ULr] = "rotation UL",
624 [ULm] = "mirrored UL",
625 [UBr] = "rotation UB",
626 [UBm] = "mirrored UB",
627 [URr] = "rotation UR",
628 [URm] = "mirrored UR",
629 [DFr] = "rotation DF",
630 [DFm] = "mirrored DF",
631 [DLr] = "rotation DL",
632 [DLm] = "mirrored DL",
633 [DBr] = "rotation DB",
634 [DBm] = "mirrored DB",
635 [DRr] = "rotation DR",
636 [DRm] = "mirrored DR",
637 [RUr] = "rotation RU",
638 [RUm] = "mirrored RU",
639 [RFr] = "rotation RF",
640 [RFm] = "mirrored RF",
641 [RDr] = "rotation RD",
642 [RDm] = "mirrored RD",
643 [RBr] = "rotation RB",
644 [RBm] = "mirrored RB",
645 [LUr] = "rotation LU",
646 [LUm] = "mirrored LU",
647 [LFr] = "rotation LF",
648 [LFm] = "mirrored LF",
649 [LDr] = "rotation LD",
650 [LDm] = "mirrored LD",
651 [LBr] = "rotation LB",
652 [LBm] = "mirrored LB",
653 [FUr] = "rotation FU",
654 [FUm] = "mirrored FU",
655 [FRr] = "rotation FR",
656 [FRm] = "mirrored FR",
657 [FDr] = "rotation FD",
658 [FDm] = "mirrored FD",
659 [FLr] = "rotation FL",
660 [FLm] = "mirrored FL",
661 [BUr] = "rotation BU",
662 [BUm] = "mirrored BU",
663 [BRr] = "rotation BR",
664 [BRm] = "mirrored BR",
665 [BDr] = "rotation BD",
666 [BDm] = "mirrored BD",
667 [BLr] = "rotation BL",
668 [BLm] = "mirrored BL",
669};
670
671static uint8_t inverse_trans_table[48] = {
672 [UFr] = UFr,
673 [UFm] = UFm,
674 [ULr] = URr,
675 [ULm] = ULm,
676 [UBr] = UBr,
677 [UBm] = UBm,
678 [URr] = ULr,
679 [URm] = URm,
680 [DFr] = DFr,
681 [DFm] = DFm,
682 [DLr] = DLr,
683 [DLm] = DRm,
684 [DBr] = DBr,
685 [DBm] = DBm,
686 [DRr] = DRr,
687 [DRm] = DLm,
688 [RUr] = FRr,
689 [RUm] = FLm,
690 [RFr] = LFr,
691 [RFm] = RFm,
692 [RDr] = BLr,
693 [RDm] = BRm,
694 [RBr] = RBr,
695 [RBm] = LBm,
696 [LUr] = FLr,
697 [LUm] = FRm,
698 [LFr] = RFr,
699 [LFm] = LFm,
700 [LDr] = BRr,
701 [LDm] = BLm,
702 [LBr] = LBr,
703 [LBm] = RBm,
704 [FUr] = FUr,
705 [FUm] = FUm,
706 [FRr] = RUr,
707 [FRm] = LUm,
708 [FDr] = BUr,
709 [FDm] = BUm,
710 [FLr] = LUr,
711 [FLm] = RUm,
712 [BUr] = FDr,
713 [BUm] = FDm,
714 [BRr] = LDr,
715 [BRm] = RDm,
716 [BDr] = BDr,
717 [BDm] = BDm,
718 [BLr] = RDr,
719 [BLm] = LDm,
720};

Generated with cgit - Back to sebastiano.tronto.net