mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-18 08:07:08 +08:00
Position::move_is_capture() does not handle MOVE_NONE
Actually square 0 can be dirty, so that move_is_capture(0) can return any random values. Add an assert to be sure it is caught. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -675,10 +675,12 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const {
|
||||
|
||||
|
||||
/// Position::move_is_capture() tests whether a move from the current
|
||||
/// position is a capture.
|
||||
/// position is a capture. Move must not be MOVE_NONE.
|
||||
|
||||
bool Position::move_is_capture(Move m) const {
|
||||
|
||||
assert(m != MOVE_NONE);
|
||||
|
||||
return ( !square_is_empty(move_to(m))
|
||||
&& (color_of_piece_on(move_to(m)) == opposite_color(side_to_move()))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user