From ae055f1fc993d406939f57f11553d218e1efde82 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sat, 13 Apr 2024 09:24:47 +0200 Subject: Simplified moves and trans --- utils/gentranscode.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 utils/gentranscode.sh (limited to 'utils/gentranscode.sh') diff --git a/utils/gentranscode.sh b/utils/gentranscode.sh new file mode 100755 index 0000000..4fe7df8 --- /dev/null +++ b/utils/gentranscode.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +gcc -DDEBUG h48_to_lst.c ../cube.c -o h48_to_lst +gcc -DDEBUG invert.c ../cube.c -o invert + +lineavx() { printf '#define _trans_cube_%s ' "$1"; } +linesrc() { printf '_static cube_fast_t _trans_cube_%s = ' "$1"; } +sedavx() { sed '1,2s/$/ \\/ ; 3s/$/)/ ; 3q'; } +sedsrc() { sed '3s/$/ };/ ; 3q'; } + +gen() { + for f in transform_??_???.txt; do + trans="$(echo $f | sed 's/.*_// ; s/\.txt//')" + printf '[%s] = {\n' "$trans" + + printf '\t[NORMAL] = {\n' + lst="$(./h48_to_lst <"$f")" + c="$(echo $lst | cut -d ' ' -f -8 | rev | cut -c 2- | rev)" + e="$(echo $lst | cut -d ' ' -f 9-)" + printf '\t\t.corner = {%s},\n' "$c" + printf '\t\t.edge = {%s}\n' "$e" + printf '\t},\n' + + printf '\t[INVERSE] = {\n' + inv="$(./invert <"$f" | ./h48_to_lst)" + c="$(echo $inv | cut -d ' ' -f -8 | rev | cut -c 2- | rev)" + e="$(echo $inv | cut -d ' ' -f 9-)" + printf '\t\t.corner = {%s},\n' "$c" + printf '\t\t.edge = {%s}\n' "$e" + printf '\t}\n' + + printf '},\n' + done +} + +gen +rm -f h48_to_lst invert -- cgit v1.3