From 0d88b832e38430e0add9c8298458569b23e102a7 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Tue, 15 Dec 2009 12:07:23 +0100 Subject: [PATCH] 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 --- src/search.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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]; -- 2.39.2