From: Marco Costalba Date: Tue, 15 Dec 2009 11:07:23 +0000 (+0100) Subject: In non-PV IID don't call evaluate when in check X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=0d88b832e38430e0add9c8298458569b23e102a7;ds=sidebyside In non-PV IID don't call evaluate when in check Was a long standing hidden bug from Glaurung times, triggered only now that we enable IID at non PV nodes. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index f7a39943..4481cfc7 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1435,7 +1435,7 @@ namespace { // Go with internal iterative deepening if we don't have a TT move if (UseIIDAtNonPVNodes && ttMove == MOVE_NONE && depth >= 8*OnePly && - evaluate(pos, ei, threadID) >= beta - IIDMargin) + !isCheck && evaluate(pos, ei, threadID) >= beta - IIDMargin) { search(pos, ss, beta, Min(depth/2, depth-2*OnePly), ply, false, threadID); ttMove = ss[ply].pv[ply];