mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Reorder some lines
Now that qsearch has its own repetition detection we can flip the order of lines and remove the guard of depth < 0 which is not needed after reordering (i.e. it was there to prevent checking repetition again at depth ==0). Passed STC: https://tests.stockfishchess.org/tests/view/6502ecbb2cd016da89abc3fb LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 69536 W: 17668 L: 17490 D: 34378 Ptnml(0-2): 190, 7652, 18929, 7784, 213 Passed LTC: https://tests.stockfishchess.org/tests/view/6505ce9072620bc881ea9086 LLR: 2.94 (-2.94,2.94) <-1.75,0.25> Total: 52116 W: 13294 L: 13113 D: 25709 Ptnml(0-2): 26, 5176, 15471, 5361, 24 closes https://github.com/official-stockfish/Stockfish/pull/4791 No functional change
This commit is contained in:
parent
3f7fb5ac1d
commit
0e32287af4
1 changed files with 5 additions and 6 deletions
|
@ -525,6 +525,10 @@ namespace {
|
||||||
constexpr bool PvNode = nodeType != NonPV;
|
constexpr bool PvNode = nodeType != NonPV;
|
||||||
constexpr bool rootNode = nodeType == Root;
|
constexpr bool rootNode = nodeType == Root;
|
||||||
|
|
||||||
|
// Dive into quiescence search when the depth reaches zero
|
||||||
|
if (depth <= 0)
|
||||||
|
return qsearch<PvNode ? PV : NonPV>(pos, ss, alpha, beta);
|
||||||
|
|
||||||
// Check if we have an upcoming move that draws by repetition, or
|
// Check if we have an upcoming move that draws by repetition, or
|
||||||
// if the opponent had an alternative move earlier to this position.
|
// if the opponent had an alternative move earlier to this position.
|
||||||
if ( !rootNode
|
if ( !rootNode
|
||||||
|
@ -536,10 +540,6 @@ namespace {
|
||||||
return alpha;
|
return alpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dive into quiescence search when the depth reaches zero
|
|
||||||
if (depth <= 0)
|
|
||||||
return qsearch<PvNode ? PV : NonPV>(pos, ss, alpha, beta);
|
|
||||||
|
|
||||||
assert(-VALUE_INFINITE <= alpha && alpha < beta && beta <= VALUE_INFINITE);
|
assert(-VALUE_INFINITE <= alpha && alpha < beta && beta <= VALUE_INFINITE);
|
||||||
assert(PvNode || (alpha == beta - 1));
|
assert(PvNode || (alpha == beta - 1));
|
||||||
assert(0 < depth && depth < MAX_PLY);
|
assert(0 < depth && depth < MAX_PLY);
|
||||||
|
@ -1407,8 +1407,7 @@ moves_loop: // When in check, search starts here
|
||||||
|
|
||||||
// Check if we have an upcoming move that draws by repetition, or
|
// Check if we have an upcoming move that draws by repetition, or
|
||||||
// if the opponent had an alternative move earlier to this position.
|
// if the opponent had an alternative move earlier to this position.
|
||||||
if ( depth < 0
|
if ( alpha < VALUE_DRAW
|
||||||
&& alpha < VALUE_DRAW
|
|
||||||
&& pos.has_game_cycle(ss->ply))
|
&& pos.has_game_cycle(ss->ply))
|
||||||
{
|
{
|
||||||
alpha = value_draw(pos.this_thread());
|
alpha = value_draw(pos.this_thread());
|
||||||
|
|
Loading…
Add table
Reference in a new issue