mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-23 02:27:00 +08:00
Revert "Retire eval margin and gains"
This reverts commit ecd07e51d0.
Patch was incorrect and partial. It will be reapplied in
the correct form.
bench: 9189063
This commit is contained in:
@@ -30,13 +30,14 @@
|
||||
|
||||
|
||||
/// The Stats struct stores moves statistics. According to the template parameter
|
||||
/// the class can store History and Countermoves. History records how often
|
||||
/// the class can store History, Gains and Countermoves. History records how often
|
||||
/// different moves have been successful or unsuccessful during the current search
|
||||
/// and is used for reduction and move ordering decisions.
|
||||
/// and is used for reduction and move ordering decisions. Gains records the move's
|
||||
/// best evaluation gain from one ply to the next and is used for pruning decisions.
|
||||
/// Countermoves store the move that refute a previous one. Entries are stored
|
||||
/// according only to moving piece and destination square, hence two moves with
|
||||
/// different origin but same destination and piece will be considered identical.
|
||||
template<typename T>
|
||||
template<bool Gain, typename T>
|
||||
struct Stats {
|
||||
|
||||
static const Value Max = Value(2000);
|
||||
@@ -55,7 +56,10 @@ struct Stats {
|
||||
|
||||
void update(Piece p, Square to, Value v) {
|
||||
|
||||
if (abs(table[p][to] + v) < Max)
|
||||
if (Gain)
|
||||
table[p][to] = std::max(v, table[p][to] - 1);
|
||||
|
||||
else if (abs(table[p][to] + v) < Max)
|
||||
table[p][to] += v;
|
||||
}
|
||||
|
||||
@@ -63,8 +67,9 @@ private:
|
||||
T table[PIECE_NB][SQUARE_NB];
|
||||
};
|
||||
|
||||
typedef Stats<Value> HistoryStats;
|
||||
typedef Stats<std::pair<Move, Move> > CountermovesStats;
|
||||
typedef Stats< true, Value> GainsStats;
|
||||
typedef Stats<false, Value> HistoryStats;
|
||||
typedef Stats<false, std::pair<Move, Move> > CountermovesStats;
|
||||
|
||||
|
||||
/// MovePicker class is used to pick one pseudo legal move at a time from the
|
||||
|
||||
Reference in New Issue
Block a user