From 08efbd62ef956327924aaea1fcfa97fde4dc1678 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Wed, 1 Nov 2023 19:26:09 +0100 Subject: Reworked moves and transformations, moved some stuff --- utils/gentranscode.sh | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) (limited to 'utils/gentranscode.sh') 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 @@ gcc -DDEBUG h48_to_src.c ../src/cube.c -o h48_to_src gcc -DDEBUG invert.c ../src/cube.c -o invert -for f in transform_??_???.txt; do - trans="$(echo $f | sed 's/.*_// ; s/\.txt//')" - printf '[%s] = ' "$trans" - if [ "$1" = "-i" ]; then - ./invert <"$f" | ./h48_to_src - else - ./h48_to_src <"$f" - fi - printf ',\n' -done +# Old version +genarray() { + for f in transform_??_???.txt; do + trans="$(echo $f | sed 's/.*_// ; s/\.txt//')" + printf '[%s] = ' "$trans" + if [ "$1" = "-i" ]; then + ./invert <"$f" | ./h48_to_src + else + ./h48_to_src <"$f" + fi + printf ',\n' + done +} +genfuncs() { + for f in transform_??_???.txt; do + trans="$(echo $f | sed 's/.*_// ; s/\.txt//')" + printf 'static inline cube_t\ninline_trans_%s' "$trans" + [ "$1" = "-i" ] && printf '_inverse' + printf '(cube_t c)\n{\n' + printf '\tcube_t ret;\n' + printf '\tcube_t tn = {\n' + ./h48_to_src <"$f" | sed 's/^/\t/' | \ + tail -n 3 | head -n 2 + printf '\t};\n\tcube_t ti = {\n' + ./invert <"$f" | ./h48_to_src | sed 's/^/\t/' | \ + tail -n 3 | head -n 2 + printf '\t};\n\n' + printf '\tret = compose(tn, c);\n' + printf '\tret = compose(ret, ti);\n' + if [ -n "$(echo "$trans" | grep "m")" ]; then + printf '\tret = flipallcorners(ret);\n' + fi + printf '\n\treturn ret;\n}\n\n' + done +} + +genfuncs rm -f h48_to_src invert -- cgit v1.3