// Can ttValue be used as a better position evaluation?
if (ttValue != VALUE_NONE)
- if ( ((tte->bound() & BOUND_LOWER) && ttValue > eval)
- || ((tte->bound() & BOUND_UPPER) && ttValue < eval))
+ if (tte->bound() & (ttValue > eval ? BOUND_LOWER : BOUND_UPPER))
eval = ttValue;
}
else
|| pos.is_passed_pawn_push(move)
|| type_of(move) == CASTLE;
- // Step 12. Extend checks and, in PV nodes, also dangerous moves
- if (PvNode && dangerous)
+ // Step 12. Extend checks
+ if (givesCheck && pos.see_sign(move) >= 0)
ext = ONE_PLY;
- else if (givesCheck && pos.see_sign(move) >= 0)
- ext = inCheck || ss->staticEval <= alpha ? ONE_PLY : ONE_PLY / 2;
-
// Singular extension search. If all moves but one fail low on a search of
// (alpha-s, beta-s), and just one fails high on (alpha, beta), then that move
// is singular and should be extended. To verify this we do a reduced search