projects
/
stockfish
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prune negative SEE moves also in PV nodes
[stockfish]
/
src
/
search.cpp
diff --git
a/src/search.cpp
b/src/search.cpp
index c256cfc01a9615bd6c5d11f6c6b21d30f2991500..c039b64e48a8c6a2f005c8b62df6672ecfa0b8e6 100644
(file)
--- a/
src/search.cpp
+++ b/
src/search.cpp
@@
-857,16
+857,15
@@
split_point_start: // At split points actual search starts from here
newDepth = depth - ONE_PLY + ext;
// Step 13. Futility pruning (is omitted in PV nodes)
newDepth = depth - ONE_PLY + ext;
// Step 13. Futility pruning (is omitted in PV nodes)
- if ( !PvNode
- && !captureOrPromotion
+ if ( !captureOrPromotion
&& !inCheck
&& !dangerous
&& move != ttMove
&& !inCheck
&& !dangerous
&& move != ttMove
- && (bestValue > VALUE_MATED_IN_MAX_PLY || ( bestValue == -VALUE_INFINITE
- && alpha > VALUE_MATED_IN_MAX_PLY)))
+ && alpha > VALUE_MATED_IN_MAX_PLY)
{
// Move count based pruning
{
// Move count based pruning
- if ( depth < 16 * ONE_PLY
+ if ( !PvNode
+ && depth < 16 * ONE_PLY
&& moveCount >= FutilityMoveCounts[depth]
&& (!threatMove || !refutes(pos, move, threatMove)))
{
&& moveCount >= FutilityMoveCounts[depth]
&& (!threatMove || !refutes(pos, move, threatMove)))
{
@@
-883,7
+882,7
@@
split_point_start: // At split points actual search starts from here
futilityValue = ss->staticEval + ss->evalMargin + futility_margin(predictedDepth, moveCount)
+ Gain[pos.piece_moved(move)][to_sq(move)];
futilityValue = ss->staticEval + ss->evalMargin + futility_margin(predictedDepth, moveCount)
+ Gain[pos.piece_moved(move)][to_sq(move)];
- if (futilityValue < beta)
+ if (
!PvNode &&
futilityValue < beta)
{
if (SpNode)
sp->mutex.lock();
{
if (SpNode)
sp->mutex.lock();