mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-25 03:26:24 +08:00
Fix an assert in Probcut
When running the following position: 8/kPp5/2P3p1/p1P1p1P1/2PpPp2/3p1p2/3P1P2/5K2 w - - 0 1 An assert is raised at depth 92: assert(-VALUE_INFINITE <= alpha && alpha < beta && beta <= VALUE_INFINITE); This is because it happens that beta = 29832, so rbeta = 30032 that is > VALUE_INFINITE Bug spotted and analyzed by Uri, fix suggested by Joerg. Other fixes where possible but this one is pointed exactly at the source of the bug, so it is the best from a code documentation point of view. bench: 8430785
This commit is contained in:
@@ -668,7 +668,7 @@ namespace {
|
||||
&& !ss->skipNullMove
|
||||
&& abs(beta) < VALUE_MATE_IN_MAX_PLY)
|
||||
{
|
||||
Value rbeta = beta + 200;
|
||||
Value rbeta = std::min(beta + 200, VALUE_INFINITE);
|
||||
Depth rdepth = depth - ONE_PLY - 3 * ONE_PLY;
|
||||
|
||||
assert(rdepth >= ONE_PLY);
|
||||
|
||||
Reference in New Issue
Block a user