introduce bitloops

This commit is contained in:
mike
2026-01-12 09:23:38 +01:00
parent fdd1c76bae
commit 84e832df40
7 changed files with 96 additions and 80 deletions

View File

@@ -101,20 +101,20 @@ public class SwedishGeneratorTest {
@Test
void testLemmaAndDict() {
var l2a = new Lemma("IN");
var l4a = new Lemma("INER");
var l6a = new Lemma("INEREN");
var l7a = new Lemma("INERENA");
var l8a = new Lemma("INERENAE");
var l2a = new Lemma("IN").word();
var l4a = new Lemma("INER").word();
var l6a = new Lemma("INEREN").word();
var l7a = new Lemma("INERENA").word();
var l8a = new Lemma("INERENAE").word();
var l1 = new Lemma("APPLE");
Assertions.assertEquals(Lemma.pack("APPLE".getBytes(StandardCharsets.US_ASCII)), Lemma.unpackLetters(l1.word()));
assertEquals(5, Lemma.length(l1.word()));
assertEquals((byte) 'A', l1.byteAt(0));
assertEquals(1, l1.intAt(0));
var l1 = new Lemma("APPLE").word();
Assertions.assertEquals(Lemma.pack("APPLE".getBytes(StandardCharsets.US_ASCII)), Lemma.unpackLetters(l1));
assertEquals(5, Lemma.length(l1));
assertEquals((byte) 'A', Lemma.byteAt(l1, 0));
assertEquals(1, Lemma.intAt(l1, 0));
var l2 = new Lemma("AXE");
var dict = new Dict(new Lemma[]{ l1, l2, l2a, l4a, l6a, l7a, l8a });
var l2 = new Lemma("AXE").word();
var dict = new Dict(new long[]{ l1, l2, l2a, l4a, l6a, l7a, l8a });
assertEquals(1, dict.index()[3].words().length);
assertEquals(1, dict.index()[5].words().length);
@@ -213,16 +213,16 @@ public class SwedishGeneratorTest {
@Test
void testCandidateInfoForPattern() {
var l0 = new Lemma("IN");
var l3a = new Lemma("INE");
var l4a = new Lemma("INER");
var l6a = new Lemma("INEREN");
var l7a = new Lemma("INERENA");
var l8a = new Lemma("INERENAE");
var l1 = new Lemma("APPLE");
var l2 = new Lemma("APPLY");
var l3 = new Lemma("BANAN");
var dict = new Dict(new Lemma[]{ l0, l1, l2, l3, l3a, l4a, l6a, l7a, l8a });
var l0 = new Lemma("IN").word();
var l3a = new Lemma("INE").word();
var l4a = new Lemma("INER").word();
var l6a = new Lemma("INEREN").word();
var l7a = new Lemma("INERENA").word();
var l8a = new Lemma("INERENAE").word();
var l1 = new Lemma("APPLE").word();
var l2 = new Lemma("APPLY").word();
var l3 = new Lemma("BANAN").word();
var dict = new Dict(new long[]{ l0, l1, l2, l3, l3a, l4a, l6a, l7a, l8a });
// Pattern "APP--" for length 5
var context = new Context();