introduce bitloops
This commit is contained in:
@@ -67,6 +67,10 @@ public record Export() {
|
||||
if ((bitIndex & 64) == 0) this.l1 |= 1L << bitIndex;
|
||||
else this.l2 |= 1L << (bitIndex & 63);
|
||||
}
|
||||
public void or(long lo, long hi) {
|
||||
this.l1 |= lo;
|
||||
this.l2 |= hi;
|
||||
}
|
||||
public void clear() {
|
||||
l1 = 0L;
|
||||
l2 = 0L;
|
||||
@@ -142,10 +146,10 @@ public record Export() {
|
||||
var g = filled().grid();
|
||||
var placed = new ArrayList<Placed>();
|
||||
var clueMap = filled().clueMap();
|
||||
g.grid().forEachSlot((int key, long packedPos, int len) -> {
|
||||
g.grid().forEachSlot((int key, long lo, long hi) -> {
|
||||
var word = clueMap.get(key);
|
||||
if (word != null) {
|
||||
var p = extractPlacedFromSlot(Slot.from(key, packedPos, len), word);
|
||||
var p = extractPlacedFromSlot(Slot.from(key, lo, hi), word);
|
||||
if (p != null) placed.add(p);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user