stage = PROBCUT;
- // In ProbCut we generate captures with SEE higher than the given threshold
+ // In ProbCut we generate captures with SEE higher than or equal to the given threshold
ttMove = ttm
&& pos.pseudo_legal(ttm)
&& pos.capture(ttm)
- && pos.see_ge(ttm, threshold + 1)? ttm : MOVE_NONE;
+ && pos.see_ge(ttm, threshold)? ttm : MOVE_NONE;
stage += (ttMove == MOVE_NONE);
}
case EVASIONS_INIT:
cur = moves;
endMoves = generate<EVASIONS>(pos, cur);
- if (endMoves - cur - (ttMove != MOVE_NONE) > 1)
- score<EVASIONS>();
+ score<EVASIONS>();
++stage;
case ALL_EVASIONS:
{
move = pick_best(cur++, endMoves);
if ( move != ttMove
- && pos.see_ge(move, threshold + 1))
+ && pos.see_ge(move, threshold))
return move;
}
break;