aboutsummaryrefslogtreecommitdiff
path: root/utils/gentranscode.sh
blob: e3e199e01f9a17bb6b1b2906b6afb050b5f4929e (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
#!/bin/sh

cc -DDEBUG h48_to_lst.c ../src/nissy.c -o h48_to_lst
cc -DDEBUG invert.c ../src/nissy.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 cubes/transform_??_???.txt; do
		trans="$(echo $f | sed 's/.*_// ; s/\.txt//')"
		printf '#define _trans_cube_%s fastcube( \\\n    ' "$trans"
		./h48_to_lst <"$f"
		printf ')\n'
		printf '#define _trans_cube_%s_inverse fastcube( \\\n    ' \
			"$trans"
		./invert <"$f" | ./h48_to_lst
		printf ')\n'
	done
}

gen
rm -f h48_to_lst invert

Generated with cgit - Back to sebastiano.tronto.net