From: Tord Romstad Date: Wed, 2 Sep 2009 07:58:15 +0000 (+0200) Subject: Bug fix for discovered checks in connected_moves(). X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=03d6a86900044c8b4a512c7e53464fd0a67866fc;ds=sidebyside Bug fix for discovered checks in connected_moves(). Because of a hard-to-spot single-character bug in connected_moves(), the discovered check code had no effect whatsoever. The condition in the if (...) statement at the beginning of the code would always return false. Thanks to Edsel Apostol for pointing out this bug! --- diff --git a/src/search.cpp b/src/search.cpp index 806a7fc4..31aea466 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -2185,7 +2185,7 @@ namespace { // Case 5: Discovered check, checking piece is the piece moved in m1 if ( piece_is_slider(pos.piece_on(t1)) && bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), f2) - && !bit_is_set(squares_between(t2, pos.king_square(pos.side_to_move())), t2)) + && !bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), t2)) { Bitboard occ = pos.occupied_squares(); Color us = pos.side_to_move();