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

Method searchOpt

app/src/main/java/cs/min2phase/Search.java:454–479  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

452 }
453
454 private String searchOpt() {
455 int maxprun1 = 0;
456 int maxprun2 = 0;
457 for (int i = 0; i < 6; i++) {
458 if (prun[i][0] == -1) {
459 fillprun(i, 0);
460 }
461 if (i < 3) {
462 maxprun1 = Math.max(maxprun1, prun[i][0]);
463 } else {
464 maxprun2 = Math.max(maxprun2, prun[i][0]);
465 }
466 }
467 urfIdx = maxprun2 > maxprun1 ? 3 : 0;
468 preIdx = 0;
469 for (length1 = isRecovery ? length1 : 0; length1 < sol; length1++) {
470 if (prun[0][0] <= length1 && prun[1][0] <= length1 && prun[2][0] <= length1 &&
471 phase1opt(twist[0 + urfIdx][0] >> 3, twist[0 + urfIdx][0] & 7, flip[0 + urfIdx][0] >> 3, flip[0 + urfIdx][0] & 7, slice[0 + urfIdx][0] & 0x1ff, prun[0 + urfIdx][0],
472 twist[1 + urfIdx][0] >> 3, twist[1 + urfIdx][0] & 7, flip[1 + urfIdx][0] >> 3, flip[1 + urfIdx][0] & 7, slice[1 + urfIdx][0] & 0x1ff, prun[1 + urfIdx][0],
473 twist[2 + urfIdx][0] >> 3, twist[2 + urfIdx][0] & 7, flip[2 + urfIdx][0] >> 3, flip[2 + urfIdx][0] & 7, slice[2 + urfIdx][0] & 0x1ff, prun[2 + urfIdx][0],
474 length1, -1) == 0) {
475 return solution == null ? "Error 8" : solution;
476 }
477 }
478 return solution == null ? "Error 7" : solution;
479 }
480
481 /**
482 * @return

Callers 2

solutionMethod · 0.95
nextMethod · 0.95

Calls 2

fillprunMethod · 0.95
phase1optMethod · 0.95

Tested by

no test coverage detected