introduce bitloops

This commit is contained in:
mike
2026-01-14 12:28:07 +01:00
parent 6afe675a9d
commit dfb4679da8
5 changed files with 49 additions and 44 deletions

View File

@@ -280,12 +280,12 @@ public class SwedishGeneratorTest {
// This should detect a slot starting at 0,1 with length 2 (0,1 and 0,2)
var clues = Clues.createEmpty();
clues.setClue(OFF_0_0, CLUE_RIGHT);
var slots = extractSlots(clues);
var dict = new Dict(WORDS2);
var slots = extractSlots(clues, dict.index());
assertEquals(1, slots.length);
var s = slots[0];
assertTrue(s.length() >= 2);
assertTrue(Slot.length(s.lo(), s.hi()) >= 2);
assertEquals(OFF_0_0, Slot.clueIndex(s.key()));
assertEquals(CLUE_RIGHT, Slot.dir(s.key()));
}
@@ -396,10 +396,9 @@ public class SwedishGeneratorTest {
counts[2] = 3;
var dict = new Dict(WORDS);
var entry5 = dict.index()[5];
var sScore = Slot.from(0, (1L << 1) | (1L << 2), 0L);
// cross = (counts[1]-1) + (counts[2]-1) = 1 + 2 = 3
// score = 3 * 10 + len(2) = 32
assertEquals(32, slotScore(counts, sScore));
assertEquals(32, slotScore(counts, (1L << 1) | (1L << 2), 0L));
// 3. Test candidateCountForPattern
var ctx = Context.get();