introduce bitloops

This commit is contained in:
mike
2026-01-20 07:08:31 +01:00
parent 47ead135d3
commit a764f45041
83 changed files with 205106 additions and 175 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
package puzzle.dict800;
public final class DictData {
private DictData() {}
public static final puzzle.SwedishGenerator.Dict DICT800 = build();
private static puzzle.SwedishGenerator.Dict build() {
puzzle.SwedishGenerator.DictEntry[] idx = new puzzle.SwedishGenerator.DictEntry[puzzle.SwedishGenerator.MAX_WORD_LENGTH_PLUS_ONE];
idx[2] = DictDataL2.entry();
idx[3] = DictDataL3.entry();
idx[4] = DictDataL4.entry();
idx[5] = DictDataL5.entry();
idx[6] = DictDataL6.entry();
idx[7] = DictDataL7.entry();
idx[8] = DictDataL8.entry();
return new puzzle.SwedishGenerator.Dict(idx, 16439);
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict800;
public final class DictDataL2 {
private DictDataL2() {}
static final int LEN = 2;
static final int ROWS = 52;
static final int COLS = 2;
static final int WORDS_LEN = 72;
static final int POS_LEN = 104;
private static long[] words() {
return DictDataL2W0.get();
}
private static long[] posFlat() {
return DictDataL2P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

View File

@@ -0,0 +1,113 @@
package puzzle.dict800;
public final class DictDataL2P0 {
private DictDataL2P0() {}
public static long[] get() {
return new long[] {
0x2210a009040800L,
0x8L,
0x0L,
0x0L,
0x0L,
0x0L,
0x2040000200000008L,
0x0L,
0x4084630080000003L,
0x0L,
0x0L,
0x0L,
0x100000000010000L,
0x0L,
0x8000000000004000L,
0x10L,
0x208000000081410L,
0x0L,
0x400100L,
0x0L,
0x400000000000000L,
0x20L,
0x800000402000000L,
0x1L,
0x804002000L,
0x42L,
0x800000008200L,
0x0L,
0x1000000060120080L,
0x0L,
0x10000000L,
0x80L,
0x0L,
0x0L,
0x44000000000L,
0x0L,
0x11080000000000L,
0x0L,
0x1000000004L,
0x0L,
0x100800000L,
0x0L,
0x0L,
0x4L,
0x20L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x200040L,
0x0L,
0x8401040016410200L,
0x4L,
0x4000000000000000L,
0x8L,
0x0L,
0x0L,
0x202200000000000L,
0x0L,
0x10008400008616cL,
0x0L,
0x140000L,
0x0L,
0x0L,
0x0L,
0x80000148000000L,
0x0L,
0x850000080000000L,
0x92L,
0x0L,
0x0L,
0x20000010L,
0x0L,
0x400000000800L,
0x0L,
0x24000000020000L,
0x0L,
0x2000000401L,
0x0L,
0x2000800000200000L,
0x61L,
0x80L,
0x0L,
0x0L,
0x0L,
0x8a00000002L,
0x0L,
0x1000010401001000L,
0x0L,
0x8120000000000L,
0x0L,
0x8000L,
0x0L,
0x1000000000L,
0x0L,
0x800000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L
};
}
}

View File

@@ -0,0 +1,81 @@
package puzzle.dict800;
public final class DictDataL2W0 {
private DictDataL2W0() {}
public static long[] get() {
return new long[] {
0x100000001c5L,
0x90000000245L,
0x1100000000b4L,
0x1900000000a4L,
0x210000000169L,
0x2900000000b7L,
0x3100000000baL,
0x39000000020fL,
0x4100000000aaL,
0x49000000002eL,
0x5100000001c9L,
0x590000000181L,
0x610000000269L,
0x6900000000adL,
0x7100000000a8L,
0x7900000002aeL,
0x810000000027L,
0x8900000001afL,
0x9100000000c1L,
0x9900000000a9L,
0xa100000000cfL,
0xa900000001faL,
0xb1000000002aL,
0xb900000002f5L,
0xc10000000261L,
0xc9000000002cL,
0xd1000000002dL,
0xd90000000101L,
0xe10000000030L,
0xe9000000016fL,
0xf1000000010fL,
0xf90000000125L,
0x1010000000115L,
0x1090000000244L,
0x111000000026cL,
0x119000000024dL,
0x12100000002d4L,
0x12900000001c1L,
0x13100000000b2L,
0x1390000000241L,
0x1410000000265L,
0x1490000000285L,
0x1510000000032L,
0x15900000000b3L,
0x1610000000281L,
0x1690000000085L,
0x1710000000185L,
0x17900000001eeL,
0x1810000000033L,
0x1890000000081L,
0x19100000001a5L,
0x1990000000289L,
0x1a10000000133L,
0x1a900000001a1L,
0x1b10000000124L,
0x1b90000000105L,
0x1c100000000a7L,
0x1c90000000089L,
0x1d1000000002bL,
0x1d9000000012cL,
0x1e1000000026fL,
0x1e900000001e4L,
0x1f10000000045L,
0x1f90000000028L,
0x20100000001ecL,
0x209000000012dL,
0x2110000000036L,
0x2190000000041L,
0x2210000000128L,
0x22900000001ebL,
0x23100000001edL,
0x2390000000130L
};
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict800;
public final class DictDataL3 {
private DictDataL3() {}
static final int LEN = 3;
static final int ROWS = 78;
static final int COLS = 8;
static final int WORDS_LEN = 490;
static final int POS_LEN = 624;
private static long[] words() {
return DictDataL3W0.get();
}
private static long[] posFlat() {
return DictDataL3P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

View File

@@ -0,0 +1,633 @@
package puzzle.dict800;
public final class DictDataL3P0 {
private DictDataL3P0() {}
public static long[] get() {
return new long[] {
0x2000000000001010L,
0x0L,
0x800300e020008000L,
0x2000000f800000L,
0x0L,
0x800000L,
0xeL,
0x0L,
0x2000002000L,
0x8003800018001000L,
0x2030001L,
0x40000000000000L,
0xe0000000c0000L,
0x3000000L,
0x180001e0000f0L,
0x4040080000L,
0x0L,
0x4000000000000L,
0x0L,
0x0L,
0x0L,
0xc000000L,
0x6000000000000L,
0x8002100000L,
0x20000020020182L,
0x80000e0002000L,
0x4010000000000L,
0x38000007000000fL,
0x10000000700000L,
0x10000000L,
0x8000000000000300L,
0x100L,
0x40400e0000000001L,
0x40L,
0x8060108000000L,
0x400000000000070L,
0x20000000800000L,
0x20000000L,
0x0L,
0x0L,
0x0L,
0x4000L,
0x0L,
0x80000000L,
0x40000000000000L,
0xc0000000L,
0x8000000000400L,
0x12400000001L,
0x0L,
0x100018000L,
0x40002L,
0x1800000000000080L,
0x80000001000000L,
0x300000000L,
0x70000060000000L,
0x4200002L,
0x80000841040004L,
0x10000600020000L,
0x10000000000400L,
0x6000000300000000L,
0xf00000000000000L,
0x1c00000000L,
0x80000380003800L,
0xe00L,
0x0L,
0x0L,
0x80200000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x4L,
0x11000000000L,
0x0L,
0x80800L,
0x0L,
0x1000000000000000L,
0x2000000000L,
0x100000400004000L,
0x10a8401000L,
0x1000080000200L,
0x800000180L,
0x100cL,
0x8000001c00000100L,
0xe000000002000000L,
0x1c000000000L,
0x38000L,
0x800000L,
0x300100000000000L,
0x70001c0000L,
0x60000000000010L,
0xe000000200L,
0x3c000003L,
0xfe0000000003L,
0x2000000000c0000L,
0x2000L,
0x8002000400004440L,
0x20008000200001L,
0x4000000L,
0x30000000400L,
0x4000000cL,
0x700000000003cL,
0x1800700000L,
0x800000018L,
0x4400000480028L,
0x0L,
0x180100400000000L,
0x40000001800L,
0x80000010L,
0x0L,
0x0L,
0x0L,
0x2008800L,
0xc0010000400202L,
0x200800000000L,
0x80000000000L,
0x0L,
0x40L,
0x0L,
0x4000L,
0x400000000000000L,
0x300020000800004L,
0x20L,
0x100000000000L,
0x1000000e0L,
0x38000000000f80L,
0xc00006000800000L,
0x1008000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100000000L,
0x8000000000000L,
0x408L,
0xe00400050100040L,
0x1e0000001e000L,
0x1e00000100L,
0x3c0000000003000L,
0x8000000000L,
0x0L,
0x800000000000000L,
0x0L,
0x1000000000000000L,
0x6000000060000L,
0xe000000200L,
0x40000000001c000L,
0x0L,
0x20L,
0x1010a00000100000L,
0x400000000000000L,
0x2000801080000000L,
0x8000000180000L,
0xf0000001c00L,
0xe0000L,
0x1000010001000000L,
0x10000040L,
0x800000L,
0x800000000000000L,
0x0L,
0x0L,
0x0L,
0x800000000100000L,
0x0L,
0x80L,
0x10000L,
0xc0000000810L,
0x4000000000000080L,
0x200000L,
0x300000006000L,
0x3000000000000000L,
0x2000020000000000L,
0x0L,
0x431c200000L,
0x1000000001000000L,
0x200000L,
0x10000000400000L,
0x1c00000018000L,
0xc000000000600000L,
0x40000c0000000000L,
0x10000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x300000000001L,
0x200020000L,
0x8000000000L,
0x6000700006000020L,
0x1c06300L,
0x0L,
0x20000L,
0x0L,
0x400000000000L,
0x40000L,
0x100840000c010692L,
0xa12186922081f080L,
0x2210024044c2120L,
0xe0c0316411822801L,
0x218651214c108d24L,
0x5001024c4c000085L,
0x402000802044810L,
0x2000601000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100000L,
0x0L,
0x0L,
0x8000L,
0x20000000000000L,
0x0L,
0x800000L,
0x0L,
0x4000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8787bc015100606dL,
0x630011b060034L,
0x5c58291bd0004000L,
0x9104083a068d586L,
0x1200200001032041L,
0x18042081200008L,
0x140400000001L,
0x10020000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x400000000000000L,
0x0L,
0x0L,
0x0L,
0x800000L,
0x0L,
0x0L,
0x0L,
0x2000000L,
0x0L,
0x0L,
0x0L,
0x80L,
0x1ee00a20100L,
0x1000480044200800L,
0x2080824000100204L,
0x1200060800010218L,
0xcc50820232045080L,
0x8062198100165302L,
0x4008a22080801460L,
0x804002142L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1000000000000000L,
0x4L,
0x8000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1000L,
0x40L,
0x8000000000L,
0x2000004000020L,
0x0L,
0x22000000L,
0x2L,
0x400000000L,
0x0L,
0x200L,
0x0L,
0x80000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x40020000000800L,
0x0L,
0x4040000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x300010825c0000L,
0x464801248018050bL,
0x100500002a11c83L,
0x8801040140000L,
0x90c4c0028020aL,
0x208460101049a430L,
0xb9549112c39a380L,
0x1c0e0010209L,
0x0L,
0x400000L,
0x0L,
0x0L,
0x8000000000L,
0x0L,
0x20000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x6000000000000000L,
0x0L,
0x2000028000000L,
0x8000000L,
0x800000L,
0x800L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x40000000L,
0x0L,
0x800000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000000L,
0x20000000L,
0x890004800000000L,
0x1020058L,
0x5000000000000L,
0x20001080400010L,
0x700800200000040L,
0xa04000c21142000cL,
0x130b0c8c30L,
0x0L,
0x0L,
0x8000000000000000L,
0x40L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000000000000L,
0x400a00L,
0x4001000000000L,
0x2000002000048L,
0x8000000000L,
0x2000000L,
0x1000000000000000L,
0x100000000L,
0x40000000L,
0x0L,
0x2000000L,
0x0L,
0x0L,
0x80020000001000L,
0x40000000004L,
0x81800000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000000L,
0x0L,
0x80820208000000L,
0x400040100000002L,
0x2000L,
0x4000040010000000L,
0x200000L,
0x4000020L,
0x0L,
0x30120000248148L,
0x4000021L,
0xc010c080b8000800L,
0x24081080400000L,
0x1001000000080000L,
0x800000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x40000L,
0x0L,
0x800000L,
0x40040020000000L,
0x600010800040002L,
0x100000022aL,
0x4040000100400000L,
0x60001020040000L,
0x8000000404040L,
0x0L,
0x0L,
0x8080000022000L,
0x800000080100L,
0x80010L,
0x0L,
0x0L,
0x8000L,
0x800000L,
0x20000000000000L,
0x0L,
0x10000002000000L,
0x20004400L,
0x0L,
0x4402000000L,
0x40200000000000L,
0x2000000100000500L,
0x10000L,
0x0L,
0x10000000L,
0x0L,
0x1ec00000000L,
0x0L,
0x100000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x4002140L,
0x4000002000000L,
0x8102000140002040L,
0x2000L,
0x100040008004010L,
0x200020404000401L,
0x1102208410088006L,
0x9000121909000L,
0x1L,
0x210000000L,
0x5042090020400L,
0x801000000000190L,
0x80008020080000L,
0x81802840e1001000L,
0x4424000180100080L,
0x2044080008002040L,
0x40000L,
0x2000000081000000L,
0x8018000000000L,
0x10000L,
0x200000008800L,
0x2010000808100800L,
0x200010800010000L,
0x40200010L,
0x1080L,
0x483200000012691L,
0x4010400800004100L,
0x2020110840000000L,
0x1051120840340280L,
0x4880000046c088L,
0x2200400000L,
0x100200000004001L,
0x0L,
0x0L,
0x0L,
0x0L,
0x400000000000002L,
0x0L,
0x800L,
0x0L,
0x0L,
0x0L,
0x400000000000000L,
0x1024L,
0x400001001000L,
0x12200000100L,
0x11104000044009L,
0x4882023080000a00L,
0x202428800L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x840000000000L,
0x800000000001016L,
0x100004600000000L,
0x4008010600000001L,
0x400000000022L,
0x400L,
0x0L,
0x0L,
0x9100000024001800L,
0x180000a88000L,
0x2800220010a0009L,
0x8200802010020024L,
0x402001000000200L,
0xa000800004000110L,
0x20100000400000L,
0x8100004L,
0x208480008924026L,
0x3200200001110088L,
0x1002080000000200L,
0x800004004010000L,
0x804100102202054L,
0x1048800260L,
0x404600020480L,
0x0L,
0x1000080000L,
0x0L,
0xa00400L,
0x0L,
0x0L,
0x400001000000L,
0x10000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8000008000000008L,
0x10000L,
0x0L,
0x0L,
0x4000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1e810000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x440200000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L
};
}
}

View File

@@ -0,0 +1,499 @@
package puzzle.dict800;
public final class DictDataL3W0 {
private DictDataL3W0() {}
public static long[] get() {
return new long[] {
0x200000038a5L,
0xa0000005024L,
0x1200000050a8L,
0x1a00000014aeL,
0x220000003821L,
0x2a00000050aeL,
0x3200000014adL,
0x3a0000003824L,
0x420000001524L,
0x4a000000382bL,
0x52000000382dL,
0x5a0000004dcfL,
0x620000004d81L,
0x6a00000038a2L,
0x7200000050adL,
0x7a000000156fL,
0x820000003836L,
0x8a0000005124L,
0x9200000015e8L,
0x9a00000055eeL,
0xa200000051f4L,
0xaa0000001537L,
0xb20000001deeL,
0xba0000005135L,
0xc200000034a8L,
0xca0000002defL,
0xd20000004c37L,
0xda0000005037L,
0xe200000030b7L,
0xea0000004ea4L,
0xf200000008a8L,
0xfa00000035ebL,
0x1020000001cb7L,
0x10a0000003137L,
0x112000000292dL,
0x11a0000002928L,
0x12200000055eaL,
0x12a0000002922L,
0x1320000002937L,
0x13a000000293aL,
0x142000000292aL,
0x14a00000015c5L,
0x15200000048a5L,
0x15a00000050a5L,
0x16200000014acL,
0x16a00000038b4L,
0x172000000502eL,
0x17a00000048b4L,
0x18200000038abL,
0x18a00000038adL,
0x1920000002caeL,
0x19a0000005032L,
0x1a200000015f4L,
0x1aa00000015e4L,
0x1b20000001dc5L,
0x1ba00000038a8L,
0x1c20000004cacL,
0x1ca00000050acL,
0x1d200000038b0L,
0x1da0000000693L,
0x1e20000004c34L,
0x1ea0000003641L,
0x1f20000001e45L,
0x1fa0000004cadL,
0x20200000015edL,
0x20a00000049efL,
0x21200000048b0L,
0x21a00000051f2L,
0x22200000048b6L,
0x22a00000014baL,
0x2320000002d85L,
0x23a000000502bL,
0x24200000039ebL,
0x24a00000005afL,
0x25200000031f2L,
0x25a0000000536L,
0x2620000004822L,
0x26a0000002c24L,
0x2720000003826L,
0x27a0000004c27L,
0x2820000005027L,
0x28a00000030a8L,
0x2920000001cacL,
0x29a0000004decL,
0x2a200000051ecL,
0x2aa0000004d2dL,
0x2b2000000060fL,
0x2ba0000004c30L,
0x2c200000050b7L,
0x2ca00000024baL,
0x2d2000000153aL,
0x2da00000010a2L,
0x2e200000030a2L,
0x2ea0000001c24L,
0x2f20000002d24L,
0x2fa00000031e4L,
0x3020000002ca7L,
0x30a0000001028L,
0x31200000025e8L,
0x31a0000003aabL,
0x3220000001c2cL,
0x32a00000031ecL,
0x33200000026acL,
0x33a000000342dL,
0x34200000035efL,
0x34a0000001030L,
0x3520000003036L,
0x35a0000004d36L,
0x3620000004cbaL,
0x36a00000050baL,
0x372000000393aL,
0x37a0000001022L,
0x3820000003022L,
0x38a0000002ca2L,
0x39200000030a3L,
0x39a00000035e4L,
0x3a20000003aa8L,
0x3aa0000001c2dL,
0x3b20000001defL,
0x3ba00000012afL,
0x3c20000002c30L,
0x3ca00000051f0L,
0x3d200000041f4L,
0x3da0000004ab5L,
0x3e20000005137L,
0x3ea000000503aL,
0x3f200000039faL,
0x3fa0000002c22L,
0x4020000004de2L,
0x40a00000011e7L,
0x412000000412bL,
0x41a0000004eabL,
0x42200000032acL,
0x42a0000004030L,
0x4320000001eb2L,
0x43a00000031f6L,
0x442000000303aL,
0x44a000000513aL,
0x45200000055e8L,
0x45a00000015eaL,
0x46200000041ebL,
0x46a0000002c3aL,
0x4720000001cbaL,
0x47a0000002061L,
0x48200000035e2L,
0x48a0000004ea2L,
0x4920000001827L,
0x49a0000004c2aL,
0x4a20000002932L,
0x4aa00000055f7L,
0x4b20000001c3aL,
0x4ba00000055faL,
0x4c20000004ebaL,
0x4ca00000009e2L,
0x4d2000000602dL,
0x4da0000001645L,
0x4e200000014b2L,
0x4ea0000001641L,
0x4f200000038b2L,
0x4fa00000014b4L,
0x50200000010a5L,
0x50a00000048a9L,
0x512000000482eL,
0x51a00000038afL,
0x52200000004b4L,
0x52a0000004c21L,
0x5320000004921L,
0x53a0000001581L,
0x54200000038a4L,
0x54a0000004d25L,
0x55200000011c5L,
0x55a00000050a9L,
0x56200000039eeL,
0x56a00000024afL,
0x57200000015f2L,
0x57a0000001534L,
0x5820000003021L,
0x58a0000005241L,
0x59200000005c4L,
0x59a0000001ca5L,
0x5a200000014a8L,
0x5aa000000382cL,
0x5b200000024acL,
0x5ba0000004d2eL,
0x5c200000049eeL,
0x5ca0000004c32L,
0x5d200000010b2L,
0x5da00000030b2L,
0x5e200000050b3L,
0x5ea0000003934L,
0x5f200000014b6L,
0x5fa00000016c1L,
0x6020000004824L,
0x60a0000003ca4L,
0x6120000004ca4L,
0x61a0000000524L,
0x6220000002d25L,
0x62a0000004d85L,
0x63200000006c5L,
0x63a00000038a7L,
0x64200000024abL,
0x64a000000392cL,
0x65200000024adL,
0x65a000000342eL,
0x66200000040aeL,
0x66a0000001032L,
0x6720000002cb2L,
0x67a00000034b2L,
0x6820000005132L,
0x68a0000004c33L,
0x69200000039f3L,
0x69a00000030b4L,
0x6a200000039f4L,
0x6aa00000038b6L,
0x6b200000014b7L,
0x6ba0000002021L,
0x6c20000004021L,
0x6ca0000000501L,
0x6d20000005181L,
0x6da0000002e41L,
0x6e20000004c24L,
0x6ea00000030a4L,
0x6f200000039e4L,
0x6fa00000014a6L,
0x70200000024a8L,
0x70a00000048a8L,
0x712000000482bL,
0x71a000000392bL,
0x72200000015ebL,
0x72a0000004c2cL,
0x732000000502cL,
0x73a00000030acL,
0x742000000482dL,
0x74a000000392dL,
0x7520000002d2eL,
0x75a00000015afL,
0x7620000003830L,
0x76a0000003432L,
0x77200000040b2L,
0x77a0000004df2L,
0x7820000003ab2L,
0x78a0000000593L,
0x79200000016b3L,
0x79a00000049f4L,
0x7a200000038b7L,
0x7aa0000001461L,
0x7b20000003822L,
0x7ba0000003024L,
0x7c20000002ca4L,
0x7ca0000004d24L,
0x7d20000003ce5L,
0x7da00000050a7L,
0x7e20000003927L,
0x7ea0000002428L,
0x7f20000004828L,
0x7fa0000004c2bL,
0x8020000002cacL,
0x80a00000049ecL,
0x812000000502dL,
0x81a00000039edL,
0x82200000052aeL,
0x82a0000004830L,
0x83200000050b0L,
0x83a0000003930L,
0x8420000004032L,
0x84a0000004df3L,
0x8520000002c34L,
0x85a0000003434L,
0x8620000003134L,
0x86a00000050b6L,
0x8720000003936L,
0x87a0000003837L,
0x88200000024b7L,
0x88a00000038baL,
0x8920000003922L,
0x89a00000015e2L,
0x8a20000003424L,
0x8aa00000051e4L,
0x8b20000003aa4L,
0x8ba0000001a45L,
0x8c200000030a7L,
0x8ca000000512bL,
0x8d20000002c2cL,
0x8da000000342cL,
0x8e2000000112cL,
0x8ea000000312cL,
0x8f2000000302dL,
0x8fa00000032aeL,
0x9020000005030L,
0x90a0000004132L,
0x9120000002df2L,
0x91a00000035f2L,
0x9220000004eb2L,
0x92a0000004033L,
0x93200000031f3L,
0x93a0000000613L,
0x9420000004034L,
0x94a0000002d34L,
0x95200000011f4L,
0x95a00000031f4L,
0x9620000005036L,
0x96a00000030b6L,
0x9720000004837L,
0x97a0000003937L,
0x98200000015f7L,
0x98a0000004c22L,
0x9920000005022L,
0x99a00000039e2L,
0x9a20000003524L,
0x9aa00000022a5L,
0x9b20000003926L,
0x9ba0000003027L,
0x9c20000003028L,
0x9ca0000002ca8L,
0x9d20000004d28L,
0x9da0000005128L,
0x9e200000014aaL,
0x9ea000000342bL,
0x9f2000000112bL,
0x9fa000000312bL,
0xa02000000402cL,
0xa0a0000002d2cL,
0xa120000002c2dL,
0xa1a00000040adL,
0xa220000004dedL,
0xa2a00000051edL,
0xa3200000052afL,
0xa3a0000003030L,
0xa420000004d30L,
0xa4a0000005130L,
0xa5200000049f0L,
0xa5a0000003e50L,
0xa620000000932L,
0xa6a0000001df2L,
0xa720000004133L,
0xa7a0000002df3L,
0xa8200000035f3L,
0xa8a0000001d34L,
0xa920000004134L,
0xa9a0000002df4L,
0xaa20000003135L,
0xaaa00000010b7L,
0xab200000039f7L,
0xaba0000005061L,
0xac200000054a2L,
0xaca0000000582L,
0xad20000004c23L,
0xada0000005023L,
0xae20000002de4L,
0xaea0000001985L,
0xaf20000005026L,
0xafa00000030a6L,
0xb020000003127L,
0xb0a0000003aa7L,
0xb120000002c28L,
0xb1a0000003428L,
0xb2200000051e8L,
0xb2a00000038aaL,
0xb32000000402bL,
0xb3a0000002d2bL,
0xb42000000352bL,
0xb4a000000082cL,
0xb5200000018acL,
0xb5a0000001d2cL,
0xb62000000412cL,
0xb6a0000002decL,
0xb7200000055ecL,
0xb7a0000004eacL,
0xb82000000402dL,
0xb8a0000002d2dL,
0xb9200000031edL,
0xb9a0000001cb0L,
0xba200000040b0L,
0xbaa0000003130L,
0xbb20000001932L,
0xbba00000009f2L,
0xbc20000002eb2L,
0xbca00000036b2L,
0xbd200000032b3L,
0xbda00000016f5L,
0xbe20000002c36L,
0xbea0000004df6L,
0xbf20000003037L,
0xbfa0000004d37L,
0xc0200000038b9L,
0xc0a0000001981L,
0xc120000000aa1L,
0xc1a0000005ea1L,
0xc220000003422L,
0xc2a0000001122L,
0xc320000003122L,
0xc3a00000051e2L,
0xc420000001de4L,
0xc4a00000041e4L,
0xc520000005126L,
0xc5a0000004028L,
0xc620000002d28L,
0xc6a00000031e8L,
0xc72000000382aL,
0xc7a0000002debL,
0xc8200000055ebL,
0xc8a00000052abL,
0xc92000000182cL,
0xc9a0000001decL,
0xca20000002dedL,
0xcaa00000035edL,
0xcb20000004eadL,
0xcba0000002d30L,
0xcc20000002eb4L,
0xcca0000002022L,
0xcd200000011e2L,
0xcda00000031e2L,
0xce200000026a2L,
0xcea0000002de7L,
0xcf20000003667L,
0xcfa0000004128L,
0xd020000002de8L,
0xd0a00000052a8L,
0xd1200000050aaL,
0xd1a000000182dL,
0xd2200000041edL,
0xd2a0000004130L,
0xd3200000052b0L,
0xd3a0000005eb2L,
0xd4200000019f4L,
0xd4a0000004136L,
0xd5200000008b7L,
0xd5a00000031f7L,
0xd620000004cb9L,
0xd6a0000003939L,
0xd7200000051faL,
0xd7a0000001d22L,
0xd820000002de2L,
0xd8a0000004023L,
0xd9200000031e3L,
0xd9a0000002d26L,
0xda200000021e7L,
0xdaa0000004e07L,
0xdb200000032a7L,
0xdba00000041e8L,
0xdc200000039eaL,
0xdca00000019ecL,
0xdd20000001830L,
0xdda00000041f0L,
0xde20000000554L,
0xdea00000032b6L,
0xdf20000004137L,
0xdfa0000005ea4L,
0xe020000002de6L,
0xe0a0000001927L,
0xe120000004d49L,
0xe1a00000019edL,
0xe220000001eadL,
0xe2a0000001ab3L,
0xe320000002934L,
0xe3a0000003515L,
0xe420000002924L,
0xe4a00000019e8L,
0xe5200000022a8L,
0xe5a00000042a8L,
0xe62000000342aL,
0xe6a000000292cL,
0xe72000000206fL,
0xe7a00000042b0L,
0xe820000005df7L,
0xe8a00000040b9L,
0xe9200000032baL,
0xe9a0000001ea2L,
0xea20000004c43L,
0xeaa0000006427L,
0xeb2000000402aL,
0xeba00000008ebL,
0xec20000000ab0L,
0xeca00000042a3L,
0xed20000002927L,
0xeda0000004eaaL,
0xee200000060b4L,
0xeea00000021eaL,
0xef200000065e2L,
0xefa00000009eaL,
0xf0200000006b1L,
0xf0a00000042b9L,
0xf120000006586L,
0xf1a000000612dL,
0xf220000001aaaL,
0xf2a0000006026L,
0xf3200000061e2L,
0xf3a00000061e3L,
0xf4200000061e6L,
0xf4a0000000e98L
};
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict800;
public final class DictDataL4 {
private DictDataL4() {}
static final int LEN = 4;
static final int ROWS = 104;
static final int COLS = 15;
static final int WORDS_LEN = 932;
static final int POS_LEN = 1560;
private static long[] words() {
return DictDataL4W0.get();
}
private static long[] posFlat() {
return DictDataL4P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,941 @@
package puzzle.dict800;
public final class DictDataL4W0 {
private DictDataL4W0() {}
public static long[] get() {
return new long[] {
0x3000009042eL,
0xb00000a152eL,
0x1300000714a7L,
0x1b0000090424L,
0x2300000715e4L,
0x2b0000070427L,
0x33000009042dL,
0x3b0000090428L,
0x430000091528L,
0x4b00000916cfL,
0x530000090437L,
0x5b00000215e7L,
0x630000093df6L,
0x6b000007292dL,
0x73000007293aL,
0x7b00000914aeL,
0x83000009b8a5L,
0x8b0000071685L,
0x930000072645L,
0x9b00000a14b2L,
0xa300000694aeL,
0xab0000090432L,
0xb30000071534L,
0xbb00000716c5L,
0xc300000714a8L,
0xcb00000914abL,
0xd300000914adL,
0xdb000009a4b2L,
0xe300000715f4L,
0xeb00000614a4L,
0xf3000002a644L,
0xfb00000914a8L,
0x103000009d0a9L,
0x10b000007042dL,
0x113000006842eL,
0x11b000002b181L,
0x123000002ad85L,
0x12b00000a14a8L,
0x13300000a042cL,
0x13b00000684b4L,
0x14300000914b7L,
0x14b0000070422L,
0x15300000a15e4L,
0x15b00000614a8L,
0x163000002b0a8L,
0x16b00000a042dL,
0x173000007160fL,
0x17b0000090430L,
0x18300000296f4L,
0x18b00000614b6L,
0x1930000091536L,
0x19b00000a14b7L,
0x1a300000914baL,
0x1ab00000954a4L,
0x1b300000615e4L,
0x1bb0000083e45L,
0x1c300000a0427L,
0x1cb00000224adL,
0x1d300000a15edL,
0x1db000007153aL,
0x1e30000098422L,
0x1eb000002e8a4L,
0x1f30000093de4L,
0x1fb000005842dL,
0x203000000b42dL,
0x20b000002e9cfL,
0x21300000594b7L,
0x21b0000058436L,
0x22300000a153aL,
0x22b0000023de4L,
0x23300000314a7L,
0x23b0000093de8L,
0x2430000029489L,
0x24b000005d4acL,
0x253000003152cL,
0x25b000000c030L,
0x26300000595e2L,
0x26b000009042aL,
0x273000005843aL,
0x27b000005953aL,
0x2830000073dfaL,
0x28b000009a6a8L,
0x29300000a4cb2L,
0x29b00000615d3L,
0x2a30000091693L,
0x2ab000007d1e6L,
0x2b3000009b8adL,
0x2bb000005b8a4L,
0x2c3000009b82bL,
0x2cb00000a382bL,
0x2d3000002382cL,
0x2db00000239f2L,
0x2e300000a38b6L,
0x2eb00000956b6L,
0x2f300000a38a2L,
0x2fb000005b824L,
0x30300000a55e6L,
0x30b000009ad2eL,
0x31300000a25efL,
0x31b0000020693L,
0x323000007d2a1L,
0x32b0000023828L,
0x33300000a4828L,
0x33b000002392bL,
0x34300000a39ebL,
0x34b000003b82cL,
0x3530000070590L,
0x35b0000062693L,
0x36300000a3837L,
0x36b0000023822L,
0x373000003b924L,
0x37b0000024828L,
0x38300000239edL,
0x38b000004bdedL,
0x39300000a4eb2L,
0x39b0000061613L,
0x3a30000080693L,
0x3ab00000a4c36L,
0x3b30000023936L,
0x3bb00000248b7L,
0x3c3000005b822L,
0x3cb000003b827L,
0x3d300000230a7L,
0x3db00000239e8L,
0x3e300000a3aabL,
0x3eb000009b5f3L,
0x3f3000006be93L,
0x3fb000005c8b7L,
0x403000003b822L,
0x40b0000059590L,
0x41300000a4d37L,
0x41b000005d644L,
0x42300000a08a8L,
0x42b00000a35ebL,
0x433000005d693L,
0x43b000005b0b7L,
0x44300000a3137L,
0x44b00000a2065L,
0x45300000a1cbaL,
0x45b00000a2061L,
0x46300000bd5eaL,
0x46b000007292cL,
0x473000006b126L,
0x47b0000072930L,
0x483000005a932L,
0x48b0000022934L,
0x4930000040df4L,
0x49b00000330baL,
0x4a300000832a8L,
0x4ab000003b9eaL,
0x4b30000052656L,
0x4bb0000072937L,
0x4c30000072926L,
0x4cb000005a92bL,
0x4d30000052582L,
0x4db0000040d3aL,
0x4e30000058c2aL,
0x4eb00000c8822L,
0x4f30000032936L,
0x4fb00000714aeL,
0x5030000071645L,
0x50b000002b8b2L,
0x513000000ba45L,
0x51b00000295d3L,
0x52300000714b4L,
0x52b0000071485L,
0x53300000238a5L,
0x53b00000714acL,
0x543000009152eL,
0x54b000002c832L,
0x55300000724b2L,
0x55b00000914b4L,
0x56300000914acL,
0x56b00000714adL,
0x573000007164fL,
0x57b00000290b2L,
0x58300000214b2L,
0x58b00000724b3L,
0x5930000091481L,
0x59b00000715a1L,
0x5a30000071524L,
0x5ab0000023925L,
0x5b3000002b8a7L,
0x5bb000002b82bL,
0x5c3000007042cL,
0x5cb00000994acL,
0x5d3000002042eL,
0x5db00000a1532L,
0x5e300000915f2L,
0x5eb000000c833L,
0x5f3000002c933L,
0x5fb0000029593L,
0x6030000024821L,
0x60b0000071601L,
0x613000002b641L,
0x61b00000714a2L,
0x623000002d024L,
0x62b00000214a4L,
0x6330000091524L,
0x63b000002a5cbL,
0x643000002d02cL,
0x64b00000214acL,
0x65300000914b0L,
0x65b0000020432L,
0x66300000814b2L,
0x66b00000995f2L,
0x67300000a15f2L,
0x67b000002cdf2L,
0x683000002d133L,
0x68b00000a1534L,
0x69300000915f4L,
0x69b0000071655L,
0x6a300000914b6L,
0x6ab0000061481L,
0x6b3000002d161L,
0x6bb00000914a2L,
0x6c30000029642L,
0x6cb000002b024L,
0x6d3000000d024L,
0x6db00000604a4L,
0x6e3000003a5c5L,
0x6eb0000070428L,
0x6f3000002d0a8L,
0x6fb00000614abL,
0x703000002902cL,
0x70b00000594acL,
0x71300000a152cL,
0x71b00000915ecL,
0x723000002d02dL,
0x72b00000290adL,
0x73300000614adL,
0x73b000009152dL,
0x743000000b92dL,
0x74b00000314aeL,
0x753000009d4aeL,
0x75b00000695eeL,
0x763000002924fL,
0x76b0000058432L,
0x7730000068432L,
0x77b0000069532L,
0x78300000291f2L,
0x78b0000060434L,
0x7930000029514L,
0x79b0000069481L,
0x7a300000a14a2L,
0x7ab0000020424L,
0x7b3000002b424L,
0x7bb000006be45L,
0x7c30000090427L,
0x7cb000002d027L,
0x7d300000614a7L,
0x7db000002b0a7L,
0x7e3000009842bL,
0x7eb000002902bL,
0x7f300000594abL,
0x7fb000009952bL,
0x80300000394acL,
0x80b0000029cacL,
0x81300000224acL,
0x81b000002d8acL,
0x823000002152cL,
0x82b00000915edL,
0x83300000a3deeL,
0x83b00000714efL,
0x84300000716cfL,
0x84b0000091530L,
0x8530000029590L,
0x85b00000715f0L,
0x8630000080432L,
0x86b000009d4b2L,
0x8730000081532L,
0x87b00000695f2L,
0x883000002b5f2L,
0x88b0000058434L,
0x893000002c034L,
0x89b000002b534L,
0x8a30000073df4L,
0x8ab000002b0b6L,
0x8b30000070437L,
0x8bb000002c837L,
0x8c300000994b7L,
0x8cb0000068481L,
0x8d30000091522L,
0x8db00000291e4L,
0x8e3000002caa4L,
0x8eb0000030645L,
0x8f300000a24a7L,
0x8fb0000098428L,
0x90300000a0428L,
0x90b00000915e8L,
0x913000006042bL,
0x91b000004958bL,
0x9230000029c2cL,
0x92b0000073decL,
0x933000006042dL,
0x93b00000ab8adL,
0x94300000995edL,
0x94b000005d4aeL,
0x9530000028d2eL,
0x95b0000023deeL,
0x96300000a1530L,
0x96b0000028c32L,
0x97300000815f2L,
0x97b000009bdf2L,
0x98300000314b4L,
0x98b00000726b4L,
0x9930000098436L,
0x99b0000099536L,
0x9a300000915f6L,
0x9ab00000214b7L,
0x9b30000061441L,
0x9bb00000a0422L,
0x9c300000915e2L,
0x9cb0000038424L,
0x9d30000081524L,
0x9db00000595e4L,
0x9e30000061745L,
0x9eb000002cc26L,
0x9f30000091526L,
0x9fb000002b427L,
0xa0300000624a7L,
0xa0b0000060428L,
0xa1300000624a8L,
0xa1b000004b0a8L,
0xa23000005842bL,
0xa2b00000615ebL,
0xa33000003842cL,
0xa3b00000314acL,
0xa43000003952cL,
0xa4b000008152cL,
0xa53000002d92cL,
0xa5b000006242dL,
0xa6300000291edL,
0xa6b00000215edL,
0xa730000073dedL,
0xa7b000009144fL,
0xa8300000249efL,
0xa8b00000a4defL,
0xa930000060430L,
0xa9b0000073d30L,
0xaa300000995f0L,
0xaab0000023df2L,
0xab3000009a6b2L,
0xabb00000a26b2L,
0xac3000009d433L,
0xacb00000815f3L,
0xad3000007d1f4L,
0xadb000004d654L,
0xae30000061536L,
0xaeb00000a15f6L,
0xaf30000029037L,
0xafb00000a1537L,
0xb03000009153aL,
0xb0b00000715faL,
0xb13000002b9faL,
0xb1b0000021522L,
0xb23000009bde4L,
0xb2b00000616a4L,
0xb330000092426L,
0xb3b00000a24a6L,
0xb43000002d827L,
0xb4b00000954a7L,
0xb530000058428L,
0xb5b00000215e8L,
0xb63000009d4abL,
0xb6b00000595ebL,
0xb730000093debL,
0xb7b000009bdecL,
0xb83000002d9ecL,
0xb8b000003842dL,
0xb930000093dedL,
0xb9b0000059530L,
0xba3000005bdf2L,
0xbab000006bdf2L,
0xbb3000002e9f2L,
0xbbb00000626b2L,
0xbc3000007b1f3L,
0xbcb00000615f6L,
0xbd3000002ac37L,
0xbdb0000061537L,
0xbe300000615e2L,
0xbeb000002ac23L,
0xbf3000005d4a4L,
0xbfb0000031524L,
0xc03000002b126L,
0xc0b00000605e7L,
0xc130000093de7L,
0xc1b000009d4a8L,
0xc2300000595e8L,
0xc2b00000799c9L,
0xc33000007b12bL,
0xc3b000009bdebL,
0xc430000023decL,
0xc4b000009a6acL,
0xc530000029dedL,
0xc5b00000bd42eL,
0xc630000081530L,
0xc6b00000726b0L,
0xc7300000a38b2L,
0xc7b000005a6b2L,
0xc83000006a6b2L,
0xc8b0000038436L,
0xc930000058437L,
0xc9b0000073df7L,
0xca3000002043aL,
0xcab000006043aL,
0xcb300000814baL,
0xcbb0000029cbaL,
0xcc300000624baL,
0xccb000006153aL,
0xcd300000a15faL,
0xcdb00000695e2L,
0xce30000093de2L,
0xceb000002c023L,
0xcf300000291e3L,
0xcfb00000a3de7L,
0xd030000029de8L,
0xd0b000002c1e8L,
0xd130000063debL,
0xd1b000005bdecL,
0xd2300000226acL,
0xd2b000009a6adL,
0xd3300000248aeL,
0xd3b00000a4caeL,
0xd43000009d430L,
0xd4b00000815f0L,
0xd53000009bdf0L,
0xd5b00000a3df0L,
0xd6300000bd432L,
0xd6b000003a6b2L,
0xd730000048433L,
0xd7b0000048434L,
0xd8300000a38b4L,
0xd8b0000038437L,
0xd930000039537L,
0xd9b000005a4baL,
0xda300000395e2L,
0xdab000009bde2L,
0xdb300000a3de2L,
0xdbb000002ade3L,
0xdc3000000b1e3L,
0xdcb0000083de4L,
0xdd3000005a6a4L,
0xddb000006a6a4L,
0xde300000956a4L,
0xdeb0000030427L,
0xdf3000002902aL,
0xdfb00000748abL,
0xe03000009b8acL,
0xe0b000003bdecL,
0xe130000083decL,
0xe1b000005a6acL,
0xe23000002956fL,
0xe2b0000063df0L,
0xe330000023832L,
0xe3b0000033df2L,
0xe43000003a6b4L,
0xe4b000003843aL,
0xe5300000605faL,
0xe5b00000595faL,
0xe63000009d241L,
0xe6b0000023de2L,
0xe73000009a6a2L,
0xe7b00000a26a2L,
0xe830000029823L,
0xe8b000000b5e3L,
0xe93000009b824L,
0xe9b00000495e4L,
0xea3000007a065L,
0xeab00000315e8L,
0xeb3000007b5e8L,
0xebb00000a55e8L,
0xec300000226a8L,
0xecb00000626a8L,
0xed300000814aaL,
0xedb00000a38abL,
0xee30000083debL,
0xeeb00000255ebL,
0xef3000009b82cL,
0xefb00000956adL,
0xf03000002a58fL,
0xf0b00000a10b2L,
0xf1300000bd5f2L,
0xf1b0000093dd3L,
0xf230000090693L,
0xf2b0000023834L,
0xf3300000a4cb4L,
0xf3b00000626b6L,
0xf4300000315e2L,
0xf4b000006bde2L,
0xf53000002e9e2L,
0xf5b0000071642L,
0xf630000063de3L,
0xf6b0000033de4L,
0xf73000007caa5L,
0xf7b00000255e7L,
0xf830000048428L,
0xf8b000009b8a8L,
0xf93000003bde8L,
0xf9b0000083de8L,
0xfa300000255e8L,
0xfab00000956a8L,
0xfb300000615eaL,
0xfbb000009c8abL,
0xfc3000009d0acL,
0xfcb00000a392cL,
0xfd3000009b82dL,
0xfdb000000e42dL,
0xfe3000002eaadL,
0xfeb00000956b0L,
0xff3000003b832L,
0xffb000009d132L,
0x100300000a1593L,
0x100b0000061693L,
0x1013000005b834L,
0x101b00000a30b4L,
0x1023000006c8b4L,
0x102b00000bd5f4L,
0x10330000059654L,
0x103b0000048422L,
0x1043000003bde2L,
0x104b000005a6a2L,
0x105300000956a2L,
0x105b000009b827L,
0x106300000bd427L,
0x106b000009b828L,
0x107300000a48a8L,
0x107b00000a2dc9L,
0x1083000003842aL,
0x108b000004baaaL,
0x109300000605cbL,
0x109b00000a064bL,
0x10a300000a4c2cL,
0x10ab00000a39ecL,
0x10b3000002382dL,
0x10bb000009c82dL,
0x10c300000a4cadL,
0x10cb000009d0adL,
0x10d3000006c9eeL,
0x10db000009c8b0L,
0x10e300000a1650L,
0x10eb000003b932L,
0x10f3000009d1f2L,
0x10fb000009acb3L,
0x110300000a15b3L,
0x110b00000805d3L,
0x1113000005a5d3L,
0x111b0000070613L,
0x11230000060693L,
0x112b0000069693L,
0x1133000003b834L,
0x113b000009c8b6L,
0x1143000009b8b7L,
0x114b00000255f7L,
0x1153000006bdfaL,
0x115b00000a55faL,
0x116300000226baL,
0x116b00000a38a3L,
0x117300000bd4a5L,
0x117b0000098647L,
0x118300000a3928L,
0x118b00000a4c2bL,
0x1193000005c8abL,
0x119b000005b92cL,
0x11a300000a4d2cL,
0x11ab000005b82dL,
0x11b3000005c8adL,
0x11bb00000bd5edL,
0x11c300000c856fL,
0x11cb00000292afL,
0x11d30000023830L,
0x11db00000a4830L,
0x11e300000a4cb0L,
0x11eb0000072613L,
0x11f30000058693L,
0x11fb0000068693L,
0x12030000080654L,
0x120b00000a4cb6L,
0x121300000bd437L,
0x121b00000956baL,
0x122300000a4ca2L,
0x122b0000073e42L,
0x1233000009b826L,
0x123b00000a4c27L,
0x1243000005b828L,
0x124b0000023deaL,
0x125300000a4d2bL,
0x125b000009d12bL,
0x1263000009858bL,
0x126b00000805cbL,
0x1273000004bdebL,
0x127b00000a49ebL,
0x128300000a3e4bL,
0x128b00000a1cacL,
0x129300000249ecL,
0x129b00000a4decL,
0x12a3000005c82dL,
0x12ab00000230adL,
0x12b3000009cd2dL,
0x12bb00000a4d2dL,
0x12c3000009cc30L,
0x12cb00000a4c30L,
0x12d30000070473L,
0x12db0000058593L,
0x12e300000a3d93L,
0x12eb000003b9f3L,
0x12f3000003b9f4L,
0x12fb0000082654L,
0x1303000005be54L,
0x130b00000a5654L,
0x13130000023837L,
0x131b00000a4cb7L,
0x132300000a3937L,
0x132b0000009df9L,
0x133300000a30a2L,
0x133b0000023922L,
0x134300000a39e2L,
0x134b00000bd5e2L,
0x135300000a2642L,
0x135b0000070583L,
0x13630000098587L,
0x136b000004bde7L,
0x13730000068647L,
0x137b00000a3e47L,
0x1383000009b028L,
0x138b00000a3028L,
0x1393000003b828L,
0x139b000009aca8L,
0x13a300000230a8L,
0x13ab000004bde8L,
0x13b3000004b2aaL,
0x13bb000006958bL,
0x13c300000a4debL,
0x13cb000009d1ebL,
0x13d3000008064bL,
0x13db000003b9ecL,
0x13e3000009b42dL,
0x13eb000005b0adL,
0x13f300000a312dL,
0x13fb00000a3aadL,
0x1403000003b830L,
0x140b000005c830L,
0x1413000005b930L,
0x141b00000a4d30L,
0x14230000098590L,
0x142b00000a0590L,
0x143300000239f0L,
0x143b00000a49f0L,
0x14430000058650L,
0x144b0000083432L,
0x145300000a2513L,
0x145b0000038593L,
0x14630000080593L,
0x146b000006a593L,
0x14730000059613L,
0x147b00000a2613L,
0x1483000005be93L,
0x148b000004e034L,
0x1493000009b036L,
0x149b00000a3036L,
0x14a3000003b836L,
0x14ab00000230b6L,
0x14b300000239f6L,
0x14bb0000023937L,
0x14c3000002383aL,
0x14cb000003c8a2L,
0x14d3000005b922L,
0x14db00000239e2L,
0x14e30000058642L,
0x14eb0000062642L,
0x14f30000024823L,
0x14fb00000a4c23L,
0x150300000849e4L,
0x150b0000099586L,
0x1513000009a646L,
0x151b0000099127L,
0x1523000003b927L,
0x152b0000020587L,
0x15330000080647L,
0x153b000006b0a8L,
0x154300000234a8L,
0x154b000005b9e8L,
0x1553000006b02bL,
0x155b000008158bL,
0x1563000009bd8bL,
0x156b0000083dcbL,
0x157300000655cbL,
0x157b000006be4bL,
0x158300000a1d2cL,
0x158b00000a4eacL,
0x1593000002312dL,
0x159b000002deafL,
0x15a300000a2c30L,
0x15ab00000a4df0L,
0x15b3000005a650L,
0x15bb00000a3ab0L,
0x15c300000a3d13L,
0x15cb000005bd93L,
0x15d300000a3e13L,
0x15db0000030693L,
0x15e30000083e93L,
0x15eb000005b1f4L,
0x15f3000005cab4L,
0x15fb0000059596L,
0x1603000005b9f6L,
0x160b000009b037L,
0x161300000a3037L,
0x161b000003b837L,
0x1623000006c837L,
0x162b00000239f7L,
0x16330000058657L,
0x163b0000020582L,
0x164300000249e2L,
0x164b000005b1e4L,
0x165300000a0586L,
0x165b000004bde6L,
0x166300000a49e6L,
0x166b00000991e7L,
0x167300000830a8L,
0x167b000008058bL,
0x1683000005a58bL,
0x168b00000a4eabL,
0x1693000008342cL,
0x169b0000058590L,
0x16a300000a3d90L,
0x16ab000009b1f0L,
0x16b300000835f2L,
0x16bb00000348b6L,
0x16c30000058596L,
0x16cb0000068596L,
0x16d300000a3d96L,
0x16db000005c9f6L,
0x16e3000006c9f6L,
0x16eb00000249f7L,
0x16f3000004bdfaL,
0x16fb00000a1503L,
0x1703000003d644L,
0x170b0000030647L,
0x1713000008342bL,
0x171b000005bd8bL,
0x1723000009d58bL,
0x172b000005d64bL,
0x173300000a192cL,
0x173b00000a2eacL,
0x1743000002e2acL,
0x174b0000083e50L,
0x17530000033e93L,
0x175b0000038596L,
0x17630000023137L,
0x176b000006c9f7L,
0x1773000003b93aL,
0x177b000005a582L,
0x1783000003c9e2L,
0x178b0000044c23L,
0x179300000a31e3L,
0x179b000006be46L,
0x17a30000083d8bL,
0x17ab00000686ebL,
0x17b30000040deeL,
0x17bb000009d590L,
0x17c30000058df2L,
0x17cb0000065613L,
0x17d3000001d654L,
0x17db000005b1f6L,
0x17e300000849f7L,
0x17eb000005b839L,
0x17f3000006b03aL,
0x17fb000003b9faL,
0x1803000005bd82L,
0x180b00000a5582L,
0x181300000a32a2L,
0x181b0000034aa4L,
0x182300000a1927L,
0x182b0000033e47L,
0x18330000033028L,
0x183b0000040c2cL,
0x18430000033e50L,
0x184b0000022932L,
0x185300000bbd13L,
0x185b000003b1f6L,
0x1863000005b1f7L,
0x186b000003c9faL,
0x1873000003d642L,
0x187b00000c8647L,
0x18830000041d28L,
0x188b0000058d2bL,
0x189300000c902cL,
0x189b0000040cb0L,
0x18a300000835f0L,
0x18ab000002c334L,
0x18b300000a32baL,
0x18bb0000044ea2L,
0x18c30000083d86L,
0x18cb00000331e7L,
0x18d300000cb9f0L,
0x18db0000082932L,
0x18e3000003d596L,
0x18eb00000586faL,
0x18f30000031503L,
0x18fb0000082503L,
0x1903000009a928L,
0x190b000005baaaL,
0x1913000005a92cL,
0x191b000006292dL,
0x192300000331f7L,
0x192b000005b2baL,
0x193300000a2922L,
0x193b000005caaaL,
0x19430000062930L,
0x194b000009a937L,
0x19530000062922L,
0x195b00000cd123L,
0x19630000015583L,
0x196b0000022937L,
0x197300000a293aL,
0x197b000003292cL,
0x19830000082930L,
0x198b000005a937L,
0x19930000058ea6L,
0x199b00000ccaaaL,
0x19a300000d682aL,
0x19ab0000040deaL,
0x19b30000032937L,
0x19bb00000ce0b3L,
0x19c300000715c5L,
0x19cb000002b9c5L,
0x19d300000714b2L,
0x19db000002b9c9L,
0x19e3000002c82eL,
0x19eb00000a14aeL,
0x19f3000002d1c1L,
0x19fb0000071681L,
0x1a0300000714a4L,
0x1a0b00000a48a5L,
0x1a1300000291c5L,
0x1a1b0000091685L,
0x1a23000002b8acL,
0x1a2b0000073caeL,
0x1a3300000715eeL,
0x1a3b000002b9eeL,
0x1a4300000994b2L,
0x1a4b000002c8b4L,
0x1a530000029654L,
0x1a5b0000071581L,
0x1a630000099641L,
0x1a6b00000914a4L,
0x1a7300000a4ca5L,
0x1a7b0000070585L,
0x1a8300000714abL,
0x1a8b000002b4aeL,
0x1a93000007c8aeL,
0x1a9b000009952eL,
0x1aa3000000c832L,
0x1aab00000614b2L,
0x1ab3000000c8b3L,
0x1abb0000071533L,
0x1ac30000029693L,
0x1acb000000b834L,
0x1ad3000009c821L,
0x1adb0000071561L,
0x1ae3000004d1c1L,
0x1aeb0000073e41L,
0x1af3000002ce61L,
0x1afb00000a14a4L,
0x1b0300000a30a5L,
0x1b0b0000029dc5L,
0x1b13000009c8a9L,
0x1b1b00000291c9L,
0x1b2300000a14acL,
0x1b2b000002b92cL,
0x1b33000000902eL,
0x1b3b000002b42eL,
0x1b43000004cc2eL,
0x1b4b00000714b0L,
0x1b53000002b8b0L,
0x1b5b0000098432L,
0x1b6300000a0432L,
0x1b6b0000029032L,
0x1b7300000604b2L,
0x1b7b00000a24b2L,
0x1b83000002d132L,
0x1b8b0000090433L,
0x1b930000091533L,
0x1b9b000002b0b4L,
0x1ba3000002b9f4L,
0x1bab00000714b6L,
0x1bb300000a4c21L,
0x1bbb0000099581L,
0x1bc300000915a1L,
0x1bcb000002b8a2L,
0x1bd300000290a4L,
0x1bdb000002b0a4L,
0x1be3000000b924L,
0x1beb0000061485L,
0x1bf300000a4d25L,
0x1bfb0000029e45L,
0x1c03000009be45L,
0x1c0b00000916c5L,
0x1c1300000914a7L,
0x1c1b000002c8a8L,
0x1c2300000994abL,
0x1c2b00000a14abL,
0x1c33000007152bL,
0x1c3b000002b92bL,
0x1c43000009042cL,
0x1c4b00000290acL,
0x1c53000009152cL,
0x1c5b000002c92cL,
0x1c63000002b9ecL,
0x1c6b000000b82dL,
0x1c73000002c82dL,
0x1c7b00000994adL,
0x1c8300000a14adL,
0x1c8b000002d0adL,
0x1c93000007152dL,
0x1c9b000002b92dL,
0x1ca300000291eeL,
0x1cab00000615eeL,
0x1cb3000000d1eeL,
0x1cbb0000029650L,
0x1cc3000002ac32L,
0x1ccb0000029132L,
0x1cd3000002bab2L,
0x1cdb000004c833L,
0x1ce300000604b3L,
0x1ceb000000b0b3L,
0x1cf3000002b034L,
0x1cfb00000594b4L,
0x1d0300000694b4L,
0x1d0b000002ba55L,
0x1d130000029656L,
0x1d1b00000714b7L
};
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict800;
public final class DictDataL5 {
private DictDataL5() {}
static final int LEN = 5;
static final int ROWS = 130;
static final int COLS = 38;
static final int WORDS_LEN = 2399;
static final int POS_LEN = 4940;
private static long[] words() {
return DictDataL5W0.get();
}
private static long[] posFlat() {
return DictDataL5P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
package puzzle.dict800;
public final class DictDataL6 {
private DictDataL6() {}
static final int LEN = 6;
static final int ROWS = 156;
static final int COLS = 38;
static final int WORDS_LEN = 2382;
static final int POS_LEN = 5928;
private static long[] words() {
return DictDataL6W0.get();
}
private static long[] posFlat() {
return DictDataL6P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
package puzzle.dict800;
public final class DictDataL7 {
private DictDataL7() {}
static final int LEN = 7;
static final int ROWS = 182;
static final int COLS = 99;
static final int WORDS_LEN = 6278;
static final int POS_LEN = 18018;
private static long[] words() {
return DictDataL7W0.get();
}
private static long[] posFlat() {
long[] out = new long[POS_LEN];
int k = 0;
k = copy(out, k, DictDataL7P0.get());
k = copy(out, k, DictDataL7P1.get());
k = copy(out, k, DictDataL7P2.get());
return out;
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,45 @@
package puzzle.dict800;
public final class DictDataL8 {
private DictDataL8() {}
static final int LEN = 8;
static final int ROWS = 208;
static final int COLS = 61;
static final int WORDS_LEN = 3886;
static final int POS_LEN = 12688;
private static long[] words() {
return DictDataL8W0.get();
}
private static long[] posFlat() {
long[] out = new long[POS_LEN];
int k = 0;
k = copy(out, k, DictDataL8P0.get());
k = copy(out, k, DictDataL8P1.get());
return out;
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
package puzzle.dict900;
public final class DictData {
private DictData() {}
public static final puzzle.SwedishGenerator.Dict DICT900 = build();
private static puzzle.SwedishGenerator.Dict build() {
puzzle.SwedishGenerator.DictEntry[] idx = new puzzle.SwedishGenerator.DictEntry[puzzle.SwedishGenerator.MAX_WORD_LENGTH_PLUS_ONE];
idx[2] = DictDataL2.entry();
idx[3] = DictDataL3.entry();
idx[4] = DictDataL4.entry();
idx[5] = DictDataL5.entry();
idx[6] = DictDataL6.entry();
idx[7] = DictDataL7.entry();
idx[8] = DictDataL8.entry();
return new puzzle.SwedishGenerator.Dict(idx, 38674);
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict900;
public final class DictDataL2 {
private DictDataL2() {}
static final int LEN = 2;
static final int ROWS = 52;
static final int COLS = 2;
static final int WORDS_LEN = 120;
static final int POS_LEN = 104;
private static long[] words() {
return DictDataL2W0.get();
}
private static long[] posFlat() {
return DictDataL2P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

View File

@@ -0,0 +1,113 @@
package puzzle.dict900;
public final class DictDataL2P0 {
private DictDataL2P0() {}
public static long[] get() {
return new long[] {
0x2210a009040800L,
0x8000004108008L,
0x0L,
0x108000010100L,
0x0L,
0x55000200200L,
0x2040000200000008L,
0x400L,
0x4084630080000003L,
0xe00080000000L,
0x0L,
0x20800L,
0x100000000010000L,
0x1000L,
0x8000000000004000L,
0x2000002010L,
0x208000000081410L,
0x40000002000000L,
0x400100L,
0x20008000000L,
0x400000000000000L,
0x10000000000020L,
0x800000402000000L,
0x1L,
0x804002000L,
0x810000042L,
0x800000008200L,
0x0L,
0x1000000060120080L,
0x21000000400000L,
0x10000000L,
0x2000100004080L,
0x0L,
0x0L,
0x44000000000L,
0x0L,
0x11080000000000L,
0x220000000L,
0x1000000004L,
0x0L,
0x100800000L,
0x80000040840000L,
0x0L,
0x4000401000004L,
0x20L,
0x80000080000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x200040L,
0x0L,
0x8401040016410200L,
0x8a04L,
0x4000000000000000L,
0x8L,
0x0L,
0x80000000000L,
0x202200000000000L,
0x20004000000000L,
0x10008400008616cL,
0x6000000400000L,
0x140000L,
0x0L,
0x0L,
0x400000000000L,
0x80000148000000L,
0x8000000000L,
0x850000080000000L,
0x10000040120192L,
0x0L,
0x2000000L,
0x20000010L,
0x200000000000L,
0x400000000800L,
0x0L,
0x24000000020000L,
0x12a00040000L,
0x2000000401L,
0x10000000L,
0x2000800000200000L,
0x8297061L,
0x80L,
0x40800000800000L,
0x0L,
0x0L,
0x8a00000002L,
0x20100000000L,
0x1000010401001000L,
0x400000000L,
0x8120000000000L,
0x81001020000000L,
0x8000L,
0x5000400L,
0x1000000000L,
0x8040000000000L,
0x800000L,
0x0L,
0x0L,
0x80000000L,
0x0L,
0x100000000000L,
0x0L,
0x0L
};
}
}

View File

@@ -0,0 +1,129 @@
package puzzle.dict900;
public final class DictDataL2W0 {
private DictDataL2W0() {}
public static long[] get() {
return new long[] {
0x100000001c5L,
0x90000000245L,
0x1100000000b4L,
0x1900000000a4L,
0x210000000169L,
0x2900000000b7L,
0x3100000000baL,
0x39000000020fL,
0x4100000000aaL,
0x49000000002eL,
0x5100000001c9L,
0x590000000181L,
0x610000000269L,
0x6900000000adL,
0x7100000000a8L,
0x7900000002aeL,
0x810000000027L,
0x8900000001afL,
0x9100000000c1L,
0x9900000000a9L,
0xa100000000cfL,
0xa900000001faL,
0xb1000000002aL,
0xb900000002f5L,
0xc10000000261L,
0xc9000000002cL,
0xd1000000002dL,
0xd90000000101L,
0xe10000000030L,
0xe9000000016fL,
0xf1000000010fL,
0xf90000000125L,
0x1010000000115L,
0x1090000000244L,
0x111000000026cL,
0x119000000024dL,
0x12100000002d4L,
0x12900000001c1L,
0x13100000000b2L,
0x1390000000241L,
0x1410000000265L,
0x1490000000285L,
0x1510000000032L,
0x15900000000b3L,
0x1610000000281L,
0x1690000000085L,
0x1710000000185L,
0x17900000001eeL,
0x1810000000033L,
0x1890000000081L,
0x19100000001a5L,
0x1990000000289L,
0x1a10000000133L,
0x1a900000001a1L,
0x1b10000000124L,
0x1b90000000105L,
0x1c100000000a7L,
0x1c90000000089L,
0x1d1000000002bL,
0x1d9000000012cL,
0x1e1000000026fL,
0x1e900000001e4L,
0x1f10000000045L,
0x1f90000000028L,
0x20100000001ecL,
0x209000000012dL,
0x2110000000036L,
0x2190000000041L,
0x2210000000128L,
0x22900000001ebL,
0x23100000001edL,
0x2390000000130L,
0x2410000000122L,
0x2490000000023L,
0x25100000002a4L,
0x2590000000026L,
0x26100000001e7L,
0x26900000001e8L,
0x27100000001f0L,
0x2790000000021L,
0x28100000001e2L,
0x2890000000126L,
0x29100000001b5L,
0x29900000001f7L,
0x2a10000000121L,
0x2a900000001e3L,
0x2b100000000afL,
0x2b90000000215L,
0x2c100000002b6L,
0x2c90000000149L,
0x2d100000002a1L,
0x2d900000001eaL,
0x2e100000001cdL,
0x2e90000000293L,
0x2f10000000135L,
0x2f90000000305L,
0x3010000000250L,
0x30900000001b3L,
0x3110000000276L,
0x31900000001adL,
0x3210000000283L,
0x32900000001a8L,
0x3310000000083L,
0x3390000000102L,
0x34100000001a3L,
0x349000000024aL,
0x35100000002c3L,
0x3590000000077L,
0x3610000000322L,
0x3690000000165L,
0x37100000000e5L,
0x3790000000205L,
0x381000000028fL,
0x38900000000b0L,
0x39100000000b6L,
0x39900000002c1L,
0x3a1000000012bL,
0x3a9000000008fL,
0x3b10000000209L,
0x3b90000000295L
};
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict900;
public final class DictDataL3 {
private DictDataL3() {}
static final int LEN = 3;
static final int ROWS = 78;
static final int COLS = 15;
static final int WORDS_LEN = 903;
static final int POS_LEN = 1170;
private static long[] words() {
return DictDataL3W0.get();
}
private static long[] posFlat() {
return DictDataL3P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,912 @@
package puzzle.dict900;
public final class DictDataL3W0 {
private DictDataL3W0() {}
public static long[] get() {
return new long[] {
0x200000038a5L,
0xa0000005024L,
0x1200000050a8L,
0x1a00000014aeL,
0x220000003821L,
0x2a00000050aeL,
0x3200000014adL,
0x3a0000003824L,
0x420000001524L,
0x4a000000382bL,
0x52000000382dL,
0x5a0000004dcfL,
0x620000004d81L,
0x6a00000038a2L,
0x7200000050adL,
0x7a000000156fL,
0x820000003836L,
0x8a0000005124L,
0x9200000015e8L,
0x9a00000055eeL,
0xa200000051f4L,
0xaa0000001537L,
0xb20000001deeL,
0xba0000005135L,
0xc200000034a8L,
0xca0000002defL,
0xd20000004c37L,
0xda0000005037L,
0xe200000030b7L,
0xea0000004ea4L,
0xf200000008a8L,
0xfa00000035ebL,
0x1020000001cb7L,
0x10a0000003137L,
0x112000000292dL,
0x11a0000002928L,
0x12200000055eaL,
0x12a0000002922L,
0x1320000002937L,
0x13a000000293aL,
0x142000000292aL,
0x14a00000015c5L,
0x15200000048a5L,
0x15a00000050a5L,
0x16200000014acL,
0x16a00000038b4L,
0x172000000502eL,
0x17a00000048b4L,
0x18200000038abL,
0x18a00000038adL,
0x1920000002caeL,
0x19a0000005032L,
0x1a200000015f4L,
0x1aa00000015e4L,
0x1b20000001dc5L,
0x1ba00000038a8L,
0x1c20000004cacL,
0x1ca00000050acL,
0x1d200000038b0L,
0x1da0000000693L,
0x1e20000004c34L,
0x1ea0000003641L,
0x1f20000001e45L,
0x1fa0000004cadL,
0x20200000015edL,
0x20a00000049efL,
0x21200000048b0L,
0x21a00000051f2L,
0x22200000048b6L,
0x22a00000014baL,
0x2320000002d85L,
0x23a000000502bL,
0x24200000039ebL,
0x24a00000005afL,
0x25200000031f2L,
0x25a0000000536L,
0x2620000004822L,
0x26a0000002c24L,
0x2720000003826L,
0x27a0000004c27L,
0x2820000005027L,
0x28a00000030a8L,
0x2920000001cacL,
0x29a0000004decL,
0x2a200000051ecL,
0x2aa0000004d2dL,
0x2b2000000060fL,
0x2ba0000004c30L,
0x2c200000050b7L,
0x2ca00000024baL,
0x2d2000000153aL,
0x2da00000010a2L,
0x2e200000030a2L,
0x2ea0000001c24L,
0x2f20000002d24L,
0x2fa00000031e4L,
0x3020000002ca7L,
0x30a0000001028L,
0x31200000025e8L,
0x31a0000003aabL,
0x3220000001c2cL,
0x32a00000031ecL,
0x33200000026acL,
0x33a000000342dL,
0x34200000035efL,
0x34a0000001030L,
0x3520000003036L,
0x35a0000004d36L,
0x3620000004cbaL,
0x36a00000050baL,
0x372000000393aL,
0x37a0000001022L,
0x3820000003022L,
0x38a0000002ca2L,
0x39200000030a3L,
0x39a00000035e4L,
0x3a20000003aa8L,
0x3aa0000001c2dL,
0x3b20000001defL,
0x3ba00000012afL,
0x3c20000002c30L,
0x3ca00000051f0L,
0x3d200000041f4L,
0x3da0000004ab5L,
0x3e20000005137L,
0x3ea000000503aL,
0x3f200000039faL,
0x3fa0000002c22L,
0x4020000004de2L,
0x40a00000011e7L,
0x412000000412bL,
0x41a0000004eabL,
0x42200000032acL,
0x42a0000004030L,
0x4320000001eb2L,
0x43a00000031f6L,
0x442000000303aL,
0x44a000000513aL,
0x45200000055e8L,
0x45a00000015eaL,
0x46200000041ebL,
0x46a0000002c3aL,
0x4720000001cbaL,
0x47a0000002061L,
0x48200000035e2L,
0x48a0000004ea2L,
0x4920000001827L,
0x49a0000004c2aL,
0x4a20000002932L,
0x4aa00000055f7L,
0x4b20000001c3aL,
0x4ba00000055faL,
0x4c20000004ebaL,
0x4ca00000009e2L,
0x4d2000000602dL,
0x4da0000001645L,
0x4e200000014b2L,
0x4ea0000001641L,
0x4f200000038b2L,
0x4fa00000014b4L,
0x50200000010a5L,
0x50a00000048a9L,
0x512000000482eL,
0x51a00000038afL,
0x52200000004b4L,
0x52a0000004c21L,
0x5320000004921L,
0x53a0000001581L,
0x54200000038a4L,
0x54a0000004d25L,
0x55200000011c5L,
0x55a00000050a9L,
0x56200000039eeL,
0x56a00000024afL,
0x57200000015f2L,
0x57a0000001534L,
0x5820000003021L,
0x58a0000005241L,
0x59200000005c4L,
0x59a0000001ca5L,
0x5a200000014a8L,
0x5aa000000382cL,
0x5b200000024acL,
0x5ba0000004d2eL,
0x5c200000049eeL,
0x5ca0000004c32L,
0x5d200000010b2L,
0x5da00000030b2L,
0x5e200000050b3L,
0x5ea0000003934L,
0x5f200000014b6L,
0x5fa00000016c1L,
0x6020000004824L,
0x60a0000003ca4L,
0x6120000004ca4L,
0x61a0000000524L,
0x6220000002d25L,
0x62a0000004d85L,
0x63200000006c5L,
0x63a00000038a7L,
0x64200000024abL,
0x64a000000392cL,
0x65200000024adL,
0x65a000000342eL,
0x66200000040aeL,
0x66a0000001032L,
0x6720000002cb2L,
0x67a00000034b2L,
0x6820000005132L,
0x68a0000004c33L,
0x69200000039f3L,
0x69a00000030b4L,
0x6a200000039f4L,
0x6aa00000038b6L,
0x6b200000014b7L,
0x6ba0000002021L,
0x6c20000004021L,
0x6ca0000000501L,
0x6d20000005181L,
0x6da0000002e41L,
0x6e20000004c24L,
0x6ea00000030a4L,
0x6f200000039e4L,
0x6fa00000014a6L,
0x70200000024a8L,
0x70a00000048a8L,
0x712000000482bL,
0x71a000000392bL,
0x72200000015ebL,
0x72a0000004c2cL,
0x732000000502cL,
0x73a00000030acL,
0x742000000482dL,
0x74a000000392dL,
0x7520000002d2eL,
0x75a00000015afL,
0x7620000003830L,
0x76a0000003432L,
0x77200000040b2L,
0x77a0000004df2L,
0x7820000003ab2L,
0x78a0000000593L,
0x79200000016b3L,
0x79a00000049f4L,
0x7a200000038b7L,
0x7aa0000001461L,
0x7b20000003822L,
0x7ba0000003024L,
0x7c20000002ca4L,
0x7ca0000004d24L,
0x7d20000003ce5L,
0x7da00000050a7L,
0x7e20000003927L,
0x7ea0000002428L,
0x7f20000004828L,
0x7fa0000004c2bL,
0x8020000002cacL,
0x80a00000049ecL,
0x812000000502dL,
0x81a00000039edL,
0x82200000052aeL,
0x82a0000004830L,
0x83200000050b0L,
0x83a0000003930L,
0x8420000004032L,
0x84a0000004df3L,
0x8520000002c34L,
0x85a0000003434L,
0x8620000003134L,
0x86a00000050b6L,
0x8720000003936L,
0x87a0000003837L,
0x88200000024b7L,
0x88a00000038baL,
0x8920000003922L,
0x89a00000015e2L,
0x8a20000003424L,
0x8aa00000051e4L,
0x8b20000003aa4L,
0x8ba0000001a45L,
0x8c200000030a7L,
0x8ca000000512bL,
0x8d20000002c2cL,
0x8da000000342cL,
0x8e2000000112cL,
0x8ea000000312cL,
0x8f2000000302dL,
0x8fa00000032aeL,
0x9020000005030L,
0x90a0000004132L,
0x9120000002df2L,
0x91a00000035f2L,
0x9220000004eb2L,
0x92a0000004033L,
0x93200000031f3L,
0x93a0000000613L,
0x9420000004034L,
0x94a0000002d34L,
0x95200000011f4L,
0x95a00000031f4L,
0x9620000005036L,
0x96a00000030b6L,
0x9720000004837L,
0x97a0000003937L,
0x98200000015f7L,
0x98a0000004c22L,
0x9920000005022L,
0x99a00000039e2L,
0x9a20000003524L,
0x9aa00000022a5L,
0x9b20000003926L,
0x9ba0000003027L,
0x9c20000003028L,
0x9ca0000002ca8L,
0x9d20000004d28L,
0x9da0000005128L,
0x9e200000014aaL,
0x9ea000000342bL,
0x9f2000000112bL,
0x9fa000000312bL,
0xa02000000402cL,
0xa0a0000002d2cL,
0xa120000002c2dL,
0xa1a00000040adL,
0xa220000004dedL,
0xa2a00000051edL,
0xa3200000052afL,
0xa3a0000003030L,
0xa420000004d30L,
0xa4a0000005130L,
0xa5200000049f0L,
0xa5a0000003e50L,
0xa620000000932L,
0xa6a0000001df2L,
0xa720000004133L,
0xa7a0000002df3L,
0xa8200000035f3L,
0xa8a0000001d34L,
0xa920000004134L,
0xa9a0000002df4L,
0xaa20000003135L,
0xaaa00000010b7L,
0xab200000039f7L,
0xaba0000005061L,
0xac200000054a2L,
0xaca0000000582L,
0xad20000004c23L,
0xada0000005023L,
0xae20000002de4L,
0xaea0000001985L,
0xaf20000005026L,
0xafa00000030a6L,
0xb020000003127L,
0xb0a0000003aa7L,
0xb120000002c28L,
0xb1a0000003428L,
0xb2200000051e8L,
0xb2a00000038aaL,
0xb32000000402bL,
0xb3a0000002d2bL,
0xb42000000352bL,
0xb4a000000082cL,
0xb5200000018acL,
0xb5a0000001d2cL,
0xb62000000412cL,
0xb6a0000002decL,
0xb7200000055ecL,
0xb7a0000004eacL,
0xb82000000402dL,
0xb8a0000002d2dL,
0xb9200000031edL,
0xb9a0000001cb0L,
0xba200000040b0L,
0xbaa0000003130L,
0xbb20000001932L,
0xbba00000009f2L,
0xbc20000002eb2L,
0xbca00000036b2L,
0xbd200000032b3L,
0xbda00000016f5L,
0xbe20000002c36L,
0xbea0000004df6L,
0xbf20000003037L,
0xbfa0000004d37L,
0xc0200000038b9L,
0xc0a0000001981L,
0xc120000000aa1L,
0xc1a0000005ea1L,
0xc220000003422L,
0xc2a0000001122L,
0xc320000003122L,
0xc3a00000051e2L,
0xc420000001de4L,
0xc4a00000041e4L,
0xc520000005126L,
0xc5a0000004028L,
0xc620000002d28L,
0xc6a00000031e8L,
0xc72000000382aL,
0xc7a0000002debL,
0xc8200000055ebL,
0xc8a00000052abL,
0xc92000000182cL,
0xc9a0000001decL,
0xca20000002dedL,
0xcaa00000035edL,
0xcb20000004eadL,
0xcba0000002d30L,
0xcc20000002eb4L,
0xcca0000002022L,
0xcd200000011e2L,
0xcda00000031e2L,
0xce200000026a2L,
0xcea0000002de7L,
0xcf20000003667L,
0xcfa0000004128L,
0xd020000002de8L,
0xd0a00000052a8L,
0xd1200000050aaL,
0xd1a000000182dL,
0xd2200000041edL,
0xd2a0000004130L,
0xd3200000052b0L,
0xd3a0000005eb2L,
0xd4200000019f4L,
0xd4a0000004136L,
0xd5200000008b7L,
0xd5a00000031f7L,
0xd620000004cb9L,
0xd6a0000003939L,
0xd7200000051faL,
0xd7a0000001d22L,
0xd820000002de2L,
0xd8a0000004023L,
0xd9200000031e3L,
0xd9a0000002d26L,
0xda200000021e7L,
0xdaa0000004e07L,
0xdb200000032a7L,
0xdba00000041e8L,
0xdc200000039eaL,
0xdca00000019ecL,
0xdd20000001830L,
0xdda00000041f0L,
0xde20000000554L,
0xdea00000032b6L,
0xdf20000004137L,
0xdfa0000005ea4L,
0xe020000002de6L,
0xe0a0000001927L,
0xe120000004d49L,
0xe1a00000019edL,
0xe220000001eadL,
0xe2a0000001ab3L,
0xe320000002934L,
0xe3a0000003515L,
0xe420000002924L,
0xe4a00000019e8L,
0xe5200000022a8L,
0xe5a00000042a8L,
0xe62000000342aL,
0xe6a000000292cL,
0xe72000000206fL,
0xe7a00000042b0L,
0xe820000005df7L,
0xe8a00000040b9L,
0xe9200000032baL,
0xe9a0000001ea2L,
0xea20000004c43L,
0xeaa0000006427L,
0xeb2000000402aL,
0xeba00000008ebL,
0xec20000000ab0L,
0xeca00000042a3L,
0xed20000002927L,
0xeda0000004eaaL,
0xee200000060b4L,
0xeea00000021eaL,
0xef200000065e2L,
0xefa00000009eaL,
0xf0200000006b1L,
0xf0a00000042b9L,
0xf120000006586L,
0xf1a000000612dL,
0xf220000001aaaL,
0xf2a0000006026L,
0xf3200000061e2L,
0xf3a00000061e3L,
0xf4200000061e6L,
0xf4a0000000e98L,
0xf520000000645L,
0xf5a0000001685L,
0xf6200000004b2L,
0xf6a0000002421L,
0xf720000004821L,
0xf7a00000025c1L,
0xf820000000641L,
0xf8a0000001485L,
0xf9200000051c5L,
0xf9a00000039e5L,
0xfa20000000665L,
0xfaa0000000685L,
0xfb20000003caeL,
0xfba0000004caeL,
0xfc200000024b2L,
0xfca00000005d2L,
0xfd20000005021L,
0xfda0000004a41L,
0xfe20000000661L,
0xfea0000002ca5L,
0xff20000004c2eL,
0xffa00000030aeL,
0x100200000005eeL,
0x100a00000048afL,
0x1012000000164fL,
0x101a0000000532L,
0x10220000004d21L,
0x102a00000015a1L,
0x10320000001125L,
0x103a0000002dc5L,
0x10420000005265L,
0x104a0000004e85L,
0x105200000030a9L,
0x105a00000051c9L,
0x106200000039e9L,
0x106a00000004abL,
0x107200000004adL,
0x107a00000054aeL,
0x108200000050afL,
0x108a00000014b0L,
0x10920000002433L,
0x109a0000004833L,
0x10a20000004cb4L,
0x10aa00000050b4L,
0x10b20000000534L,
0x10ba0000000654L,
0x10c20000002c21L,
0x10ca0000003421L,
0x10d200000005a1L,
0x10da0000003e61L,
0x10e20000005261L,
0x10ea00000050a4L,
0x10f20000003924L,
0x10fa0000000644L,
0x1102000000152bL,
0x110a000000152dL,
0x11120000001caeL,
0x111a0000004deeL,
0x1122000000148fL,
0x112a000000158fL,
0x113200000004b0L,
0x113a0000003032L,
0x114200000054b2L,
0x114a0000004d32L,
0x11520000004dd3L,
0x115a00000005f3L,
0x11620000002654L,
0x116a0000001655L,
0x117200000004e1L,
0x117a0000002561L,
0x11820000003da5L,
0x118a0000004da5L,
0x11920000002605L,
0x119a00000024a7L,
0x11a200000048a7L,
0x11aa0000001528L,
0x11b200000040a9L,
0x11ba00000050abL,
0x11c200000010acL,
0x11ca0000001c2eL,
0x11d2000000402eL,
0x11da000000582eL,
0x11e200000008aeL,
0x11ea00000031eeL,
0x11f20000002cafL,
0x11fa000000058fL,
0x120200000011cfL,
0x120a00000025efL,
0x12120000001650L,
0x121a0000002c32L,
0x12220000003132L,
0x122a0000004d33L,
0x12320000003034L,
0x123a00000034b4L,
0x12420000004d34L,
0x124a00000025d5L,
0x12520000003a55L,
0x125a00000024b6L,
0x12620000000441L,
0x126a0000001081L,
0x12720000004d61L,
0x127a0000001e41L,
0x12820000004241L,
0x128a00000024a2L,
0x12920000001522L,
0x129a00000049e4L,
0x12a20000004e44L,
0x12aa00000069c5L,
0x12b20000004265L,
0x12ba0000004ca8L,
0x12c20000001dc9L,
0x12ca000000492bL,
0x12d2000000302cL,
0x12da00000054acL,
0x12e20000004d2cL,
0x12ea000000512cL,
0x12f2000000264dL,
0x12fa000000412eL,
0x13020000002deeL,
0x130a0000004e6fL,
0x13120000001c32L,
0x131a0000005832L,
0x132200000008b2L,
0x132a0000002d32L,
0x13320000003532L,
0x133a00000026b2L,
0x13420000002c33L,
0x134a00000040b3L,
0x13520000000573L,
0x135a0000005273L,
0x13620000005434L,
0x136a0000004df4L,
0x13720000002d81L,
0x137a0000000dc1L,
0x13820000003e01L,
0x138a0000004ca2L,
0x139200000050a2L,
0x139a0000003124L,
0x13a20000004de4L,
0x13aa0000005045L,
0x13b2000000302bL,
0x13ba0000002cabL,
0x13c200000054abL,
0x13ca00000025ebL,
0x13d200000049ebL,
0x13da00000040acL,
0x13e200000058acL,
0x13ea0000003e6cL,
0x13f20000003e8cL,
0x13fa00000034adL,
0x140200000049edL,
0x140a00000041eeL,
0x1412000000050fL,
0x141a0000003d8fL,
0x14220000002e4fL,
0x142a0000003c30L,
0x143200000030b0L,
0x143a00000039f0L,
0x144200000018b2L,
0x144a0000002d33L,
0x14520000003533L,
0x145a0000002573L,
0x146200000011f3L,
0x146a0000001c34L,
0x14720000000514L,
0x147a00000026b4L,
0x14820000004c41L,
0x148a0000005041L,
0x14920000001d81L,
0x149a0000004181L,
0x14a200000055a1L,
0x14aa0000000e41L,
0x14b200000005e2L,
0x14ba0000002423L,
0x14c20000003ca3L,
0x14ca0000000523L,
0x14d20000004aa4L,
0x14da0000004c65L,
0x14e20000005065L,
0x14ea0000003505L,
0x14f200000041a5L,
0x14fa0000000e85L,
0x150200000050a6L,
0x150a0000001686L,
0x15120000004d27L,
0x151a0000005127L,
0x152200000054a8L,
0x152a00000049e8L,
0x15320000002c2bL,
0x153a00000051ebL,
0x15420000001dccL,
0x154a000000126cL,
0x1552000000112dL,
0x155a000000312dL,
0x15620000002eaeL,
0x156a00000018afL,
0x1572000000516fL,
0x157a000000118fL,
0x158200000051afL,
0x158a0000000490L,
0x15920000002cb0L,
0x159a0000002670L,
0x15a200000032b2L,
0x15aa0000000833L,
0x15b20000000cb3L,
0x15ba0000004db3L,
0x15c200000055f3L,
0x15ca0000004eb3L,
0x15d20000000834L,
0x15da00000052b4L,
0x15e20000003255L,
0x15ea0000005136L,
0x15f20000000596L,
0x15fa0000003c37L,
0x1602000000243aL,
0x160a00000050c1L,
0x16120000001ea1L,
0x161a0000003d22L,
0x16220000004d22L,
0x162a0000005122L,
0x16320000003c23L,
0x163a0000000ca4L,
0x16420000004904L,
0x164a0000001d24L,
0x16520000004124L,
0x165a0000003ea4L,
0x166200000052a4L,
0x166a0000004c26L,
0x16720000002c27L,
0x167a0000001ca8L,
0x168200000031ebL,
0x168a0000004aabL,
0x169200000035ecL,
0x169a000000202dL,
0x16a200000026adL,
0x16aa00000064aeL,
0x16b2000000244fL,
0x16ba0000003d0fL,
0x16c2000000358fL,
0x16ca0000000a4fL,
0x16d20000005270L,
0x16da0000001df3L,
0x16e200000041f3L,
0x16ea0000001834L,
0x16f200000059f4L,
0x16fa00000032b4L,
0x17020000003136L,
0x170a0000001037L,
0x17120000002cb7L,
0x171a00000034b7L,
0x17220000005441L,
0x172a0000000721L,
0x173200000040a2L,
0x173a0000003aa2L,
0x17420000004d23L,
0x174a00000016a3L,
0x175200000032a4L,
0x175a0000005465L,
0x17620000004d26L,
0x176a0000000586L,
0x17720000001c27L,
0x177a0000004027L,
0x178200000008a7L,
0x178a0000003d87L,
0x17920000002028L,
0x179a00000026a8L,
0x17a20000001d2dL,
0x17aa000000598fL,
0x17b200000031f0L,
0x17ba00000026b0L,
0x17c20000004ab0L,
0x17ca0000000d33L,
0x17d200000036b3L,
0x17da0000000d34L,
0x17e200000009f4L,
0x17ea0000003d96L,
0x17f200000011f6L,
0x17fa0000002c37L,
0x18020000003437L,
0x180a0000002cc1L,
0x181200000034c1L,
0x181a0000001c22L,
0x18220000002d22L,
0x182a0000003d82L,
0x183200000012c4L,
0x183a0000003426L,
0x18420000003aa6L,
0x184a0000001d27L,
0x185200000035e7L,
0x185a00000052a7L,
0x186200000018a8L,
0x186a0000005928L,
0x187200000035e8L,
0x187a000000182bL,
0x1882000000358bL,
0x188a00000032abL,
0x18920000003c4cL,
0x189a00000009ecL,
0x18a20000002eacL,
0x18aa00000012adL,
0x18b200000032adL,
0x18ba000000350fL,
0x18c20000001dafL,
0x18ca0000002510L,
0x18d20000002df0L,
0x18da00000035f0L,
0x18e20000004eb0L,
0x18ea00000019f3L,
0x18f200000042b3L,
0x18fa0000004e15L,
0x190200000052b6L,
0x190a0000002d37L,
0x191200000040baL,
0x191a0000003dfaL,
0x192200000018a2L,
0x192a0000005643L,
0x193200000019e4L,
0x193a00000022a4L,
0x194200000011e6L,
0x194a0000001828L,
0x19520000002c69L,
0x195a000000502aL,
0x1962000000192bL,
0x196a0000000decL,
0x197200000035adL,
0x197a00000036adL,
0x19820000005590L,
0x198a00000032b0L,
0x19920000000ab3L,
0x199a0000004ef5L,
0x19a20000002755L,
0x19aa0000004d16L,
0x19b20000001d37L,
0x19ba0000002df7L,
0x19c20000004c39L,
0x19ca000000403aL,
0x19d20000000c41L,
0x19da0000000922L,
0x19e200000041e2L,
0x19ea00000032a2L,
0x19f20000002503L,
0x19fa0000004903L,
0x1a020000000aa4L,
0x1a0a00000068a6L,
0x1a1200000052a6L,
0x1a1a00000036a7L,
0x1a220000003c48L,
0x1a2a00000009e8L,
0x1a3200000036a8L,
0x1a3a000000102aL,
0x1a4200000054aaL,
0x1a4a00000019ebL,
0x1a520000000aacL,
0x1a5a0000002eb0L,
0x1a620000006654L,
0x1a6a0000003cd5L,
0x1a720000001837L,
0x1a7a0000003d17L,
0x1a82000000413aL,
0x1a8a0000000c61L,
0x1a920000005541L,
0x1a9a0000000d22L,
0x1aa20000002ea2L,
0x1aaa00000012c2L,
0x1ab20000006644L,
0x1aba0000001aa4L,
0x1ac20000002446L,
0x1aca00000041e6L,
0x1ad200000042a7L,
0x1ada0000001ea8L,
0x1ae20000003149L,
0x1aea0000002c2aL,
0x1af2000000112aL,
0x1afa0000003aaaL,
0x1b0200000019f0L,
0x1b0a0000001995L,
0x1b120000000df6L,
0x1b1a0000002c39L,
0x1b220000003439L,
0x1b2a0000001dfaL,
0x1b3200000019e2L,
0x1b3a0000001722L,
0x1b420000000aa8L,
0x1b4a0000005ea8L,
0x1b520000002d49L,
0x1b5a00000031eaL,
0x1b620000001aadL,
0x1b6a0000000c54L,
0x1b720000005da2L,
0x1b7a0000005503L,
0x1b820000000983L,
0x1b8a0000000907L,
0x1b92000000082aL,
0x1b9a00000035eaL,
0x1ba200000052aaL,
0x1baa0000002930L,
0x1bb20000001ab0L,
0x1bba0000001deaL,
0x1bc200000032aaL,
0x1bca0000005031L,
0x1bd200000010b1L,
0x1bda0000006033L,
0x1be20000004334L,
0x1bea0000004c38L,
0x1bf20000002eaaL,
0x1bfa0000000c42L,
0x1c020000003727L,
0x1c0a00000060a8L,
0x1c1200000018d0L,
0x1c1a0000000c66L,
0x1c220000006037L,
0x1c2a00000062acL,
0x1c320000006126L
};
}
}

View File

@@ -0,0 +1,41 @@
package puzzle.dict900;
public final class DictDataL4 {
private DictDataL4() {}
static final int LEN = 4;
static final int ROWS = 104;
static final int COLS = 35;
static final int WORDS_LEN = 2190;
static final int POS_LEN = 3640;
private static long[] words() {
return DictDataL4W0.get();
}
private static long[] posFlat() {
return DictDataL4P0.get();
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,45 @@
package puzzle.dict900;
public final class DictDataL5 {
private DictDataL5() {}
static final int LEN = 5;
static final int ROWS = 130;
static final int COLS = 69;
static final int WORDS_LEN = 4402;
static final int POS_LEN = 8970;
private static long[] words() {
return DictDataL5W0.get();
}
private static long[] posFlat() {
long[] out = new long[POS_LEN];
int k = 0;
k = copy(out, k, DictDataL5P0.get());
k = copy(out, k, DictDataL5P1.get());
return out;
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,787 @@
package puzzle.dict900;
public final class DictDataL5P1 {
private DictDataL5P1() {}
public static long[] get() {
return new long[] {
0x2000000020002L,
0x400000000000000L,
0x2000080000000000L,
0x200000000L,
0xa0041200000L,
0x800000000000L,
0x200201L,
0x20012040001L,
0x11010L,
0x0L,
0x19000200200L,
0x2000000800000L,
0x440000L,
0x0L,
0x810000000L,
0x0L,
0x0L,
0x1000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x2000000000020000L,
0x90000000L,
0x4000001000000L,
0x0L,
0x0L,
0x820000000000000L,
0x0L,
0x0L,
0x800000000000000L,
0x0L,
0x0L,
0x100L,
0x0L,
0x1000000000000L,
0x0L,
0x20004L,
0x0L,
0x0L,
0x40L,
0x400000L,
0x40L,
0x0L,
0x1012000L,
0x100L,
0x100000000000L,
0x1000040000000001L,
0x8000L,
0x200000L,
0x2000000000010000L,
0x200000000000000L,
0x6000000000L,
0x1000000080000080L,
0x2090004400000001L,
0x2100000040008000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8000000000000000L,
0x100000000000L,
0x40800000L,
0x1000000000040008L,
0x2008000000000000L,
0x0L,
0x4000800000L,
0x800000000L,
0x200004400000000L,
0x2000008000L,
0x0L,
0x20000L,
0x40000L,
0x10L,
0x4080000000000000L,
0xa0000000000000L,
0x6001000040800000L,
0x8080L,
0x80000040L,
0x100000400L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1280000000b80080L,
0x20110a1000400200L,
0x10b0010931L,
0x50880200c0008010L,
0x108c000200010120L,
0x2100081000000000L,
0x8800200c000800L,
0x0L,
0x0L,
0x18000a5460000L,
0x16c01008000c4012L,
0x44000400180a4100L,
0xa080201100044101L,
0x4808000200000000L,
0x800020000000004L,
0x8490000002800081L,
0x228b01000000140L,
0x4480108020404000L,
0x4000400020002400L,
0x281030100021000L,
0x800100260800200L,
0x8004000042000200L,
0x1010000044000200L,
0x100000108000200L,
0x5300000000080020L,
0x0L,
0x2000100000000L,
0x8000000000820000L,
0x1020020L,
0x120000020000400L,
0x40000000000000L,
0x800010000000000L,
0x4000000L,
0x800000L,
0x4000000000000L,
0x800000000L,
0x30000000L,
0x210000000000L,
0x40981800420c0004L,
0x1000002010800000L,
0x81800000005000a0L,
0x600000001000200L,
0x10400084L,
0x1700001400080L,
0x800400200020000L,
0x408000a00000000L,
0x40002004840080L,
0x2200008000080a0L,
0x400000000008L,
0x40082L,
0x800L,
0x1008082000L,
0x820000004L,
0x40000000100000L,
0x20000L,
0x800040000000000L,
0x1000000000000020L,
0x1000000000000000L,
0x0L,
0x4200000L,
0x0L,
0x80000L,
0x0L,
0x100000000000L,
0x40000000000L,
0x0L,
0x0L,
0x0L,
0x400000L,
0x10300001010L,
0x21000000L,
0x1002002000000000L,
0x400005000020L,
0x3a0000000004L,
0x200000018004080L,
0x100800400012000L,
0x800034041000L,
0x2800020022000L,
0x1000040000000000L,
0x80000000000L,
0x12010000000080a0L,
0x2100a26022000L,
0x90400100204L,
0x400000400000012L,
0x1000200000040L,
0x1000004003020000L,
0x2010a01000L,
0x120080000050000L,
0x3104000000000189L,
0x10002000000405L,
0x40008001222000L,
0x6000100a10080L,
0x808801000000002L,
0x40052000000408L,
0x10800a80000020L,
0x4000450082212440L,
0x1081004000001700L,
0x800000044080014L,
0x840111000030022L,
0x800000008102000L,
0x158c800000812L,
0x2d000309104400L,
0x41920811024022c0L,
0x89a0040041a25149L,
0x1010020a0274044L,
0x400004002000404L,
0x1400000000020002L,
0x1040010000020800L,
0x8200440042000082L,
0x841802013201L,
0x1048001210840402L,
0x6020140000060000L,
0x704604000a980008L,
0x210802448d103L,
0x4041200000804080L,
0x400024006a004400L,
0x844006413084040L,
0x6108110408244000L,
0x400000020114104L,
0x4004002240200114L,
0x4289434006020440L,
0x140010004818000L,
0x62080210040e401L,
0x510800034010201L,
0x130100401220L,
0x800084c0084084L,
0x8880000a90012L,
0x1000480008380040L,
0x200604400401245L,
0x4002040000c01008L,
0x84455a2400400300L,
0x4112882950201406L,
0x941241042d00e01L,
0x720700200180022cL,
0x8c19d2a000288L,
0x442d48284c040226L,
0x384bf1400092c224L,
0x2000000158008L,
0x27024022002L,
0xa140000360000L,
0x180104602400246L,
0x820212400802082L,
0x40000000080e0400L,
0x4081048986440100L,
0x142520c963184100L,
0x112c668082132143L,
0x759c57ed5fa44da5L,
0x84000000000001eL,
0x801004000018004L,
0x2014020005010040L,
0x8000020L,
0x101800010088L,
0x242006210100000L,
0x4022048c00081020L,
0x4200010L,
0x2100004100aa1cL,
0x90160a00080000L,
0x28080000700002L,
0x26000008500802L,
0x420b134200910400L,
0xa00000a0020005L,
0x1000100050810089L,
0x8c00080101004016L,
0x280548044200201L,
0x29408a402c404004L,
0x2100d0200100020L,
0x418000200100200L,
0x500a2a0000000840L,
0xa280932080440000L,
0x800c00001010228cL,
0x199028d040008049L,
0x8200158a311a4435L,
0x2620b1e418624L,
0x982aa01102c00188L,
0x2e020480a83008L,
0x4000000000088014L,
0x8000220000400100L,
0x6103100004010700L,
0xa042840c0004112L,
0x41000c8104211000L,
0x81040c003115041L,
0x8800008020000800L,
0x6154a01808000220L,
0x8100802050000108L,
0x1800001200400202L,
0x65800a0020011004L,
0x8000a089101102a0L,
0x3410014004a0021L,
0x8923c01009c080L,
0x80109c200040500cL,
0x2420101101861L,
0x88000080a1220804L,
0xca00011400400142L,
0x2000009004240041L,
0x4a01e04105008000L,
0x44248808001040L,
0x2240a54232004000L,
0xfdc40d8048040000L,
0xa0a828380028b4L,
0x1108a009c9034c51L,
0x808473d22309cb48L,
0x3206ca0fbd0a319cL,
0x8d18c2c4225e65d1L,
0x91d62a62845ecc52L,
0x98d0145030f35451L,
0x214060f552d0803L,
0x212a22a1044L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x40L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000L,
0x0L,
0x0L,
0x40000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x2000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x40000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000000000000L,
0x0L,
0x0L,
0x0L,
0x10000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000000L,
0x0L,
0x0L,
0x0L,
0x20000000800000L,
0x0L,
0x400000000000L,
0x1000200000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1000000000000L,
0x0L,
0x0L,
0x0L,
0x8000000000000000L,
0x1000000000000L,
0x400000080008L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100000L,
0x200L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1000000000000002L,
0x0L,
0x5000000000000000L,
0x2L,
0x400000L,
0x100000000000000L,
0x1000000L,
0x0L,
0x4000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800L,
0x80L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8L,
0x0L,
0x0L,
0x0L,
0x1000020000000000L,
0x40000000010L,
0x0L,
0x400000000000000L,
0x0L,
0x20L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1800000000000000L,
0x40000L,
0x2L,
0x400100000000004L,
0x2000000080000L,
0x1000L,
0x408000004000L,
0x8000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x200101000L,
0x101L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x400000000000000L,
0x0L,
0x0L,
0x0L,
0x8000000004L,
0x0L,
0x10000000000000L,
0x10000000L,
0x0L,
0x400000000L,
0x404180240000010L,
0x8000710001000a02L,
0x7bf07889L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x2000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x200000010000L,
0x0L,
0x2000000000000000L,
0x0L,
0x1a16848800000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x2000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x10L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100000000L,
0x0L,
0x0L,
0x0L,
0x0L
};
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
package puzzle.dict900;
public final class DictDataL6 {
private DictDataL6() {}
static final int LEN = 6;
static final int ROWS = 156;
static final int COLS = 111;
static final int WORDS_LEN = 7065;
static final int POS_LEN = 17316;
private static long[] words() {
return DictDataL6W0.get();
}
private static long[] posFlat() {
long[] out = new long[POS_LEN];
int k = 0;
k = copy(out, k, DictDataL6P0.get());
k = copy(out, k, DictDataL6P1.get());
k = copy(out, k, DictDataL6P2.get());
return out;
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,941 @@
package puzzle.dict900;
public final class DictDataL6P2 {
private DictDataL6P2() {}
public static long[] get() {
return new long[] {
0x201000800001L,
0x4420001008100031L,
0x1801000040020010L,
0x1060000000848000L,
0x808801800040008L,
0x1704000002400088L,
0x2080090005404L,
0x88200000010200L,
0x20800840000008L,
0x421a0440880c0000L,
0x5805010958400140L,
0x248000000002009L,
0x400800000000500L,
0x808081200400400L,
0x300080049000804L,
0x20110a00000002L,
0x204402002000a000L,
0x8000010400000000L,
0x90420c000080104L,
0x2c00000004001410L,
0x1101200000a40040L,
0x1000000L,
0x805000000001L,
0x82401040001400L,
0x4240a0000L,
0x4000002L,
0x1200024070000000L,
0x850000200022L,
0x200122000000c010L,
0x20c002080200100L,
0x10001202000000L,
0x400260000088410L,
0x1002021300L,
0x50010001100000L,
0x1002000000028000L,
0x400000000000001L,
0x110000000L,
0x1202000000400400L,
0x4000000008800000L,
0x20000000L,
0x20000L,
0x1000L,
0x1000000004000000L,
0x0L,
0x1000000010000L,
0x2480210010000008L,
0x4080000L,
0x600108004000L,
0xc002202000430000L,
0x20400000002000L,
0x4000800000000000L,
0x1000100000000000L,
0x0L,
0x200400000004000L,
0x800000020000000L,
0x1000000000000040L,
0x800020L,
0xa000004L,
0x42000000400L,
0x2000200200001902L,
0x200208000004000L,
0x1080000840040L,
0x320000080L,
0x1232000802410080L,
0x400010000000000L,
0x200808000010c000L,
0x20000020022240L,
0x20c0800L,
0x9300000000200008L,
0x1002000004000000L,
0x600400080020002L,
0x104018800000420L,
0x802014L,
0x118000000000000L,
0x410L,
0x2008040020L,
0x20400800000428L,
0xc10000000022L,
0xc008080800a0004L,
0x60000b8000040L,
0x10008000000000L,
0x8980400000000000L,
0x200004000880040L,
0x1005200802000L,
0x40061400040100L,
0x24000040000L,
0x910000200L,
0x1020000000000L,
0x200008000L,
0x1000000005001000L,
0x2183104008004010L,
0x201000000800280L,
0x12000000000020L,
0x8011L,
0x9000001410000020L,
0x108000880002000L,
0x4003000000L,
0x80820031a9000010L,
0x50000c8800000804L,
0x2000400450L,
0x4941000740800000L,
0x520000000000100L,
0x68000000040L,
0x200040080300L,
0x2200c04002a2413L,
0x4000000004a04L,
0x8424010080080208L,
0x200b00800042800L,
0x8008000000000L,
0x8008005200404bL,
0xc820a00001800410L,
0x400000412183800L,
0x6426800001080L,
0x404000200000001L,
0x4401404058024001L,
0x180400048000422L,
0x4090090808080000L,
0x1a70200100122100L,
0x8002024010000800L,
0x1402400080900000L,
0x8000000200410002L,
0x303092040080a7L,
0x1021008200000320L,
0x48080294a0802800L,
0xc08040004018006dL,
0x240a810802012002L,
0x400604000080a0L,
0x101040484110000L,
0x220000214120ca0L,
0x43820000100042L,
0xc210400080040024L,
0x48000000002L,
0x1008e01008003c1L,
0x508c44000680L,
0x2000970028008000L,
0x84488890c2002002L,
0x13c000000000c0L,
0x40610000002000a4L,
0x12200044008000L,
0x12c08c4c00090808L,
0x8001001a0008061aL,
0x20038089c008001L,
0x804040001820L,
0x90012540010080L,
0x30010808802013a0L,
0x4800002001050L,
0x10008101a004000L,
0x2183c0044802329L,
0x400986480005a02L,
0x10000000041c06L,
0x60209a04c03aa0L,
0x408601040600L,
0x1420080001a100L,
0x100204002L,
0x1001L,
0x0L,
0x40000000000L,
0x108000000140202L,
0x8004001010410000L,
0x61800880100000L,
0x800000028000L,
0x800001008000000L,
0x8001000000020L,
0x810101400000020L,
0x83300000010L,
0x40000L,
0x882880000400L,
0x10180a000000L,
0x8000020008040aL,
0x184021020000L,
0x401000000000004L,
0x401000000010110L,
0x840400000000000L,
0x40000010080004L,
0x44000000080000L,
0x100001000001L,
0xda10030010400001L,
0x1a88000100004822L,
0x6c00001441005000L,
0x10401100050L,
0x450560140800282L,
0x80010e00924e820L,
0x24010002c110L,
0x911044900014100L,
0x43a080251c092L,
0x2040000081500000L,
0xa08600000604000L,
0x80002c000002200L,
0x80802001a0028000L,
0x9204504404802108L,
0x608020000a00830L,
0x102004248c8e0L,
0x0L,
0xc620800000000L,
0x80004020004L,
0x4002000000010L,
0x800000000400004L,
0x1000000001012000L,
0x1000000000102000L,
0x120b00080L,
0x8000020000100L,
0x8000000000000000L,
0x40100c0050000800L,
0x18000000000L,
0x1000000000820024L,
0x2200100000200240L,
0x93020400001000L,
0x9104404002L,
0x44200900000L,
0x2400000040010L,
0x844000120000L,
0x8080080300001L,
0x1001000000014L,
0x400008c02L,
0x101000e812010010L,
0x400204002100000L,
0x4800040200000400L,
0x400L,
0x140L,
0x2320015408840031L,
0x8000045c00000010L,
0x500004002008000L,
0x10c62040220204L,
0x800018200004000L,
0x6110103c00080868L,
0xa00280800080004L,
0x200260484020004L,
0x800341250000000L,
0x8040a400000000L,
0x808886041040L,
0x9000208010800L,
0x40000001001000L,
0x82002080193008L,
0x104281c81430800L,
0x10220821541800e1L,
0x2000900006082L,
0x9860064010061241L,
0x5010c010176b4c10L,
0x8200021100c00c0L,
0x8d080102ba9e000L,
0x7000041247800880L,
0x100020bc5ba06881L,
0x2bc030001088a08L,
0x5220000200659800L,
0xf9c0010080186108L,
0x900020c001000196L,
0x2a20030000044e0cL,
0x4b04127818da2c29L,
0x8040000044411L,
0x10000850801b0e40L,
0x500010121800001L,
0x810a80000109080L,
0x206300014028038cL,
0x88041101d340100L,
0x4cc000090004bL,
0x200700200414002L,
0x50020800044000cL,
0x401c004120831a22L,
0xc8468200000b0800L,
0x20009034000090L,
0x340084020202100L,
0x11940c0090200400L,
0x8808100c4902000L,
0x1008012204007L,
0x204842a4a082001L,
0x4a0L,
0x0L,
0x0L,
0x0L,
0x1000000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000000000L,
0x0L,
0x0L,
0x0L,
0x8000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100000L,
0x800000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1000L,
0x0L,
0x0L,
0x0L,
0x2000000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x400000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x200000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x4000000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x100L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x800000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1000000L,
0x0L,
0x0L,
0x0L,
0x100000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x40000L,
0x0L,
0x100L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x10L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x200000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x420000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8000000000000000L,
0x0L,
0x0L,
0x400L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8000000000L,
0x40L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x80000000000000L,
0x100000000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x8000000000L,
0x400000000000000L,
0x0L,
0x40011000000000L,
0x40000000400100L,
0x502a02L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x20000000L,
0x0L,
0x100001000000000L,
0x2000000010000L,
0x4010L,
0x0L,
0xa2c4000160000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x1L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x80000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x2000000000L,
0x0L,
0x0L,
0x2000000L,
0x0L,
0x20000L,
0x0L,
0x0L,
0x40004000000000L,
0x80004L,
0x8000000000000000L,
0x0L,
0x0L,
0x4000000000004L,
0x0L,
0x4000000000000000L,
0x8000000000020L,
0x200000004020000L,
0x400100400800200L,
0x220000L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x0L,
0x10L,
0x0L,
0x0L,
0x0L,
0x0L
};
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
package puzzle.dict900;
public final class DictDataL7 {
private DictDataL7() {}
static final int LEN = 7;
static final int ROWS = 182;
static final int COLS = 174;
static final int WORDS_LEN = 11117;
static final int POS_LEN = 31668;
private static long[] words() {
long[] out = new long[WORDS_LEN];
int k = 0;
k = copy(out, k, DictDataL7W0.get());
k = copy(out, k, DictDataL7W1.get());
return out;
}
private static long[] posFlat() {
long[] out = new long[POS_LEN];
int k = 0;
k = copy(out, k, DictDataL7P0.get());
k = copy(out, k, DictDataL7P1.get());
k = copy(out, k, DictDataL7P2.get());
k = copy(out, k, DictDataL7P3.get());
return out;
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,53 @@
package puzzle.dict900;
public final class DictDataL8 {
private DictDataL8() {}
static final int LEN = 8;
static final int ROWS = 208;
static final int COLS = 202;
static final int WORDS_LEN = 12877;
static final int POS_LEN = 42016;
private static long[] words() {
long[] out = new long[WORDS_LEN];
int k = 0;
k = copy(out, k, DictDataL8W0.get());
k = copy(out, k, DictDataL8W1.get());
return out;
}
private static long[] posFlat() {
long[] out = new long[POS_LEN];
int k = 0;
k = copy(out, k, DictDataL8P0.get());
k = copy(out, k, DictDataL8P1.get());
k = copy(out, k, DictDataL8P2.get());
k = copy(out, k, DictDataL8P3.get());
k = copy(out, k, DictDataL8P4.get());
k = copy(out, k, DictDataL8P5.get());
return out;
}
public static puzzle.SwedishGenerator.DictEntry entry() {
long[] wds = words();
long[] flat = posFlat();
long[][] pos = reshape(flat, ROWS, COLS);
return new puzzle.SwedishGenerator.DictEntry(wds, pos, wds.length, (wds.length + 63) >>> 6);
}
private static int copy(long[] dst, int at, long[] src) {
System.arraycopy(src, 0, dst, at, src.length);
return at + src.length;
}
private static long[][] reshape(long[] flat, int rows, int cols) {
long[][] out = new long[rows][cols];
int k = 0;
for (int r = 0; r < rows; r++) {
System.arraycopy(flat, k, out[r], 0, cols);
k += cols;
}
return out;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff