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

Method search

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

Source from the content-addressed store, hash-verified

332 }
333
334 private String search() {
335 for (length1 = isRecovery ? length1 : 0; length1 < sol; length1++) {
336 maxDep2 = Math.min(12, sol - length1);
337 for (urfIdx = isRecovery ? urfIdx : 0; urfIdx < 6; urfIdx++) {
338 if ((conjMask & (1 << urfIdx)) != 0) {
339 continue;
340 }
341 for (preIdx = isRecovery ? preIdx : 0; preIdx < PRE_IDX_MAX; preIdx++) {
342 if (preIdx != 0 && preIdx % 2 == 0) {
343// assert (twist[urfIdx][preIdx] == twist[urfIdx][preIdx - 1]
344// && flip[urfIdx][preIdx] == flip[urfIdx][preIdx - 1]
345// && (slice[urfIdx][preIdx] & 0x1ff) == (slice[urfIdx][preIdx - 1] & 0x1ff));
346 continue;
347 }
348 depth1 = length1 - (preIdx == 0 ? 0 : 1);
349 if ((prun[urfIdx][preIdx] <= depth1) &&
350 phase1(twist[urfIdx][preIdx] >> 3, twist[urfIdx][preIdx] & 7,
351 flip[urfIdx][preIdx] >> 3, flip[urfIdx][preIdx] & 7,
352 slice[urfIdx][preIdx] & 0x1ff, prun[urfIdx][preIdx], depth1, -1) == 0) {
353 return solution == null ? "Error 8" : solution;
354 }
355 }
356 }
357 }
358 return solution == null ? "Error 7" : solution;
359 }
360
361 /**
362 * @return

Callers 2

solutionMethod · 0.95
nextMethod · 0.95

Calls 1

phase1Method · 0.95

Tested by

no test coverage detected