X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftt.cpp;h=8a66812a79c1eda84909dc20d09ead945a1c89de;hp=40dca0d3b2524b221d14f0d2a7fccf2049d3a64a;hb=feeafb0a50556654e345a09d16529a5eb7715dc0;hpb=23bdd064426c6fb5b6fd860d156c9f50bb58d0db diff --git a/src/tt.cpp b/src/tt.cpp index 40dca0d3..8a66812a 100644 --- a/src/tt.cpp +++ b/src/tt.cpp @@ -82,7 +82,7 @@ void TranspositionTable::clear() { /// more valuable than a TTEntry t2 if t1 is from the current search and t2 is from /// a previous search, or if the depth of t1 is bigger than the depth of t2. -void TranspositionTable::store(const Key posKey, Value v, Bound t, Depth d, Move m) { +void TranspositionTable::store(const Key posKey, Value v, Bound b, Depth d, Move m) { int c1, c2, c3; TTEntry *tte, *replace; @@ -92,13 +92,16 @@ void TranspositionTable::store(const Key posKey, Value v, Bound t, Depth d, Move for (int i = 0; i < ClusterSize; i++, tte++) { - if (!tte->key() || tte->key() == posKey32) // Empty or overwrite old + if (!tte->key()) + tte->save(posKey32, v, b, d, m, generation); + + if (tte->key() == posKey32) { // Preserve any existing ttMove if (m == MOVE_NONE) m = tte->move(); - tte->save(posKey32, v, t, d, m, generation); + tte->update(v, b, d, m, generation); return; } @@ -110,7 +113,7 @@ void TranspositionTable::store(const Key posKey, Value v, Bound t, Depth d, Move if (c1 + c2 + c3 > 0) replace = tte; } - replace->save(posKey32, v, t, d, m, generation); + replace->save(posKey32, v, b, d, m, generation); }