X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftt.cpp;h=117b60027a1678d034b88fe82ed93d7d57194266;hp=62e200bdcf9d3ad70f84f39b09a61e413afe3cd9;hb=94dd204c3b10ebe0e6c8df5d7c98de5ba4906cad;hpb=2fd075d1ea62e0d68c7044ec8d199067c901adaa diff --git a/src/tt.cpp b/src/tt.cpp index 62e200bd..117b6002 100644 --- a/src/tt.cpp +++ b/src/tt.cpp @@ -75,7 +75,7 @@ const TTEntry* TranspositionTable::probe(const Key key) const { for (unsigned i = 0; i < TTClusterSize; ++i) if (tte[i].key16 == key16) { - tte[i].genBound8 = generation | (uint8_t)tte[i].bound(); // Refresh + tte[i].genBound8 = uint8_t(generation | tte[i].bound()); // Refresh return &tte[i]; } @@ -97,24 +97,20 @@ void TranspositionTable::store(const Key key, Value v, Bound b, Depth d, Move m, const uint16_t key16 = key >> 48; // Use the high 16 bits as key inside the cluster for (unsigned i = 0; i < TTClusterSize; ++i) - { if (!tte[i].key16 || tte[i].key16 == key16) // Empty or overwrite old { // Save preserving any existing ttMove tte[i].save(key16, v, b, d, m ? m : tte[i].move(), generation, statV); return; } - } // Implement replace strategy TTEntry* replace = tte; for (unsigned i = 1; i < TTClusterSize; ++i) - { if ( (( tte[i].genBound8 & 0xFC) == generation || tte[i].bound() == BOUND_EXACT) - ((replace->genBound8 & 0xFC) == generation) - (tte[i].depth8 < replace->depth8) < 0) replace = &tte[i]; - } replace->save(key16, v, b, d, m, generation, statV); }