aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2023-11-01 19:26:09 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2023-11-01 19:26:09 +0100
commit08efbd62ef956327924aaea1fcfa97fde4dc1678 (patch)
tree656d9f6ab50eee73a6e7fd79098e0dcfa1fc9034 /utils
parentd65ce8e86b517ef3f7d48cf5ded1101444e05b2b (diff)
downloadnissy-core-08efbd62ef956327924aaea1fcfa97fde4dc1678.tar.gz
nissy-core-08efbd62ef956327924aaea1fcfa97fde4dc1678.zip
Reworked moves and transformations, moved some stuff
Diffstat (limited to '')
-rwxr-xr-xutils/gentranscode.sh47
-rwxr-xr-xutils/gentransswitch.sh8
2 files changed, 45 insertions, 10 deletions
diff --git a/utils/gentranscode.sh b/utils/gentranscode.sh
index f820d7c..63888c6 100755
--- a/utils/gentranscode.sh
+++ b/utils/gentranscode.sh
@@ -3,15 +3,42 @@
3gcc -DDEBUG h48_to_src.c ../src/cube.c -o h48_to_src 3gcc -DDEBUG h48_to_src.c ../src/cube.c -o h48_to_src
4gcc -DDEBUG invert.c ../src/cube.c -o invert 4gcc -DDEBUG invert.c ../src/cube.c -o invert
5 5
6for f in transform_??_???.txt; do 6# Old version
7 trans="$(echo $f | sed 's/.*_// ; s/\.txt//')" 7genarray() {
8 printf '[%s] = ' "$trans" 8 for f in transform_??_???.txt; do
9 if [ "$1" = "-i" ]; then 9 trans="$(echo $f | sed 's/.*_// ; s/\.txt//')"
10 ./invert <"$f" | ./h48_to_src 10 printf '[%s] = ' "$trans"
11 else 11 if [ "$1" = "-i" ]; then
12 ./h48_to_src <"$f" 12 ./invert <"$f" | ./h48_to_src
13 fi 13 else
14 printf ',\n' 14 ./h48_to_src <"$f"
15done 15 fi
16 printf ',\n'
17 done
18}
16 19
20genfuncs() {
21 for f in transform_??_???.txt; do
22 trans="$(echo $f | sed 's/.*_// ; s/\.txt//')"
23 printf 'static inline cube_t\ninline_trans_%s' "$trans"
24 [ "$1" = "-i" ] && printf '_inverse'
25 printf '(cube_t c)\n{\n'
26 printf '\tcube_t ret;\n'
27 printf '\tcube_t tn = {\n'
28 ./h48_to_src <"$f" | sed 's/^/\t/' | \
29 tail -n 3 | head -n 2
30 printf '\t};\n\tcube_t ti = {\n'
31 ./invert <"$f" | ./h48_to_src | sed 's/^/\t/' | \
32 tail -n 3 | head -n 2
33 printf '\t};\n\n'
34 printf '\tret = compose(tn, c);\n'
35 printf '\tret = compose(ret, ti);\n'
36 if [ -n "$(echo "$trans" | grep "m")" ]; then
37 printf '\tret = flipallcorners(ret);\n'
38 fi
39 printf '\n\treturn ret;\n}\n\n'
40 done
41}
42
43genfuncs
17rm -f h48_to_src invert 44rm -f h48_to_src invert
diff --git a/utils/gentransswitch.sh b/utils/gentransswitch.sh
new file mode 100755
index 0000000..6883973
--- /dev/null
+++ b/utils/gentransswitch.sh
@@ -0,0 +1,8 @@
1#!/bin/sh
2
3printf '\tswitch (t) {\n'
4for f in transform_??_???.txt; do
5 t="$(echo $f | sed 's/.*_// ; s/\.txt//')"
6 printf '\tcase %s:\n\t\treturn inline_trans_%s(c);\n' "$t" "$t"
7done
8printf '\t}\n'

Generated with cgit - Back to sebastiano.tronto.net