コード例 #1
0
 internal int getCPermSym()
 {
     if (EPermR2S != null)
     {
         int idx = EPermR2S[getCPerm()];
         return(idx ^ e2c[idx & 0xf]);
     }
     if (temps == null)
     {
         temps = new CubieCube();
     }
     for (int k = 0; k < 16; k++)
     {
         CornConjugate(this, SymInv[k], temps);
         int idx = Array.BinarySearch(EPermS2R, (char)temps.getCPerm());
         if (idx >= 0)
         {
             return(idx << 4 | k);
         }
     }
     throw new Exception("assert getCPermSym()");
 }