// Forcing value to bool 'true' or 'false' (performance warning)
#pragma warning(disable: 4800)
+// Conditional expression is constant
+#pragma warning(disable: 4127)
+
+
#endif
////
void allow_ooo(Color c);
// Helper functions for doing and undoing moves
- void do_capture_move(Move m, PieceType capture, Color them, Square to);
+ void do_capture_move(PieceType capture, Color them, Square to);
void do_castle_move(Move m);
void do_promotion_move(Move m);
void do_ep_move(Move m);
return pawns(c) & relative_rank_bb(c, RANK_7);
}
+inline bool Position::move_is_capture(Move m) const {
+
+ // Move must not be MOVE_NONE !
+
+ return ( !square_is_empty(move_to(m))
+ && (color_of_piece_on(move_to(m)) != color_of_piece_on(move_from(m)))
+ )
+ || move_is_ep(m);
+}
#endif // !defined(POSITION_H_INCLUDED)