X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovepick.cpp;h=208007cca24e84d7a54ac0ef1c4844b23e844161;hp=71c9810d6096e9741c7d5fbb836282a364cac6de;hb=351ef5c85b6d4b9c71e9da367f0be5ab6e6f8117;hpb=72760c05c64d1fb2bb71c2ac54acfbeecf513b87 diff --git a/src/movepick.cpp b/src/movepick.cpp index 71c9810d..208007cc 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -103,7 +103,7 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const History& h, S // Skip TT move if is not a capture or a promotion, this avoids // qsearch tree explosion due to a possible perpetual check or // similar rare cases when TT table is full. - if (ttm != MOVE_NONE && !pos.move_is_capture(ttm) && !move_is_promotion(ttm)) + if (ttm != MOVE_NONE && !pos.move_is_capture_or_promotion(ttm)) ttm = MOVE_NONE; } else @@ -118,13 +118,13 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const History& h, S go_next_phase(); } -MovePicker::MovePicker(const Position& p, Move ttm, const History& h, int parentCapture) +MovePicker::MovePicker(const Position& p, Move ttm, const History& h, PieceType parentCapture) : pos(p), H(h) { assert (!pos.in_check()); // In ProbCut we consider only captures better than parent's move - captureThreshold = parentCapture; + captureThreshold = piece_value_midgame(Piece(parentCapture)); phasePtr = ProbCutTable; if ( ttm != MOVE_NONE @@ -236,7 +236,7 @@ void MovePicker::score_captures() { for (MoveStack* cur = moves; cur != lastMove; cur++) { m = cur->move; - cur->score = pos.midgame_value_of_piece_on(move_to(m)) + cur->score = piece_value_midgame(pos.piece_on(move_to(m))) - pos.type_of_piece_on(move_from(m)); if (move_is_promotion(m)) @@ -275,7 +275,7 @@ void MovePicker::score_evasions() { if ((seeScore = pos.see_sign(m)) < 0) cur->score = seeScore - History::MaxValue; // Be sure we are at the bottom else if (pos.move_is_capture(m)) - cur->score = pos.midgame_value_of_piece_on(move_to(m)) + cur->score = piece_value_midgame(pos.piece_on(move_to(m))) - pos.type_of_piece_on(move_from(m)) + History::MaxValue; else cur->score = H.value(pos.piece_on(move_from(m)), move_to(m));