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

History gravity

Instead of using hard coded Min and Max values for history,
always adjust the old value slightly downwards before adding a new value.

The adjustment acts like gravity that prevents the value escaping too
far from zero.

Bench: 8020484

Resolves #407
This commit is contained in:
Joona Kiiski 2015-08-25 20:52:44 +01:00
parent 087b638f6c
commit 7f300a7698

View file

@ -39,7 +39,7 @@
template<typename T>
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: