return Square(s ^ 56); // Vertical flip SQ_A1 -> SQ_A8
}
+inline Square operator|(File f, Rank r) {
+ return Square((r << 3) | f);
+}
+
inline Value mate_in(int ply) {
return VALUE_MATE - ply;
}
return Color(p >> 3);
}
-inline Square make_square(File f, Rank r) {
- return Square((r << 3) | f);
-}
-
inline bool is_ok(Square s) {
return s >= SQ_A1 && s <= SQ_H8;
}
}
inline bool opposite_colors(Square s1, Square s2) {
- int s = s1 ^ s2;
+ int s = int(s1) ^ int(s2);
return ((s >> 3) ^ s) & 1;
}