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

Method initp2

app/src/main/java/solver/Petrus.java:83–115  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

81
82 private static boolean inip2 = false;
83 private static void initp2() {
84 if (inip2) return;
85 int i, j;
86 for (i = 0; i < 66; i++)
87 for (j = 0; j < 4; j++)
88 for (int k = 0; k < 6; k++) {
89 int d = edgemv(i, j, 2, k);
90 if (j < 2) epm2[i * 2 + j][k] = (short) (d >> 3);
91 eom2[i * 4 + j][k] = (short) ((d / 16) << 2 | d & 3);
92 }
93 for (i = 0; i < 528; i++) ed2[i] = -1;
94 ed2[44 * 8] = ed2[21 * 8] = ed2[17 * 8] = 0;
95 int c = 3;
96 for (int d = 0; d < 6; d++) {
97 //c = 0;
98 for (i = 0; i < 132; i++)
99 for (j = 0; j < 4; j++)
100 if (ed2[i * 4 + j] == d)
101 for (int l = 0; l < 3; l++) {
102 int x = i, y = j;
103 for (int m = 0; m < 3; m++) {
104 y = eom2[(x / 2) << 2 | y & 3][moves2[l]] & 3;
105 x = epm2[x][moves2[l]];
106 if (ed2[x * 4 + y] < 0) {
107 ed2[x * 4 + y] = (byte) (d + 1);
108 c++;
109 }
110 }
111 }
112 Log.w("dct", d+1+"\t"+c);
113 }
114 inip2 = true;
115 }
116
117
118 private static int[] seq = new int[10];

Callers 1

solvePetrusMethod · 0.95

Calls 1

edgemvMethod · 0.95

Tested by

no test coverage detected