introduce bitloops
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package puzzle;
|
||||
|
||||
import module java.base;
|
||||
import anno.DictGen;
|
||||
import anno.Dictionaries;
|
||||
import lombok.val;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import puzzle.Export.Clue;
|
||||
import puzzle.Export.Clued;
|
||||
import puzzle.Export.Gridded;
|
||||
import puzzle.Export.Signa;
|
||||
import puzzle.Export.Puzzle;
|
||||
import puzzle.Masker.Clues;
|
||||
import puzzle.SwedishGenerator.Rng;
|
||||
import puzzle.SwedishGenerator.Slotinfo;
|
||||
@@ -13,9 +15,24 @@ import puzzle.SwedishGenerator.Slotinfo;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static precomp.Const9x8.Cell.*;
|
||||
import static puzzle.SwedishGenerator.fillMask;
|
||||
import static puzzle.dict800.DictData.DICT800;
|
||||
import static puzzle.dict900.DictData.DICT900;
|
||||
import static puzzle.dict800.DictData800.DICT800;
|
||||
import static puzzle.dict900.DictData900.DICT900;
|
||||
|
||||
@Dictionaries({ @DictGen(
|
||||
packageName = "puzzle.dict900",
|
||||
className = "DictData900",
|
||||
scv = "/home/mike/dev/puzzle-generator/nl_score_hints_v4.csv",
|
||||
simpleMax = 900,
|
||||
minLen = 2,
|
||||
maxLen = 8
|
||||
), @DictGen(
|
||||
packageName = "puzzle.dict800",
|
||||
className = "DictData800",
|
||||
scv = "/home/mike/dev/puzzle-generator/nl_score_hints_v4.csv",
|
||||
simpleMax = 800,
|
||||
minLen = 2,
|
||||
maxLen = 8
|
||||
) })
|
||||
public class PerformanceTest {
|
||||
|
||||
void main() {
|
||||
@@ -73,7 +90,7 @@ public class PerformanceTest {
|
||||
void testIncrementalComplexity() {
|
||||
|
||||
// Use the complex mask from Main.java
|
||||
var mask = Clued.of(
|
||||
var mask = Signa.of(
|
||||
r0c0d1, r0c5d0, r0c6d0, r0c7d0, r0c8d0,
|
||||
r1c0d1,
|
||||
r2c0d0, r2c1d0, r2c3d0, r2c4d1,
|
||||
@@ -82,7 +99,7 @@ public class PerformanceTest {
|
||||
r5c2d2, r5c4d1,
|
||||
r6c2d1,
|
||||
r7c0d2, r7c1d2, r7c2d1, r7c7d2, r7c8d2
|
||||
);
|
||||
);
|
||||
val allSlots = Masker.slots(mask.c(), DICT900.index());
|
||||
//mask.toGrid()
|
||||
System.out.println("[DEBUG_LOG] \n--- Incremental Complexity Test ---");
|
||||
@@ -103,7 +120,7 @@ public class PerformanceTest {
|
||||
val rng = new Rng(42);
|
||||
|
||||
// A single horizontal slot at (0,0)
|
||||
val mask = Clued.of(r0c0d1);
|
||||
val mask = Signa.of(r0c0d1);
|
||||
val slots = Masker.slots(mask.c(), DICT800.index());
|
||||
|
||||
System.out.println("[DEBUG_LOG] \n--- Single Slot Resolution ---");
|
||||
@@ -160,7 +177,7 @@ public class PerformanceTest {
|
||||
var slotChar = dir.slotChar;
|
||||
display[cr][cc] = clueChar;
|
||||
|
||||
Gridded.cellWalk((byte) slot.key(), slot.lo(), slot.hi()).forEach(idx -> {
|
||||
Puzzle.cellWalk((byte) slot.key(), slot.lo(), slot.hi()).forEach(idx -> {
|
||||
var r = Masker.IT[idx].r();
|
||||
var c = Masker.IT[idx].c();
|
||||
if (display[r][c] == ' ' || (display[r][c] >= 'A' && display[r][c] <= 'D')) {
|
||||
|
||||
Reference in New Issue
Block a user