phasePtr = MainSearchPhaseTable;
}
- else if (d == DEPTH_ZERO)
+ else if (d >= DEPTH_QS_CHECKS)
phasePtr = QsearchWithChecksPhaseTable;
else
{
return;
case PH_GOOD_CAPTURES:
- lastMove = generate_captures(pos, moves);
+ lastMove = generate<CAPTURES>(pos, moves);
score_captures();
return;
return;
case PH_NONCAPTURES:
- lastMove = generate_noncaptures(pos, moves);
+ lastMove = generate<NON_CAPTURES>(pos, moves);
score_noncaptures();
sort_moves(moves, lastMove, &lastGoodNonCapture);
return;
case PH_EVASIONS:
assert(pos.is_check());
- lastMove = generate_evasions(pos, moves);
+ lastMove = generate<EVASIONS>(pos, moves);
score_evasions();
return;
case PH_QCAPTURES:
- lastMove = generate_captures(pos, moves);
+ lastMove = generate<CAPTURES>(pos, moves);
score_captures();
return;
case PH_QCHECKS:
- lastMove = generate_non_capture_checks(pos, moves);
+ lastMove = generate<NON_CAPTURE_CHECKS>(pos, moves);
return;
case PH_STOP:
// Sort negative scored moves only when we get there
if (curMove == lastGoodNonCapture)
- insertion_sort(lastGoodNonCapture, lastMove);
+ insertion_sort<MoveStack>(lastGoodNonCapture, lastMove);
move = (curMove++)->move;
if ( move != ttMoves[0].move