mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-20 09:06:45 +08:00
History code rewrite (#1122)
Rearrange and rename all history heuristic code. Naming is now based on chessprogramming.wikispaces.com conventions and the relations among the various heuristics are now more clear and consistent. No functional change.
This commit is contained in:
@@ -143,11 +143,11 @@ void MovePicker::score<CAPTURES>() {
|
||||
template<>
|
||||
void MovePicker::score<QUIETS>() {
|
||||
|
||||
const HistoryStats& history = pos.this_thread()->history;
|
||||
const ButterflyHistory& history = pos.this_thread()->history;
|
||||
|
||||
const CounterMoveStats& cmh = *(ss-1)->counterMoves;
|
||||
const CounterMoveStats& fmh = *(ss-2)->counterMoves;
|
||||
const CounterMoveStats& fm2 = *(ss-4)->counterMoves;
|
||||
const PieceToHistory& cmh = *(ss-1)->history;
|
||||
const PieceToHistory& fmh = *(ss-2)->history;
|
||||
const PieceToHistory& fm2 = *(ss-4)->history;
|
||||
|
||||
Color c = pos.side_to_move();
|
||||
|
||||
@@ -155,21 +155,21 @@ void MovePicker::score<QUIETS>() {
|
||||
m.value = cmh[pos.moved_piece(m)][to_sq(m)]
|
||||
+ fmh[pos.moved_piece(m)][to_sq(m)]
|
||||
+ fm2[pos.moved_piece(m)][to_sq(m)]
|
||||
+ history.get(c, m);
|
||||
+ history[c][from_to(m)];
|
||||
}
|
||||
|
||||
template<>
|
||||
void MovePicker::score<EVASIONS>() {
|
||||
// Try captures ordered by MVV/LVA, then non-captures ordered by stats heuristics
|
||||
const HistoryStats& history = pos.this_thread()->history;
|
||||
const ButterflyHistory& history = pos.this_thread()->history;
|
||||
Color c = pos.side_to_move();
|
||||
|
||||
for (auto& m : *this)
|
||||
if (pos.capture(m))
|
||||
m.value = PieceValue[MG][pos.piece_on(to_sq(m))]
|
||||
- Value(type_of(pos.moved_piece(m))) + HistoryStats::Max;
|
||||
- Value(type_of(pos.moved_piece(m))) + (1 << 28);
|
||||
else
|
||||
m.value = history.get(c, m);
|
||||
m.value = history[c][from_to(m)];
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user