MCPcopy Create free account
hub / github.com/MeigenChou/DCTimer-Android / init

Method init

app/src/main/java/solver/Cube2Layer.java:23–87  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

21 };
22
23 private static void init() {
24 for (int i = 0; i < 35; i++) {
25 for (int j = 0; j < 27; j++)
26 for (int k = 0; k < 3; k++) {
27 int d = getmv(i, 3, j, k);
28 int p = d >> 7;
29 com3[i * 27 + j][k] = (short) (p / 6 * 27 + (d & 127));
30 if (j < 6)
31 cpm3[i * 6 + j][k] = (short) p;
32 }
33 for (int j = 0; j < 81; j++)
34 for (int k = 0; k < 3; k++) {
35 int d = getmv(i, 4, j, k);
36 int p = d >> 7;
37 com4[i * 81 + j][k] = (short) (p / 24 * 81 + (d & 127));
38 if (j < 24)
39 cpm4[i * 24 + j][k] = (short) p;
40 }
41 }
42 for (int i = 0; i < 5670; i++) prun3[i] = -1;
43 prun3[0] = prun3[7 * 162] = prun3[14 * 162] = 0;
44 int c = 3;
45 for (int d = 0; d < 6; d++) {
46 //c = 0;
47 for (int i = 0; i < 210; i++)
48 for (int j = 0; j < 27; j++)
49 if (prun3[i * 27 + j] == d)
50 for (int l = 0; l < 3; l++) {
51 int x = i, y = j;
52 for (int m = 0; m < 3; m++) {
53 y = com3[x / 6 * 27 + y % 27][l] % 27;
54 x = cpm3[x][l];
55 if (prun3[x * 27 + y] < 0) {
56 prun3[x * 27 + y] = (byte) (d + 1);
57 c++;
58 }
59 }
60 }
61 Log.w("dct", d+1+"\t"+c);
62 }
63
64 for (int i = 0; i < 68040; i++) prun4[i] = -1;
65 for (int i = 0; i < 3; i++)
66 for (int j = 0; j < 12; j++)
67 prun4[solved[i][j]] = 0;
68 c = 36;
69 for (int d = 0; d < 6; d++) {
70 //c = 0;
71 for (int i = 0; i < 840; i++)
72 for (int j = 0; j < 81; j++)
73 if (prun4[i * 81 + j] == d)
74 for (int l = 0; l < 3; l++) {
75 int x = i, y = j;
76 for (int m = 0; m < 3; m++) {
77 y = com4[x / 24 * 81 + y % 81][l] % 81;
78 x = cpm4[x][l];
79 if (prun4[x * 81 + y] < 0) {
80 prun4[x * 81 + y] = (byte) (d + 1);

Callers 1

Cube2LayerClass · 0.95

Calls 1

getmvMethod · 0.95

Tested by

no test coverage detected