return Color(c ^ BLACK); // Toggle color
}
-constexpr Square operator~(Square s) {
- return Square(s ^ SQ_A8); // Vertical flip SQ_A1 -> SQ_A8
+constexpr Square flip_rank(Square s) {
+ return Square(s ^ SQ_A8);
+}
+
+constexpr Square flip_file(Square s) {
+ return Square(s ^ SQ_H1);
}
constexpr Piece operator~(Piece pc) {