mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 08:13:08 +00:00
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 <mcostalba@gmail.com>
This commit is contained in:
parent
87b483f999
commit
07f3f0384a
1 changed files with 6 additions and 7 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue