mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Enable futility pruning for PV nodes in qsearch
STC: LLR: 4.20 (-2.94,2.94) [-3.00,1.00] Total: 85573 W: 17195 L: 17125 D: 51253 LTC: LLR: 2.94 (-2.94,2.94) [-3.00,1.00] Total: 43385 W: 7298 L: 7214 D: 28873 Bench: 8080602 Resolves #206
This commit is contained in:
parent
4abe333e1f
commit
ab276357d7
1 changed files with 4 additions and 6 deletions
|
@ -1209,8 +1209,7 @@ moves_loop: // When in check and at SpNode search starts from here
|
|||
: pos.gives_check(move, ci);
|
||||
|
||||
// Futility pruning
|
||||
if ( !PvNode
|
||||
&& !InCheck
|
||||
if ( !InCheck
|
||||
&& !givesCheck
|
||||
&& futilityBase > -VALUE_KNOWN_WIN
|
||||
&& !pos.advanced_pawn_push(move))
|
||||
|
@ -1219,13 +1218,13 @@ moves_loop: // When in check and at SpNode search starts from here
|
|||
|
||||
futilityValue = futilityBase + PieceValue[EG][pos.piece_on(to_sq(move))];
|
||||
|
||||
if (futilityValue < beta)
|
||||
if (futilityValue <= alpha)
|
||||
{
|
||||
bestValue = std::max(bestValue, futilityValue);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (futilityBase < beta && pos.see(move) <= VALUE_ZERO)
|
||||
if (futilityBase <= alpha && pos.see(move) <= VALUE_ZERO)
|
||||
{
|
||||
bestValue = std::max(bestValue, futilityBase);
|
||||
continue;
|
||||
|
@ -1239,8 +1238,7 @@ moves_loop: // When in check and at SpNode search starts from here
|
|||
&& !pos.can_castle(pos.side_to_move());
|
||||
|
||||
// Don't search moves with negative SEE values
|
||||
if ( !PvNode
|
||||
&& (!InCheck || evasionPrunable)
|
||||
if ( (!InCheck || evasionPrunable)
|
||||
&& type_of(move) != PROMOTION
|
||||
&& pos.see_sign(move) < VALUE_ZERO)
|
||||
continue;
|
||||
|
|
Loading…
Add table
Reference in a new issue