From: Marco Costalba Date: Tue, 27 Dec 2011 00:00:44 +0000 (+0100) Subject: Assert enhancements in search X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=07f3f0384a95a6de8a4a6a066e1ec81de24b41f1 Assert enhancements in search Add the check that alpha < beta - 1 if and only if PvNode is true. The current code would not flag PvNode and alpha == beta - 1. In other words, the || is not an exclusive OR!. Also sync assert conditions of search() and qsearch() Suggested by Rein Halbersma. No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index b70409b8..b10eec60 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -588,9 +588,9 @@ namespace { const bool SpNode = (NT == SplitPointPV || NT == SplitPointNonPV || NT == SplitPointRoot); const bool RootNode = (NT == Root || NT == SplitPointRoot); - assert(alpha >= -VALUE_INFINITE && alpha <= VALUE_INFINITE); - assert(beta > alpha && beta <= VALUE_INFINITE); - assert(PvNode || alpha == beta - 1); + assert(alpha >= -VALUE_INFINITE && alpha < beta && beta <= VALUE_INFINITE); + assert(PvNode == (alpha != beta - 1)); + assert(depth > DEPTH_ZERO); assert(pos.thread() >= 0 && pos.thread() < Threads.size()); Move movesSearched[MAX_MOVES]; @@ -1190,10 +1190,9 @@ split_point_start: // At split points actual search starts from here const bool PvNode = (NT == PV); assert(NT == PV || NT == NonPV); - assert(alpha >= -VALUE_INFINITE && alpha <= VALUE_INFINITE); - assert(beta >= -VALUE_INFINITE && beta <= VALUE_INFINITE); - assert(PvNode || alpha == beta - 1); - assert(depth <= 0); + assert(alpha >= -VALUE_INFINITE && alpha < beta && beta <= VALUE_INFINITE); + assert(PvNode == (alpha != beta - 1)); + assert(depth <= DEPTH_ZERO); assert(pos.thread() >= 0 && pos.thread() < Threads.size()); StateInfo st;