introduce bitloops

This commit is contained in:
mike
2026-01-14 08:24:53 +01:00
parent 352e8c79ca
commit aafa5d4d43
2 changed files with 23 additions and 25 deletions

View File

@@ -102,27 +102,27 @@ public class MainTest {
grid.setLetter(OFF_2_3, LETTER_Z);
Assertions.assertEquals(LETTER_A, grid.letter32At(OFF_0_0));
Assertions.assertEquals(CLUE_UP, grid.letter32At(OFF_1_2));
Assertions.assertEquals(CLUE_UP, clues.digitAt(OFF_1_2));
Assertions.assertEquals(LETTER_Z, grid.letter32At(OFF_2_3));
Assertions.assertEquals(DASH, grid.letter32At(OFF_1_1));
// Test isLetterAt
Assertions.assertTrue(grid.notClue(OFF_0_0));
Assertions.assertFalse(grid.notClue(OFF_1_2));
Assertions.assertTrue(grid.notClue(OFF_2_3));
Assertions.assertFalse(grid.isClue(OFF_1_1));
Assertions.assertTrue(clues.notClue(OFF_0_0));
Assertions.assertFalse(clues.notClue(OFF_1_2));
Assertions.assertTrue(clues.notClue(OFF_2_3));
Assertions.assertFalse(clues.isClue(OFF_1_1));
// Test isDigitAt
Assertions.assertFalse(grid.isClue(0));
Assertions.assertTrue(grid.isClue(OFF_1_2));
Assertions.assertFalse(clues.isClue(0));
Assertions.assertTrue(clues.isClue(OFF_1_2));
Assertions.assertEquals(CLUE_UP, clues.digitAt(OFF_1_2));
Assertions.assertFalse(grid.isClue(OFF_2_3));
Assertions.assertFalse(grid.isClue(OFF_1_1));
Assertions.assertFalse(clues.isClue(OFF_2_3));
Assertions.assertFalse(clues.isClue(OFF_1_1));
// Test isLettercell
Assertions.assertTrue(grid.notClue(OFF_0_0)); // 'A' is letter
Assertions.assertTrue(grid.isClue(OFF_1_2)); // digit
Assertions.assertTrue(grid.notClue(OFF_1_1)); // '#' is lettercell
Assertions.assertTrue(clues.notClue(OFF_0_0)); // 'A' is letter
Assertions.assertTrue(clues.isClue(OFF_1_2)); // digit
Assertions.assertTrue(clues.notClue(OFF_1_1)); // '#' is lettercell
}
@Test
public void testCluesDeepCopy() {
@@ -144,8 +144,7 @@ public class MainTest {
val idx = OFF_1_1;
var clues = Clues.createEmpty();
clues.setClue(idx, CLUE_LEFT);
var grid = clues.toGrid();
Assertions.assertTrue(grid.isClue(idx));
Assertions.assertTrue(clues.isClue(idx));
}
@Test
void testMaskerCreation() {
@@ -179,8 +178,8 @@ public class MainTest {
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]));
Assertions.assertEquals(74732156493031040L, filled.grid().grid().lo());
Assertions.assertEquals(193L, filled.grid().grid().hi());
Assertions.assertEquals(74732156493031040L, filled.grid().grid().lo);
Assertions.assertEquals(193L, filled.grid().grid().hi);
var aa = new PuzzleResult(new Clued(mask), filled).exportFormatFromFilled(1, new Rewards(1, 1, 1));