static void initTwistMoveConj() { CubieCube c = new CubieCube(); CubieCube d = new CubieCube(); for (int i = 0; i < N_TWIST; i++) { c.setTwist(i); for (int j = 0; j < N_MOVES; j += 3) { CubieCube.CornMult(c, CubieCube.moveCube[j], d); TwistMoveF[i, j] = (char)d.getTwist(); } for (int j = 0; j < 16; j++) { CubieCube.CornConjugate(c, CubieCube.SymInv[j], d); TwistConj[i, j] = (char)d.getTwist(); } } for (int i = 0; i < N_TWIST; i++) { for (int j = 0; j < N_MOVES; j += 3) { int twist = TwistMoveF[i, j]; for (int k = 1; k < 3; k++) { twist = TwistMoveF[twist, j]; TwistMoveF[i, j + k] = (char)twist; } } } }
protected static void initCombMoveConj() { CubieCube c = new CubieCube(); CubieCube d = new CubieCube(); for (int i = 0; i < N_COMB; i++) { c.setCComb(i); for (int j = 0; j < N_MOVES; j++) { CubieCube.CornMult(c, CubieCube.moveCube[j], d); CCombMove[i, j] = (char)d.getCComb(); } for (int j = 0; j < 16; j++) { CubieCube.CornConjugate(c, CubieCube.SymInv[j], d); CCombConj[i, j] = (char)d.getCComb(); } } }