From: Marco Costalba Date: Sat, 6 Dec 2008 11:22:56 +0000 (+0100) Subject: Revert see() shortcut for LxH and equal captures X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=db1b0bfa1d8391281e5e0b1f93564a1e52c41ed2;ds=sidebyside Revert see() shortcut for LxH and equal captures It happens that more then 70% of cases are HxL, where we call see() anyway. The mesured saving of calling see is about 0,5% of total time, but considering the added burden in score_captures() the saving is only 0,35% locally and due to more difficult inlining of the function it ends up that we have no advantage at all, possibly a small slow down! So revert. Signed-off-by: Marco Costalba --- diff --git a/src/movepick.cpp b/src/movepick.cpp index 95bbddba..d4242a30 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -228,29 +228,18 @@ void MovePicker::score_captures() { // to the badCaptures[] array. Move m; int seeValue; - Square from, to; for (int i = 0; i < numOfMoves; i++) { m = moves[i].move; - from = move_from(m); - to = move_to(m); - - bool hxl = ( int(pos.midgame_value_of_piece_on(from)) - -int(pos.midgame_value_of_piece_on(to)) > 0) - || pos.type_of_piece_on(from) == KING; - - // Avoid calling see() for LxH and equal captures because - // SEE is always >= 0 and we order for MVV/LVA anyway. - seeValue = (hxl ? pos.see(m) : 0); - + seeValue = pos.see(m); if (seeValue >= 0) { if (move_promotion(m)) moves[i].score = QueenValueMidgame; else - moves[i].score = int(pos.midgame_value_of_piece_on(to)) - -int(pos.type_of_piece_on(from)); + moves[i].score = int(pos.midgame_value_of_piece_on(move_to(m))) + -int(pos.type_of_piece_on(move_from(m))); } else {