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

Method set8Perm

app/src/main/java/solver/Utils.java:39–51  ·  view source on GitHub ↗
(int[] arr, int len, int idx)

Source from the content-addressed store, hash-verified

37
38 public static int[] fact = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600};
39 public static void set8Perm(int[] arr, int len, int idx) {
40 int val = 0x76543210;
41 for (int i = 0; i < len - 1; i++) {
42 int p = fact[len - 1 - i];
43 int v = idx / p;
44 idx -= v * p;
45 v <<= 2;
46 arr[i] = (val >> v) & 0x7;
47 int m = (1 << v) - 1;
48 val = (val & m) + ((val >> 4) & ~m);
49 }
50 arr[len - 1] = val & 0x7;
51 }
52
53 public static int get8Perm(int[] arr, int len) {
54 int idx = 0;

Callers 10

initMethod · 0.95
getprmmvMethod · 0.95
initMethod · 0.95
getMiMethod · 0.95
initMethod · 0.95
initMethod · 0.95
randomCubeMethod · 0.95
setCPermMethod · 0.95
setCPermMethod · 0.95
setEPermMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected