1
0
Fork 0

Restore PorbCut name

Actually MultiCut is too different from current scheme.
Note that neither ProbCut is exactly what we do because
we try just a handful of captures instead of all moves,
nevertheless it seems more in line with what we do.

Suggested by Joona.

No functional change.
pull/358/head
Marco Costalba 2014-02-15 22:17:58 +01:00
parent 7bdb8c9c5c
commit 62c0dc5dea
2 changed files with 6 additions and 6 deletions

View File

@ -30,7 +30,7 @@ namespace {
EVASION, EVASIONS_S2,
QSEARCH_0, CAPTURES_S3, QUIET_CHECKS_S3,
QSEARCH_1, CAPTURES_S4,
MULTICUT, CAPTURES_S5,
PROBCUT, CAPTURES_S5,
RECAPTURE, CAPTURES_S6,
STOP
};
@ -128,9 +128,9 @@ MovePicker::MovePicker(const Position& p, Move ttm, const HistoryStats& h, Piece
assert(!pos.checkers());
stage = MULTICUT;
stage = PROBCUT;
// In MultiCut we generate only captures that are better than the parent's
// In ProbCut we generate only captures that are better than the parent's
// captured piece.
captureThreshold = PieceValue[MG][pt];
ttMove = (ttm && pos.pseudo_legal(ttm) ? ttm : MOVE_NONE);
@ -281,7 +281,7 @@ void MovePicker::generate_next_stage() {
end = generate<QUIET_CHECKS>(pos, moves);
return;
case EVASION: case QSEARCH_0: case QSEARCH_1: case MULTICUT: case RECAPTURE:
case EVASION: case QSEARCH_0: case QSEARCH_1: case PROBCUT: case RECAPTURE:
stage = STOP;
case STOP:
end = cur + 1; // Avoid another next_phase() call
@ -309,7 +309,7 @@ Move MovePicker::next_move<false>() {
switch (stage) {
case MAIN_SEARCH: case EVASION: case QSEARCH_0: case QSEARCH_1: case MULTICUT:
case MAIN_SEARCH: case EVASION: case QSEARCH_0: case QSEARCH_1: case PROBCUT:
++cur;
return ttMove;

View File

@ -659,7 +659,7 @@ namespace {
}
}
// Step 9. Multi-Cut (skipped when in check)
// Step 9. ProbCut (skipped when in check)
// If we have a very good capture (i.e. SEE > seeValues[captured_piece_type])
// and a reduced search returns a value much above beta, we can (almost) safely
// prune the previous move.