diff --git a/src/movepick.h b/src/movepick.h index b281bd42..412c08e2 100644 --- a/src/movepick.h +++ b/src/movepick.h @@ -39,7 +39,7 @@ template struct Stats { - static const Value Max = Value(250); + static const Value Max = Value(1<<28); const T* operator[](Piece pc) const { return table[pc]; } T* operator[](Piece pc) { return table[pc]; } @@ -53,8 +53,8 @@ struct Stats { void update(Piece pc, Square to, Value v) { - if (abs(table[pc][to] + v) < Max) - table[pc][to] += v; + table[pc][to] -= table[pc][to] * std::min(abs(int(v)), 512) / 512; + table[pc][to] += int(v) * 64; } private: