]> git.sesse.net Git - stockfish/commitdiff
Fix move_is_capture() definition
authorMarco Costalba <mcostalba@gmail.com>
Tue, 17 May 2011 22:31:40 +0000 (23:31 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 17 May 2011 22:31:40 +0000 (23:31 +0100)
The structure of move is changed so should also the two
functions. It happens that it works by accident !

Bug spotted by Marek Kwiatkowski

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/position.h

index 7dcbb6f479ab91302e964e50de4c64cae5936e65..5db64ec3137a76e4f31951e816c3bbe0676d6294 100644 (file)
@@ -527,13 +527,13 @@ inline bool Position::is_chess960() const {
 inline bool Position::move_is_capture(Move m) const {
 
   assert (m != MOVE_NONE && m != MOVE_NULL);
 inline bool Position::move_is_capture(Move m) const {
 
   assert (m != MOVE_NONE && m != MOVE_NULL);
-  return (m & (3 << 15)) ? !move_is_castle(m) : !square_is_empty(move_to(m));
+  return !square_is_empty(move_to(m)) || move_is_ep(m);
 }
 
 inline bool Position::move_is_capture_or_promotion(Move m) const {
 
   assert (m != MOVE_NONE && m != MOVE_NULL);
 }
 
 inline bool Position::move_is_capture_or_promotion(Move m) const {
 
   assert (m != MOVE_NONE && m != MOVE_NULL);
-  return (m & (0x1F << 12)) ? !move_is_castle(m) : !square_is_empty(move_to(m));
+  return move_is_capture(m) || move_is_promotion(m);
 }
 
 inline PieceType Position::captured_piece_type() const {
 }
 
 inline PieceType Position::captured_piece_type() const {