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

Method initr2

app/src/main/java/solver/Roux.java:89–149  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

87 }
88
89 private static void initr2() {
90 if (ini2) return;
91 int i, j;
92 for (i = 0; i < 84; i++)
93 for (j = 0; j < 8; j++)
94 for (int k = 0; k < 3; k++) {
95 int d = edgemv2(i, j, j, k);
96 if (j < 6) epm2[i * 6 + j][k] = (short) (d >> 3);
97 eom2[i * 8 + j][k] = (short) ((d / 48) << 3 | d & 7);
98 }
99 for (i = 0; i < 15; i++)
100 for (j = 0; j < 9; j++)
101 for (int k = 0; k < 3; k++) {
102 int d = cornmv2(i, j, k);
103 if (j < 2) cpm2[i * 2 + j][k] = (short) (d / 9);
104 com2[i * 9 + j][k] = (short) (d / 18 * 9 + d % 9);
105 }
106 for (i = 0; i < 4032; i++) ed2[i] = -1;
107 ed2[0] = 0;
108 int c = 1;
109 for (int d = 0; d < 11; d++) {
110 //c = 0;
111 for (i = 0; i < 504; i++)
112 for (j = 0; j < 8; j++)
113 if (ed2[i * 8 + j] == d)
114 for (int l = 0; l < 3; l++) {
115 int x = i, y = j;
116 for (int m = 0; m < 3; m++) {
117 y = eom2[(x / 6) << 3 | y & 7][l] & 7;
118 x = epm2[x][l];
119 if (ed2[x * 8 + y] < 0) {
120 ed2[x * 8 + y] = (byte) (d + 1);
121 c++;
122 }
123 }
124 }
125 Log.w("dct", d+1+"\t"+c);
126 }
127 for (i = 0; i < 270; i++) cd2[i] = -1;
128 cd2[14 * 18] = 0;
129 c = 1;
130 for (int d = 0; d < 7; d++) {
131 //c = 0;
132 for (i = 0; i < 30; i++)
133 for (j = 0; j < 9; j++)
134 if (cd2[i * 9 + j] == d)
135 for (int l = 0; l < 3; l++) {
136 int x = i, y = j;
137 for (int m = 0; m < 3; m++) {
138 y = com2[x / 2 * 9 + y % 9][l] % 9;
139 x = cpm2[x][l];
140 if (cd2[x * 9 + y] < 0) {
141 cd2[x * 9 + y] = (byte) (d + 1);
142 c++;
143 }
144 }
145 }
146 Log.w("dct", d+1+" "+c);

Callers

nothing calls this directly

Calls 2

edgemv2Method · 0.95
cornmv2Method · 0.95

Tested by

no test coverage detected