introduce bitloops

This commit is contained in:
mike
2026-01-13 23:29:32 +01:00
parent 6ab6791d9c
commit 2430dbdfb9
3 changed files with 62 additions and 76 deletions

View File

@@ -44,7 +44,7 @@ public class MainTest {
var slots = extractSlots(grid);
assertEquals(1, slots.size());
var s = slots.getFirst();
assertEquals(8, s.len());
assertEquals(8, s.length());
var cells = s.walk().toArray();
assertEquals(0, Grid.r(cells[0]));
assertEquals(1, Grid.c(cells[0]));

View File

@@ -233,7 +233,7 @@ public class SwedishGeneratorTest {
}
static long packPattern(String s) {
long p = 0;
long p = 0;
byte[] b = s.getBytes(StandardCharsets.US_ASCII);
for (int i = 0; i < b.length; i++) {
int val = b[i] & 31;
@@ -258,9 +258,7 @@ public class SwedishGeneratorTest {
var dict = new Dict(new long[]{ l0, l1, l2, l3, l3a, l4a, l6a, l7a, l8a });
// Pattern "APP--" for length 5
var context = new Context();
context.setPattern(packPattern("APP"));
var info = candidateInfoForPattern(context, dict.index()[5], 5);
var info = candidateInfoForPattern(Context.get(), packPattern("APP"), dict.index()[5], 5);
assertEquals(2, info.count());
assertNotNull(info.indices());
@@ -279,7 +277,7 @@ public class SwedishGeneratorTest {
assertEquals(1, slots.size());
var s = slots.getFirst();
assertTrue(s.len() >= 2);
assertTrue(s.length() >= 2);
assertEquals(OFF_0_0, s.clueIndex());
assertEquals(CLUE_RIGHT, Slot.dir(s.key()));
}
@@ -421,15 +419,15 @@ public class SwedishGeneratorTest {
var dict = new Dict(words);
var entry5 = dict.index()[5];
var ctx = new Context();
ctx.setPattern(packPattern("APP"));
assertEquals(2, candidateCountForPattern(ctx, entry5, 3));
var ctx = Context.get();
long pattern = packPattern("APP");
assertEquals(2, candidateCountForPattern(ctx, pattern, entry5, 3));
ctx.setPattern(packPattern("BAN"));
assertEquals(1, candidateCountForPattern(ctx, entry5, 3));
pattern = packPattern("BAN");
assertEquals(1, candidateCountForPattern(ctx, pattern, entry5, 3));
ctx.setPattern(packPattern("CAT"));
assertEquals(0, candidateCountForPattern(ctx, entry5, 3));
pattern = packPattern("CAT");
assertEquals(0, candidateCountForPattern(ctx, pattern, entry5, 3));
}
@Test