aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2023-10-22 22:46:52 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2023-10-22 22:46:52 +0200
commit4a7e2dccaa54bc42a4b67cf35cf8b926cf357bb3 (patch)
treefa08602a6225d45d8d3fb69a258980a63c3383d4 /utils
parent97b3aa48a8d6ccdf2a3ce587bf8ac130c00c1b64 (diff)
downloadnissy-core-4a7e2dccaa54bc42a4b67cf35cf8b926cf357bb3.tar.gz
nissy-core-4a7e2dccaa54bc42a4b67cf35cf8b926cf357bb3.zip
Added transformations (and fixed tests)
Diffstat (limited to 'utils')
-rwxr-xr-xutils/gentranscode.sh12
-rwxr-xr-xutils/gentranstests.sh3
-rw-r--r--utils/h48_to_src.c20
-rw-r--r--utils/trans_move_array.txt192
4 files changed, 226 insertions, 1 deletions
diff --git a/utils/gentranscode.sh b/utils/gentranscode.sh
new file mode 100755
index 0000000..abc3480
--- /dev/null
+++ b/utils/gentranscode.sh
@@ -0,0 +1,12 @@
1#!/bin/sh
2
3gcc -DDEBUG h48_to_src.c ../src/cube.c
4
5for f in transform_??_???.txt; do
6 trans="$(echo $f | sed 's/.*_// ; s/\.txt//')"
7 printf '[%s] = ' "$trans"
8 ./a.out <"$f"
9 printf ',\n'
10done
11
12rm a.out
diff --git a/utils/gentranstests.sh b/utils/gentranstests.sh
index 0186480..f6d6acc 100755
--- a/utils/gentranstests.sh
+++ b/utils/gentranstests.sh
@@ -23,9 +23,10 @@ while read -r line; do
23 i=$((i+1)) 23 i=$((i+1))
24 24
25 mirrored="mirrored $trans_piece" 25 mirrored="mirrored $trans_piece"
26 move2m="$(echo ${move2} | tr 'LR' 'RL')3"
26 27
27 file1="$(ls | grep move_*_${move1}.txt)" 28 file1="$(ls | grep move_*_${move1}.txt)"
28 file2="$(ls | grep move_*_${move2}.txt)" 29 file2="$(ls | grep move_*_${move2m}.txt)"
29 echo "$mirrored" >"$outdir/${i}_${trans_piece}m_${move1}.in" 30 echo "$mirrored" >"$outdir/${i}_${trans_piece}m_${move1}.in"
30 cat "$file1" >>"$outdir/${i}_${trans_piece}m_${move1}.in" 31 cat "$file1" >>"$outdir/${i}_${trans_piece}m_${move1}.in"
31 cp "$file2" "$outdir/${i}_${trans_piece}m_${move1}.out" 32 cp "$file2" "$outdir/${i}_${trans_piece}m_${move1}.out"
diff --git a/utils/h48_to_src.c b/utils/h48_to_src.c
new file mode 100644
index 0000000..b79e94b
--- /dev/null
+++ b/utils/h48_to_src.c
@@ -0,0 +1,20 @@
1#include <stdio.h>
2#include <inttypes.h>
3#include <stdbool.h>
4
5#include "../src/cube.h"
6
7#define STRLENMAX 1000
8
9int main() {
10 char str[STRLENMAX];
11 cube_t cube;
12
13 fgets(str, STRLENMAX, stdin);
14 cube = readcube(H48, str);
15 writecube(SRC, cube, str);
16 fputs(str, stdout);
17 /* putc('\n', stdout); */
18
19 return 0;
20}
diff --git a/utils/trans_move_array.txt b/utils/trans_move_array.txt
new file mode 100644
index 0000000..881ad0e
--- /dev/null
+++ b/utils/trans_move_array.txt
@@ -0,0 +1,192 @@
1[UFr] = {
2 .c = {0, 1, 2, 3, 4, 5, 6, 7},
3 .e = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
4},
5[ULr] = {
6 .c = {4, 5, 7, 6, 1, 0, 2, 3},
7 .e = {5, 4, 7, 6, 0, 1, 2, 3, 25, 26, 27, 24}
8},
9[UBr] = {
10 .c = {1, 0, 3, 2, 5, 4, 7, 6},
11 .e = {1, 0, 3, 2, 5, 4, 7, 6, 10, 11, 8, 9}
12},
13[URr] = {
14 .c = {5, 4, 6, 7, 0, 1, 3, 2},
15 .e = {4, 5, 6, 7, 1, 0, 3, 2, 27, 24, 25, 26}
16},
17[DFr] = {
18 .c = {2, 3, 0, 1, 6, 7, 4, 5},
19 .e = {3, 2, 1, 0, 6, 7, 4, 5, 9, 8, 11, 10}
20},
21[DLr] = {
22 .c = {7, 6, 4, 5, 2, 3, 1, 0},
23 .e = {6, 7, 4, 5, 2, 3, 0, 1, 26, 25, 24, 27}
24},
25[DBr] = {
26 .c = {3, 2, 1, 0, 7, 6, 5, 4},
27 .e = {2, 3, 0, 1, 7, 6, 5, 4, 11, 10, 9, 8}
28},
29[DRr] = {
30 .c = {6, 7, 5, 4, 3, 2, 0, 1},
31 .e = {7, 6, 5, 4, 3, 2, 1, 0, 24, 27, 26, 25}
32},
33[RUr] = {
34 .c = {64, 67, 65, 66, 37, 38, 36, 39},
35 .e = {20, 23, 22, 21, 24, 27, 26, 25, 0, 1, 2, 3}
36},
37[RFr] = {
38 .c = {38, 37, 36, 39, 64, 67, 66, 65},
39 .e = {24, 27, 26, 25, 23, 20, 21, 22, 19, 16, 17, 18}
40},
41[RDr] = {
42 .c = {67, 64, 66, 65, 38, 37, 39, 36},
43 .e = {23, 20, 21, 22, 27, 24, 25, 26, 2, 3, 0, 1}
44},
45[RBr] = {
46 .c = {37, 38, 39, 36, 67, 64, 65, 66},
47 .e = {27, 24, 25, 26, 20, 23, 22, 21, 17, 18, 19, 16}
48},
49[LUr] = {
50 .c = {65, 66, 64, 67, 36, 39, 37, 38},
51 .e = {21, 22, 23, 20, 26, 25, 24, 27, 1, 0, 3, 2}
52},
53[LFr] = {
54 .c = {36, 39, 38, 37, 66, 65, 64, 67},
55 .e = {25, 26, 27, 24, 21, 22, 23, 20, 16, 19, 18, 17}
56},
57[LDr] = {
58 .c = {66, 65, 67, 64, 39, 36, 38, 37},
59 .e = {22, 21, 20, 23, 25, 26, 27, 24, 3, 2, 1, 0}
60},
61[LBr] = {
62 .c = {39, 36, 37, 38, 65, 66, 67, 64},
63 .e = {26, 25, 24, 27, 22, 21, 20, 23, 18, 17, 16, 19}
64},
65[FUr] = {
66 .c = {68, 70, 69, 71, 32, 34, 33, 35},
67 .e = {16, 19, 18, 17, 9, 8, 11, 10, 5, 4, 7, 6}
68},
69[FRr] = {
70 .c = {32, 34, 35, 33, 70, 68, 69, 71},
71 .e = {8, 9, 10, 11, 16, 19, 18, 17, 20, 23, 22, 21}
72},
73[FDr] = {
74 .c = {70, 68, 71, 69, 34, 32, 35, 33},
75 .e = {19, 16, 17, 18, 8, 9, 10, 11, 7, 6, 5, 4}
76},
77[FLr] = {
78 .c = {34, 32, 33, 35, 68, 70, 71, 69},
79 .e = {9, 8, 11, 10, 19, 16, 17, 18, 22, 21, 20, 23}
80},
81[BUr] = {
82 .c = {69, 71, 68, 70, 33, 35, 32, 34},
83 .e = {17, 18, 19, 16, 11, 10, 9, 8, 4, 5, 6, 7}
84},
85[BRr] = {
86 .c = {35, 33, 32, 34, 69, 71, 70, 68},
87 .e = {11, 10, 9, 8, 18, 17, 16, 19, 23, 20, 21, 22}
88},
89[BDr] = {
90 .c = {71, 69, 70, 68, 35, 33, 34, 32},
91 .e = {18, 17, 16, 19, 10, 11, 8, 9, 6, 7, 4, 5}
92},
93[BLr] = {
94 .c = {33, 35, 34, 32, 71, 69, 68, 70},
95 .e = {10, 11, 8, 9, 17, 18, 19, 16, 21, 22, 23, 20}
96},
97[UFm] = {
98 .c = {4, 5, 6, 7, 0, 1, 2, 3},
99 .e = {0, 1, 2, 3, 5, 4, 7, 6, 9, 8, 11, 10}
100},
101[ULm] = {
102 .c = {0, 1, 3, 2, 5, 4, 6, 7},
103 .e = {4, 5, 6, 7, 0, 1, 2, 3, 24, 27, 26, 25}
104},
105[UBm] = {
106 .c = {5, 4, 7, 6, 1, 0, 3, 2},
107 .e = {1, 0, 3, 2, 4, 5, 6, 7, 11, 10, 9, 8}
108},
109[URm] = {
110 .c = {1, 0, 2, 3, 4, 5, 7, 6},
111 .e = {5, 4, 7, 6, 1, 0, 3, 2, 26, 25, 24, 27}
112},
113[DFm] = {
114 .c = {6, 7, 4, 5, 2, 3, 0, 1},
115 .e = {3, 2, 1, 0, 7, 6, 5, 4, 8, 9, 10, 11}
116},
117[DLm] = {
118 .c = {3, 2, 0, 1, 6, 7, 5, 4},
119 .e = {7, 6, 5, 4, 2, 3, 0, 1, 27, 24, 25, 26}
120},
121[DBm] = {
122 .c = {7, 6, 5, 4, 3, 2, 1, 0},
123 .e = {2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9}
124},
125[DRm] = {
126 .c = {2, 3, 1, 0, 7, 6, 4, 5},
127 .e = {6, 7, 4, 5, 3, 2, 1, 0, 25, 26, 27, 24}
128},
129[RUm] = {
130 .c = {68, 71, 69, 70, 33, 34, 32, 35},
131 .e = {21, 22, 23, 20, 25, 26, 27, 24, 0, 1, 2, 3}
132},
133[RFm] = {
134 .c = {34, 33, 32, 35, 68, 71, 70, 69},
135 .e = {25, 26, 27, 24, 22, 21, 20, 23, 19, 16, 17, 18}
136},
137[RDm] = {
138 .c = {71, 68, 70, 69, 34, 33, 35, 32},
139 .e = {22, 21, 20, 23, 26, 25, 24, 27, 2, 3, 0, 1}
140},
141[RBm] = {
142 .c = {33, 34, 35, 32, 71, 68, 69, 70},
143 .e = {26, 25, 24, 27, 21, 22, 23, 20, 17, 18, 19, 16}
144},
145[LUm] = {
146 .c = {69, 70, 68, 71, 32, 35, 33, 34},
147 .e = {20, 23, 22, 21, 27, 24, 25, 26, 1, 0, 3, 2}
148},
149[LFm] = {
150 .c = {32, 35, 34, 33, 70, 69, 68, 71},
151 .e = {24, 27, 26, 25, 20, 23, 22, 21, 16, 19, 18, 17}
152},
153[LDm] = {
154 .c = {70, 69, 71, 68, 35, 32, 34, 33},
155 .e = {23, 20, 21, 22, 24, 27, 26, 25, 3, 2, 1, 0}
156},
157[LBm] = {
158 .c = {35, 32, 33, 34, 69, 70, 71, 68},
159 .e = {27, 24, 25, 26, 23, 20, 21, 22, 18, 17, 16, 19}
160},
161[FUm] = {
162 .c = {64, 66, 65, 67, 36, 38, 37, 39},
163 .e = {16, 19, 18, 17, 8, 9, 10, 11, 4, 5, 6, 7}
164},
165[FRm] = {
166 .c = {36, 38, 39, 37, 66, 64, 65, 67},
167 .e = {9, 8, 11, 10, 16, 19, 18, 17, 21, 22, 23, 20}
168},
169[FDm] = {
170 .c = {66, 64, 67, 65, 38, 36, 39, 37},
171 .e = {19, 16, 17, 18, 9, 8, 11, 10, 6, 7, 4, 5}
172},
173[FLm] = {
174 .c = {38, 36, 37, 39, 64, 66, 67, 65},
175 .e = {8, 9, 10, 11, 19, 16, 17, 18, 23, 20, 21, 22}
176},
177[BUm] = {
178 .c = {65, 67, 64, 66, 37, 39, 36, 38},
179 .e = {17, 18, 19, 16, 10, 11, 8, 9, 5, 4, 7, 6}
180},
181[BRm] = {
182 .c = {39, 37, 36, 38, 65, 67, 66, 64},
183 .e = {10, 11, 8, 9, 18, 17, 16, 19, 22, 21, 20, 23}
184},
185[BDm] = {
186 .c = {67, 65, 66, 64, 39, 37, 38, 36},
187 .e = {18, 17, 16, 19, 11, 10, 9, 8, 7, 6, 5, 4}
188},
189[BLm] = {
190 .c = {37, 39, 38, 36, 67, 65, 64, 66},
191 .e = {11, 10, 9, 8, 17, 18, 19, 16, 20, 23, 22, 21}
192},

Generated with cgit - Back to sebastiano.tronto.net