Permalink
Browse files

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!
  • Loading branch information...
1 parent 17c5119 commit 03d6a86900044c8b4a512c7e53464fd0a67866fc Tord Romstad committed Sep 2, 2009
Showing with 1 addition and 1 deletion.
  1. +1 −1 src/search.cpp
View
@@ -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();

0 comments on commit 03d6a86

Please sign in to comment.