1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

Revert "Allowing singular extension in mate positions"

It was causing an assert: value > -VALUE_INFINITE
under some conditions.

See https://github.com/official-stockfish/Stockfish/issues/2036

Bench: 3318033
This commit is contained in:
Marco Costalba 2019-03-09 13:24:26 +01:00
parent 1aab5b4b05
commit 4d0981fef3

View file

@ -914,12 +914,13 @@ moves_loop: // When in check, search starts from here
&& move == ttMove && move == ttMove
&& !rootNode && !rootNode
&& !excludedMove // Avoid recursive singular search && !excludedMove // Avoid recursive singular search
&& ttValue != VALUE_NONE /* && ttValue != VALUE_NONE Already implicit in the next condition */
&& abs(ttValue) < VALUE_KNOWN_WIN
&& (tte->bound() & BOUND_LOWER) && (tte->bound() & BOUND_LOWER)
&& tte->depth() >= depth - 3 * ONE_PLY && tte->depth() >= depth - 3 * ONE_PLY
&& pos.legal(move)) && pos.legal(move))
{ {
Value singularBeta = std::max(ttValue - 2 * depth / ONE_PLY, -VALUE_MATE); Value singularBeta = ttValue - 2 * depth / ONE_PLY;
ss->excludedMove = move; ss->excludedMove = move;
value = search<NonPV>(pos, ss, singularBeta - 1, singularBeta, depth / 2, cutNode); value = search<NonPV>(pos, ss, singularBeta - 1, singularBeta, depth / 2, cutNode);
ss->excludedMove = MOVE_NONE; ss->excludedMove = MOVE_NONE;