(int[] ep, int mrIdx, int end)
| 272 | } |
| 273 | |
| 274 | static int getmvrot(int[] ep, int mrIdx, int end) { |
| 275 | int[] movo = mvroto[mrIdx]; |
| 276 | int[] mov = mvrot[mrIdx]; |
| 277 | int idx = 0; |
| 278 | |
| 279 | long val = 0xba9876543210L; |
| 280 | for (int i=0; i<end; i++) { |
| 281 | int v = movo[ep[mov[i]]] << 2; |
| 282 | idx *= 12 - i; |
| 283 | idx += (val >> v) & 0xf; |
| 284 | val -= 0x111111111110L << v; |
| 285 | } |
| 286 | //针对32位设备优化 |
| 287 | // int vall = 0x76543210; |
| 288 | // int valh = 0xba98; |
| 289 | // for (int i=0; i<end; i++) { |
| 290 | // int v = movo[ep[mov[i]]] << 2; |
| 291 | // idx *= 12 - i; |
| 292 | // if (v >= 32) { |
| 293 | // idx += (valh >> (v - 32)) & 0xf; |
| 294 | // valh -= 0x1110 << (v - 32); |
| 295 | // } else { |
| 296 | // idx += (vall >> v) & 0xf; |
| 297 | // valh -= 0x1111; |
| 298 | // vall -= 0x11111110 << v; |
| 299 | // } |
| 300 | // } |
| 301 | return idx; |
| 302 | } |
| 303 | |
| 304 | void std() { |
| 305 | if (temp == null) { |
no outgoing calls
no test coverage detected