/// left. It picks the move with the biggest value from a list of generated moves
/// taking care not to return the ttMove if it has already been searched.
-Move MovePicker::next_move() {
+Move MovePicker::next_move(bool skipQuiets) {
Move move;
++stage;
case QUIET:
- while (cur < endMoves)
+ while ( cur < endMoves
+ && (!skipQuiets || cur->value >= VALUE_ZERO))
{
move = *cur++;
+
if ( move != ttMove
&& move != ss->killers[0]
&& move != ss->killers[1]