From: Marco Costalba Date: Thu, 23 Oct 2008 20:02:10 +0000 (+0100) Subject: Fix a performance bug in generate_move_if_legal X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=2aebf8eb559a2a8129e6246b75f282fe5d1bc45a Fix a performance bug in generate_move_if_legal Use the pinned argument in pos.move_is_legal() No functional change, simply use pos.move_is_legal() as was meant to be. Signed-off-by: Marco Costalba --- diff --git a/src/movegen.cpp b/src/movegen.cpp index ecda2c2d..caec09aa 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -429,7 +429,7 @@ Move generate_move_if_legal(const Position& pos, Move m, Bitboard pinned) { assert(pos.piece_on(to - pawn_push(us)) == pawn_of_color(them)); // The move is pseudo-legal. If it is legal, return it. - return (pos.move_is_legal(m) ? m : MOVE_NONE); + return (pos.move_is_legal(m, pinned) ? m : MOVE_NONE); } // Castling moves @@ -561,12 +561,12 @@ Move generate_move_if_legal(const Position& pos, Move m, Bitboard pinned) { return MOVE_NONE; } // The move is pseudo-legal. Return it if it is legal. - return (pos.move_is_legal(m) ? m : MOVE_NONE); + return (pos.move_is_legal(m, pinned) ? m : MOVE_NONE); } // Luckly we can handle all the other pieces in one go return ( pos.piece_attacks_square(from, to) - && pos.move_is_legal(m) + && pos.move_is_legal(m, pinned) && !move_promotion(m) ? m : MOVE_NONE); }