aboutsummaryrefslogtreecommitdiff
path: root/old/moves_trans/gentranscode.sh
blob: 198ac93c5dff0ebd5c264d153fc8f74fb47b67ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh

type="${1:-src}"

gcc -DDEBUG h48_to_"$type".c ../cube.c -o h48_to_"$type"
gcc -DDEBUG invert.c ../cube.c -o invert

# 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_"$type"
		else
			./h48_to_"$type" <"$f"
		fi
		printf ',\n'
	done
}

genfuncs() {
	for f in transform_??_???.txt; do
		trans="$(echo $f | sed 's/.*_// ; s/\.txt//')"
		printf 'static inline cube_fast_t\n_trans_%s' "$trans"
		printf '(cube_fast_t c)\n{\n'
		printf '\tcube_fast_t ret;\n\n'
		printf '\tcube_fast_t tn = '
		./h48_to_"$type" <"$f" | sed '2,4s/^/\t/'
		printf ';\n\tcube_fast_t ti = '
		./invert <"$f" | ./h48_to_"$type" | sed '2,4 s/^/\t/'
		printf ';\n\n\tret = compose_fast(tn, c);\n'
		printf '\tret = compose_fast(ret, ti);\n'
		if [ -n "$(echo "$trans" | grep "m")" ]; then
			printf '\tret = invertco_fast(ret);\n'
		fi
		printf '\n\treturn ret;\n}\n\n'
	done
}

genfuncs
rm -f h48_to_"$type" invert

Generated with cgit - Back to sebastiano.tronto.net