introduce bitloops

This commit is contained in:
mike
2026-01-14 18:42:13 +01:00
parent 29aceb2180
commit 75f599318a
4 changed files with 48 additions and 35 deletions

View File

@@ -241,12 +241,12 @@ public class SwedishGeneratorTest {
var gen = new SwedishGenerator(new Rng(0), new int[STACK_SIZE], Clues.createEmpty());
var grid = Clues.createEmpty();
// Empty grid should have high penalty (no slots)
var f1 = gen.maskFitness(grid);
var f1 = gen.maskFitness(grid, 18);
assertTrue(f1 >= 1_000_000_000L);
// Add a slot
grid.setClue(OFF_0_0, D_BYTE_2);
var f2 = gen.maskFitness(grid);
var f2 = gen.maskFitness(grid, 18);
assertTrue(f2 < f1);
}
@@ -255,7 +255,7 @@ public class SwedishGeneratorTest {
var rng = new Rng(42);
var gen = new SwedishGenerator(rng, new int[STACK_SIZE], Clues.createEmpty());
var g1 = gen.randomMask();
var g1 = gen.randomMask(18);
assertNotNull(g1);
var g2 = gen.mutate(g1.deepCopyGrid());
@@ -264,7 +264,7 @@ public class SwedishGeneratorTest {
assertNotNull(gen.crossover(g1, g2));
var g4 = gen.hillclimb(g1, 10);
var g4 = gen.hillclimb(g1, 18, 10);
assertNotNull(g4);
}
@@ -363,10 +363,10 @@ public class SwedishGeneratorTest {
var gen = new SwedishGenerator(new Rng(42), new int[STACK_SIZE], Clues.createEmpty());
var grid = Clues.createEmpty();
// Empty grid: huge penalty
var fitEmpty = gen.maskFitness(grid);
var fitEmpty = gen.maskFitness(grid, 18);
assertTrue(fitEmpty >= 1_000_000_000L);
grid.setClue(0, D_BYTE_2); // Right from 0,0. Len 2 if 3x3.
var fitOne = gen.maskFitness(grid);
var fitOne = gen.maskFitness(grid, 18);
assertTrue(fitOne < fitEmpty);
}
}