Skip to content

Commit

Permalink
fix: Don't use GateTranslator.xor
Browse files Browse the repository at this point in the history
No need to have an "exactly-one" of piece rotations in
Constraints.addExactlyOnePiecePerPositionTo:
Constraints.addExactlyOnePositionPerPieceTo already
constrains it.

Plus GateTranslator.xor is not an "exactly-one", it is
"parity" xor so it is more confusing than anything.
  • Loading branch information
super7ramp committed Aug 21, 2024
1 parent 103c438 commit 7953ab6
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/main/java/re/belv/eternity2/solver/Constraints.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ void addExactlyOnePiecePerPositionTo(final ISolver solver) throws ContradictionE
positionPieceRotations.push(variables.representingPiece(rowIndex, columnIndex, pieceIndex, rotation));
}
final int positionPiece = solver.nextFreeVarId(true);
gator.xor(positionPiece, positionPieceRotations);
gator.or(positionPiece, positionPieceRotations);
positionPieces.push(positionPiece);
}
solver.addExactly(positionPieces, 1);
Expand Down

0 comments on commit 7953ab6

Please sign in to comment.