-/// HistoryMax controls how often the history counters will be scaled down:
-/// When the history score for a move gets bigger than HistoryMax, all
-/// entries in the table are divided by 2. It is difficult to guess what
-/// the ideal value of this constant is. Scaling down the scores often has
-/// the effect that parts of the search tree which have been searched
-/// recently have a bigger importance for move ordering than the moves which
-/// have been searched a long time ago.
-///
-/// Note that HistoryMax should probably be changed whenever the constant
-/// OnePly in depth.h is changed. This is somewhat annoying. Perhaps it
-/// would be better to scale down the history table at regular intervals?
+inline void History::update(Piece p, Square to, Value bonus) {
+ if (abs(history[p][to] + bonus) < MaxValue) history[p][to] += bonus;
+}