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 = 11121; 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; } }