1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Rename score to value in ExtMove

We use 'score' for the value mid-endgame pair.

No functional change.
This commit is contained in:
Marco Costalba 2014-03-23 08:52:42 +01:00
parent 441a34a1c6
commit f12449d492
2 changed files with 18 additions and 18 deletions

View file

@ -49,9 +49,9 @@ namespace {
} }
} }
// Unary predicate used by std::partition to split positive scores from remaining // Unary predicate used by std::partition to split positive values from remaining
// ones so as to sort the two sets separately, with the second sort delayed. // ones so as to sort the two sets separately, with the second sort delayed.
inline bool has_positive_score(const ExtMove& ms) { return ms.score > 0; } inline bool has_positive_value(const ExtMove& ms) { return ms.value > 0; }
// Picks the best move in the range (begin, end) and moves it to the front. // Picks the best move in the range (begin, end) and moves it to the front.
// It's faster than sorting all the moves in advance when there are few // It's faster than sorting all the moves in advance when there are few
@ -142,8 +142,8 @@ MovePicker::MovePicker(const Position& p, Move ttm, const HistoryStats& h, Piece
} }
/// score() assign a numerical move ordering score to each move in a move list. /// score() assign a numerical value to each move in a move list. The moves with
/// The moves with highest scores will be picked first. /// highest values will be picked first.
template<> template<>
void MovePicker::score<CAPTURES>() { void MovePicker::score<CAPTURES>() {
// Winning and equal captures in the main search are ordered by MVV/LVA. // Winning and equal captures in the main search are ordered by MVV/LVA.
@ -164,14 +164,14 @@ void MovePicker::score<CAPTURES>() {
for (ExtMove* it = moves; it != end; ++it) for (ExtMove* it = moves; it != end; ++it)
{ {
m = it->move; m = it->move;
it->score = PieceValue[MG][pos.piece_on(to_sq(m))] it->value = PieceValue[MG][pos.piece_on(to_sq(m))]
- type_of(pos.moved_piece(m)); - type_of(pos.moved_piece(m));
if (type_of(m) == PROMOTION) if (type_of(m) == PROMOTION)
it->score += PieceValue[MG][promotion_type(m)] - PieceValue[MG][PAWN]; it->value += PieceValue[MG][promotion_type(m)] - PieceValue[MG][PAWN];
else if (type_of(m) == ENPASSANT) else if (type_of(m) == ENPASSANT)
it->score += PieceValue[MG][PAWN]; it->value += PieceValue[MG][PAWN];
} }
} }
@ -183,7 +183,7 @@ void MovePicker::score<QUIETS>() {
for (ExtMove* it = moves; it != end; ++it) for (ExtMove* it = moves; it != end; ++it)
{ {
m = it->move; m = it->move;
it->score = history[pos.moved_piece(m)][to_sq(m)]; it->value = history[pos.moved_piece(m)][to_sq(m)];
} }
} }
@ -191,21 +191,21 @@ template<>
void MovePicker::score<EVASIONS>() { void MovePicker::score<EVASIONS>() {
// Try good captures ordered by MVV/LVA, then non-captures if destination square // Try good captures ordered by MVV/LVA, then non-captures if destination square
// is not under attack, ordered by history value, then bad-captures and quiet // is not under attack, ordered by history value, then bad-captures and quiet
// moves with a negative SEE. This last group is ordered by the SEE score. // moves with a negative SEE. This last group is ordered by the SEE value.
Move m; Move m;
Value seeScore; Value see;
for (ExtMove* it = moves; it != end; ++it) for (ExtMove* it = moves; it != end; ++it)
{ {
m = it->move; m = it->move;
if ((seeScore = pos.see_sign(m)) < VALUE_ZERO) if ((see = pos.see_sign(m)) < VALUE_ZERO)
it->score = seeScore - HistoryStats::Max; // At the bottom it->value = see - HistoryStats::Max; // At the bottom
else if (pos.capture(m)) else if (pos.capture(m))
it->score = PieceValue[MG][pos.piece_on(to_sq(m))] it->value = PieceValue[MG][pos.piece_on(to_sq(m))]
- type_of(pos.moved_piece(m)) + HistoryStats::Max; - type_of(pos.moved_piece(m)) + HistoryStats::Max;
else else
it->score = history[pos.moved_piece(m)][to_sq(m)]; it->value = history[pos.moved_piece(m)][to_sq(m)];
} }
} }
@ -254,7 +254,7 @@ void MovePicker::generate_next_stage() {
case QUIETS_1_S1: case QUIETS_1_S1:
endQuiets = end = generate<QUIETS>(pos, moves); endQuiets = end = generate<QUIETS>(pos, moves);
score<QUIETS>(); score<QUIETS>();
end = std::partition(cur, end, has_positive_score); end = std::partition(cur, end, has_positive_value);
insertion_sort(cur, end); insertion_sort(cur, end);
return; return;
@ -295,7 +295,7 @@ void MovePicker::generate_next_stage() {
/// next_move() is the most important method of the MovePicker class. It returns /// next_move() is the most important method of the MovePicker class. It returns
/// a new pseudo legal move every time it is called, until there are no more moves /// a new pseudo legal move every time it is called, until there are no more moves
/// left. It picks the move with the biggest score from a list of generated moves /// left. It picks the move with the biggest value from a list of generated moves
/// taking care not to return the ttMove if it has already been searched. /// taking care not to return the ttMove if it has already been searched.
template<> template<>
Move MovePicker::next_move<false>() { Move MovePicker::next_move<false>() {

View file

@ -322,11 +322,11 @@ extern Value PieceValue[PHASE_NB][PIECE_NB];
struct ExtMove { struct ExtMove {
Move move; Move move;
int score; Value value;
}; };
inline bool operator<(const ExtMove& f, const ExtMove& s) { inline bool operator<(const ExtMove& f, const ExtMove& s) {
return f.score < s.score; return f.value < s.value;
} }
inline Color operator~(Color c) { inline Color operator~(Color c) {