if (Signals.stop)
return;
- delta += delta / 2;
-
// In case of failing low/high increase aspiration window and
// research, otherwise exit the loop.
if (bestValue <= alpha)
else
break;
+ delta += delta / 2;
+
assert(alpha >= -VALUE_INFINITE && beta <= VALUE_INFINITE);
// Give some update (without cluttering the UI) before to research
givesCheck = pos.move_gives_check(move, ci);
dangerous = givesCheck
|| pos.is_passed_pawn_push(move)
- || type_of(move) == CASTLE
- || ( captureOrPromotion // Entering a pawn endgame?
- && type_of(pos.piece_on(to_sq(move))) != PAWN
- && type_of(move) == NORMAL
- && ( pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK)
- - PieceValue[MG][pos.piece_on(to_sq(move))] == VALUE_ZERO));
+ || type_of(move) == CASTLE;
// Step 12. Extend checks and, in PV nodes, also dangerous moves
if (PvNode && dangerous)