From 4e7a898d7ebf82462d895827580009902496854f Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 19 Jun 2010 15:44:03 +0100 Subject: [PATCH] Optimize for king moves in see_sign() Because we only test legal moves, a king move cannot have negative SEE. No functional change. Signed-off-by: Marco Costalba --- src/position.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index a069cf40..5026ed76 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1307,11 +1307,11 @@ int Position::see_sign(Move m) const { Square from = move_from(m); Square to = move_to(m); - // Early return if SEE cannot be negative because capturing piece value - // is not bigger then captured one. - if ( midgame_value_of_piece_on(from) <= midgame_value_of_piece_on(to) - && type_of_piece_on(from) != KING) - return 1; + // Early return if SEE cannot be negative because captured piece value + // is not less then capturing one. Note that king moves always return + // here because king midgame value is set to 0. + if (midgame_value_of_piece_on(to) >= midgame_value_of_piece_on(from)) + return 1; return see(from, to); } -- 2.39.2