if (eval - PawnValueMg > beta)
R += ONE_PLY;
- pos.do_null_move<true>(st);
+ pos.do_null_move(st);
(ss+1)->skipNullMove = true;
nullValue = depth-R < ONE_PLY ? -qsearch<NonPV, false>(pos, ss+1, -beta, -alpha, DEPTH_ZERO)
: - search<NonPV>(pos, ss+1, -beta, -alpha, depth-R);
(ss+1)->skipNullMove = false;
- pos.do_null_move<false>(st);
+ pos.undo_null_move();
if (nullValue >= beta)
{
ss->excludedMove = MOVE_NONE;
if (value < rBeta)
- ext = rBeta >= beta ? ONE_PLY + ONE_PLY / 2 : ONE_PLY;
+ ext = ONE_PLY;
}
// Update current move (this must be done after singular extension search)
Bitboard b = (enemies ^ ksq) & newAtt & ~oldAtt;
while (b)
{
- // Note that here we generate illegal "double move"!
if (futilityBase + PieceValue[EG][pos.piece_on(pop_lsb(&b))] >= beta)
return true;
}