MCPcopy Index your code
hub / github.com/MeigenChou/DCTimer-Android / init

Method init

app/src/main/java/solver/Domino.java:17–54  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

15
16 private static boolean ini = false;
17 private static void init() {
18 if (ini) return;
19 long t = System.currentTimeMillis();
20 int[] arr = new int[8];
21 int[] temp = new int[8];
22 for (int i = 0; i < 40320; i++) {
23 Utils.set8Perm(temp, 8, i);
24 for (int j = 0; j < 5; j++) {
25 //Util.set8Perm(arr, i);
26 System.arraycopy(temp, 0, arr, 0, 8);
27 switch (j) {
28 case 0: Utils.circle(arr, 0, 3, 2, 1); break; //U
29 case 1: Utils.swap(arr, 0, 7, 3, 4); break; //L
30 case 2: Utils.swap(arr, 1, 6, 2, 5); break; //R
31 case 3: Utils.swap(arr, 3, 6, 2, 7); break; //F
32 case 4: Utils.swap(arr, 0, 5, 1, 4); break; //B
33 }
34 cpm[i][j] = (char) Utils.get8Perm(arr, 8);
35 System.arraycopy(temp, 0, arr, 0, 8);
36 switch (j) {
37 case 0: Utils.circle(arr, 0, 3, 2, 1); break; //U
38 case 1: Utils.swap(arr, 3, 7); break; //L
39 case 2: Utils.swap(arr, 1, 5); break; //R
40 case 3: Utils.swap(arr, 2, 6); break; //F
41 case 4: Utils.swap(arr, 0, 4); break; //B
42 }
43 epm[i][j] = (char) Utils.get8Perm(arr, 8);
44 }
45 }
46
47 for (int i = 1; i < 40320; i++) cpd[i] = epd[i] = -1;
48 cpd[0] = epd[0] = 0;
49 Utils.createPrun(cpd, 13, cpm, 3);
50 Utils.createPrun(epd, 11, epm, 3);
51 t = System.currentTimeMillis() - t;
52 //Log.w("dct", "init " + t + "ms");
53 ini = true;
54 }
55
56 private static boolean search(int cp, int ep, int d, int lf) {
57 if (d == 0) return cp == 0 && ep == 0;

Callers 1

scrambleMethod · 0.95

Calls 5

set8PermMethod · 0.95
circleMethod · 0.95
swapMethod · 0.95
get8PermMethod · 0.95
createPrunMethod · 0.95

Tested by

no test coverage detected