Warning: session_start(): open(/var/lib/php/sessions/sess_9svrvrd0odjdnupkuoqt4tfpnf, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
srecord noeq MakeLSFRTripletsTable(int maxBits) {
event tripletFound(int bits, int[] triplet);
settable bool verbose;
new TreeMap out;
TreeMap getMap() {
for ping (int bits = 1; bits <= maxBits; bits++) {
reMutable bits;
var searcher = FindAllLSFRTriplets(bits);
if (verbose) {
searcher.onTestingTriplet((triplet, checker) ->
print("Testing: " + toList(triplet) + " for " + nBits(bits)
+ " (step " + n2(searcher.steps) + " of " + n2(searcher.expectedSteps()) + ")")
);
searcher.onTripletRejected((triplet, checker) ->
print("Triplet rejected after " + n2(checker.steps, "value"))
);
}
var triplet = searcher.next();
printVars(bits := searcher.bits, triplet := toList(triplet), steps := searcher.steps, cycleLength := searcher.cycleLength());
out.put(bits, triplet);
if (verbose)
print(triplet == null
? "No triplet found for " + nBits(bits)
: "Triplet found for " + nBits(bits) + ": "+ toList(triplet));
if (triplet != null)
tripletFound(bits, triplet);
}
ret out;
}
S toJava() {
var map = getMap();
int n = lastKey(map);
new LS out;
for (int bits = 1; bits <= n; bits++) {
var triplet = map.get(bits);
out.add(triplet == null ? "null" : "{ " + joinWithComma(toList(triplet)) + " }");
}
ret indentx(4, join(",\n", out));
}
}