&& (ttValue >= beta ? (tte->bound() & BOUND_LOWER)
: (tte->bound() & BOUND_UPPER)))
{
- ss->currentMove = ttMove; // Can be MOVE_NONE
-
// If ttMove is quiet, update killers, history, counter move on TT hit
if (ttValue >= beta && ttMove)
{
// Step 13. Pruning at shallow depth
if ( !rootNode
- && bestValue > VALUE_MATED_IN_MAX_PLY)
+ && bestValue > VALUE_MATED_IN_MAX_PLY)
{
if ( !captureOrPromotion
&& !givesCheck
// Futility pruning: parent node
if ( lmrDepth < 7
+ && !inCheck
&& ss->staticEval + 256 + 200 * lmrDepth <= alpha)
continue;
continue;
}
else if ( depth < 7 * ONE_PLY
+ && !extension
&& !pos.see_ge(move, Value(-35 * depth / ONE_PLY * depth / ONE_PLY)))
continue;
}
&& ttValue != VALUE_NONE // Only in case of TT access race
&& (ttValue >= beta ? (tte->bound() & BOUND_LOWER)
: (tte->bound() & BOUND_UPPER)))
- {
- ss->currentMove = ttMove; // Can be MOVE_NONE
return ttValue;
- }
// Evaluate the position statically
if (InCheck)