blob: 63888c62ee427e8041fbb4159ba51a25a81f9579 (
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
43
44
|
#!/bin/sh
gcc -DDEBUG h48_to_src.c ../src/cube.c -o h48_to_src
gcc -DDEBUG invert.c ../src/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_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
|