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

Method init

app/src/main/java/solver/Tower.java:18–56  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

16
17 private static boolean ini = false;
18 public static void init() {
19 if (ini) return;
20 int[] arr = new int[8];
21 /* 0 1
22 * 3 2
23 *
24 * 4 5
25 * 7 6
26 */
27 for (int i = 0; i < 40320; i++) {
28 for (int j = 0; j < 4; j++) {
29 Utils.set8Perm(arr, 8, i);
30 switch (j) {
31 case 0: Utils.circle(arr, 0, 3, 2, 1); break; //U
32 case 1: Utils.swap(arr, 1, 5, 2, 6); break; //Utils.circle(arr, 1, 2, 5, 6); //R2
33 case 2: Utils.swap(arr, 2, 4, 3, 5); break; //Utils.circle(arr, 2, 3, 4, 5); //F2
34 case 3: Utils.circle(arr, 4, 7, 6, 5); break; //D
35 }
36 cpm[i][j] = (char) Utils.get8Perm(arr, 8);
37 }
38 }
39 for (int i = 1; i < 40320; i++) cpd[i] = -1;
40 cpd[0] = 0;
41 Utils.createPrun(cpd, 13, cpm, 3);
42 /* - 0
43 * 2 1
44 */
45 for (int i = 0; i < 6; i++) {
46 for (int j = 0; j < 4; j++) {
47 Utils.idxToPerm(arr, i, 3, false);
48 switch (j) {
49 case 1: Utils.swap(arr, 0, 1); break; //R2
50 case 2: Utils.swap(arr, 1, 2); break; //F2
51 }
52 epm[i][j] = (short) Utils.permToIdx(arr, 3, false);
53 }
54 }
55 ini = true;
56 }
57
58 private static boolean search(int cp, int ep, int d, int lf) {
59 if (d == 0) return cp == 0 && ep == 0;

Callers 2

initMethod · 0.95
scrambleMethod · 0.95

Calls 7

set8PermMethod · 0.95
circleMethod · 0.95
swapMethod · 0.95
get8PermMethod · 0.95
createPrunMethod · 0.95
idxToPermMethod · 0.95
permToIdxMethod · 0.95

Tested by

no test coverage detected