Skip to content

Commit

Permalink
Include castle moves in 'dangerous' flag
Browse files Browse the repository at this point in the history
Simplifies the code and seems more natural.

We have a very small fucntional change becuase now
at PV nodes castles are extended one ply anyhow.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
  • Loading branch information
mcostalba committed Jul 14, 2012
1 parent 5dc0df8 commit 9dbda66
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/search.cpp
Expand Up @@ -171,12 +171,16 @@ namespace {
// 'dangerous' moves so that we avoid to prune it.
FORCE_INLINE bool is_dangerous(const Position& pos, Move m, bool captureOrPromotion) {

// Test for a passed pawn move
// Castle move?
if (type_of(m) == CASTLE)
return true;

// Passed pawn move?
if ( type_of(pos.piece_moved(m)) == PAWN
&& pos.pawn_is_passed(pos.side_to_move(), to_sq(m)))
return true;

// Test for a capture that triggers a pawn endgame
// Entering a pawn endgame?
if ( captureOrPromotion
&& type_of(pos.piece_on(to_sq(m))) != PAWN
&& type_of(m) == NORMAL
Expand Down Expand Up @@ -897,7 +901,6 @@ namespace {
&& !inCheck
&& !dangerous
&& move != ttMove
&& type_of(move) != CASTLE
&& (bestValue > VALUE_MATED_IN_MAX_PLY || bestValue == -VALUE_INFINITE))
{
// Move count based pruning
Expand Down Expand Up @@ -956,7 +959,6 @@ namespace {
&& !isPvMove
&& !captureOrPromotion
&& !dangerous
&& type_of(move) != CASTLE
&& ss->killers[0] != move
&& ss->killers[1] != move)
{
Expand Down

0 comments on commit 9dbda66

Please sign in to comment.