int searchTT = ttm;
ttMoves[0].move = ttm;
badCaptureThreshold = 0;
- badCaptures = moves + 256;
+ badCaptures = moves + MOVES_MAX;
pinned = p.pinned_pieces(pos.side_to_move());
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<MV_CAPTURE>(pos, moves);
score_captures();
return;
return;
case PH_NONCAPTURES:
- lastMove = generate_noncaptures(pos, moves);
+ lastMove = generate<MV_NON_CAPTURE>(pos, moves);
score_noncaptures();
sort_moves(moves, lastMove, &lastGoodNonCapture);
return;
// Bad captures SEE value is already calculated so just pick
// them in order to get SEE move ordering.
curMove = badCaptures;
- lastMove = moves + 256;
+ lastMove = moves + MOVES_MAX;
return;
case PH_EVASIONS:
assert(pos.is_check());
- lastMove = generate_evasions(pos, moves);
+ lastMove = generate<MV_EVASION>(pos, moves);
score_evasions();
return;
case PH_QCAPTURES:
- lastMove = generate_captures(pos, moves);
+ lastMove = generate<MV_CAPTURE>(pos, moves);
score_captures();
return;
case PH_QCHECKS:
- lastMove = generate_non_capture_checks(pos, moves);
+ lastMove = generate<MV_NON_CAPTURE_CHECK>(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