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

Method move

app/src/main/java/cs/threephase/Center2.java:181–235  ·  view source on GitHub ↗
(int m)

Source from the content-addressed store, hash-verified

179
180
181 private void move(int m) {
182 parity ^= pmv[m];
183 int key = m % 3;
184 m /= 3;
185 switch (m) {
186 case 0: //U
187 swap(ct, 0, 1, 2, 3, key);
188 break;
189 case 1: //R
190 swap(rl, 0, 1, 2, 3, key);
191 break;
192 case 2: //F
193 swap(ct, 8, 9, 10, 11, key);
194 break;
195 case 3: //D
196 swap(ct, 4, 5, 6, 7, key);
197 break;
198 case 4: //L
199 swap(rl, 4, 5, 6, 7, key);
200 break;
201 case 5: //B
202 swap(ct, 12, 13, 14, 15, key);
203 break;
204 case 6: //u
205 swap(ct, 0, 1, 2, 3, key);
206 swap(rl, 0, 5, 4, 1, key);
207 swap(ct, 8, 9, 12, 13, key);
208 break;
209 case 7: //r
210 swap(rl, 0, 1, 2, 3, key);
211 swap(ct, 1, 15, 5, 9, key);
212 swap(ct, 2, 12, 6, 10, key);
213 break;
214 case 8: //f
215 swap(ct, 8, 9, 10, 11, key);
216 swap(rl, 0, 3, 6, 5, key);
217 swap(ct, 3, 2, 5, 4, key);
218 break;
219 case 9: //d
220 swap(ct, 4, 5, 6, 7, key);
221 swap(rl, 3, 2, 7, 6, key);
222 swap(ct, 11, 10, 15, 14, key);
223 break;
224 case 10: //l
225 swap(rl, 4, 5, 6, 7, key);
226 swap(ct, 0, 8, 4, 14, key);
227 swap(ct, 3, 11, 7, 13, key);
228 break;
229 case 11: //b
230 swap(ct, 12, 13, 14, 15, key);
231 swap(rl, 1, 4, 7, 2, key);
232 swap(ct, 1, 0, 7, 6, key);
233 break;
234 }
235 }
236}

Callers 3

initRlMethod · 0.95
initCtMethod · 0.95
rotMethod · 0.95

Calls 1

swapMethod · 0.45

Tested by

no test coverage detected