redo
This commit is contained in:
@@ -13,9 +13,9 @@ public final class Clues {
|
||||
@Getter long lo, hi, vlo, vhi, rlo, rhi, xlo, xhi;
|
||||
public static Clues createEmpty() { return new Clues(0, 0, 0, 0, 0, 0, 0, 0); }
|
||||
|
||||
public Clues setClue(precomp.Const9x8.Cell cell) {
|
||||
if ((cell.index & 64) == 0) setClueLo(cell.mask, cell.d);
|
||||
else setClueHi(cell.mask, cell.d);
|
||||
public Clues setClue(Mask cell) {
|
||||
if ((cell.index() & 64) == 0) setClueLo(cell.lo(), cell.d());
|
||||
else setClueHi(cell.hi(), cell.d());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ public record Export() {
|
||||
|
||||
public record Signa(@Delegate Clues c) {
|
||||
|
||||
public static Signa of(Cell... cells) {
|
||||
public static Signa of(Mask... cells) {
|
||||
var c = createEmpty();
|
||||
for (var cell : cells) c.setClue(cell);
|
||||
return new Signa(c);
|
||||
|
||||
@@ -2,11 +2,13 @@ package puzzle;
|
||||
|
||||
public interface Mask {
|
||||
|
||||
record Masker(long lo, long hi)
|
||||
record Masker(long lo, long hi,int index,byte d)
|
||||
implements Mask { }
|
||||
default Mask or(Mask o) { return new Masker(o.lo() | lo(), o.hi() | hi()); }
|
||||
default Mask and(Mask o) { return new Masker(o.lo() & lo(), o.hi() & hi()); }
|
||||
default Mask or(Mask o) { return new Masker(o.lo() | lo(), o.hi() | hi(), 0, (byte) 0); }
|
||||
default Mask and(Mask o) { return new Masker(o.lo() & lo(), o.hi() & hi(), 0, (byte) 0); }
|
||||
|
||||
long hi();
|
||||
long lo();
|
||||
int index();
|
||||
byte d();
|
||||
}
|
||||
@@ -32,7 +32,8 @@ import static java.nio.charset.StandardCharsets.US_ASCII;
|
||||
@ConstGen(C = 9, R = 8, packageName = "precomp", className = "Const9x8")
|
||||
@GenerateNeighbors({
|
||||
@GenerateNeighbor(C = 9, R = 8, packageName = "precomp", className = "Neighbors9x8", MIN_LEN = 2),
|
||||
@GenerateNeighbor(C = 4, R = 3, packageName = "precomp", className = "Neighbors4x3", MIN_LEN = 2)
|
||||
@GenerateNeighbor(C = 4, R = 3, packageName = "precomp", className = "Neighbors4x3", MIN_LEN = 2),
|
||||
@GenerateNeighbor(C = 3, R = 4, packageName = "precomp", className = "Neighbors3x4", MIN_LEN = 2)
|
||||
})
|
||||
|
||||
public record SwedishGenerator() {
|
||||
|
||||
Reference in New Issue
Block a user