1 int transformation[(2*19 - 1) * (2*19 - 1)][8];
2
3 const int transformation2[8][2][2] = {
4 {{1, 0}, {0, 1}},
5 {{0, 1}, {-1, 0}},
6 {{-1, 0}, {0, -1}},
7 {{0, -1}, {1, 0}},
8 {{0, -1}, {-1, 0}},
9 {{-1, 0}, {0, 1}},
10 {{0, 1}, {1, 0}},
11 {{1, 0}, {0, -1}}
12 };
13
14 void
transformation_init(void)15 transformation_init (void)
16 {
17 int k;
18 int dx;
19 int dy;
20
21 for (k = 0; k < 8; k++)
22 {
23 for (dy = -19 + 1; dy <= 19 - 1; dy++)
24 {
25 for (dx = -19 + 1; dx <= 19 - 1; dx++)
26 {
27 int tx;
28 int ty;
29 do
30 {
31 *&tx =
32 transformation2[k][0][0] * (dx) +
33 transformation2[k][0][1] * (dy);
34 *&ty =
35 transformation2[k][1][0] * (dx) +
36 transformation2[k][1][1] * (dy);
37 }
38 while (0);
39 transformation[((dy + 19 - 1) * (2 * 19 - 1) +
40 (dx + 19 - 1))][k] = ((tx) * (19 + 1) + (ty));
41 }
42 }
43 }
44 }
45