introduce bitloops
This commit is contained in:
@@ -55,10 +55,10 @@ public class MainTest {
|
||||
grid.setLetterLo(OFF_0_1, LETTER_A);
|
||||
grid.setLetterLo(OFF_0_2, LETTER_B);
|
||||
|
||||
var slots = extractSlots(clues);
|
||||
var slots = extractSlots(clues, dict.index());
|
||||
assertEquals(1, slots.length);
|
||||
var s = slots[0];
|
||||
assertEquals(8, s.length());
|
||||
assertEquals(8, Slot.length(s.lo(), s.hi()));
|
||||
var cells = s.walk().toArray();
|
||||
assertEquals(0, SwedishGenerator.IT[cells[0]].r());
|
||||
assertEquals(1, SwedishGenerator.IT[cells[0]].c());
|
||||
@@ -184,7 +184,7 @@ public class MainTest {
|
||||
128L,
|
||||
422762372923520L,
|
||||
192L);
|
||||
var filled = fillMask(rng, extractSlots(mask), mask.toGrid(), dict.index());
|
||||
var filled = fillMask(rng, extractSlots(mask, dict.index()), mask.toGrid());
|
||||
Assertions.assertTrue(filled.ok(), "Puzzle generation failed (not ok)");
|
||||
Assertions.assertEquals(18, filled.wordCount(), "Number of assigned words changed");
|
||||
Assertions.assertEquals("SLEDE", Lemma.asWord(filled.clueMap()[282]));
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user