mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 09:37:16 +08:00
Introduce and use TranspositionTable::refresh()
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
11
src/tt.h
11
src/tt.h
@@ -64,6 +64,7 @@ public:
|
||||
staticValue = int16_t(statV);
|
||||
staticValueMargin = int16_t(kd);
|
||||
}
|
||||
void set_generation(int g) { data = move() | (type() << 21) | (g << 23); }
|
||||
|
||||
uint32_t key() const { return key32; }
|
||||
Depth depth() const { return Depth(depth16); }
|
||||
@@ -114,6 +115,7 @@ public:
|
||||
TTEntry* retrieve(const Key posKey) const;
|
||||
void new_search();
|
||||
TTEntry* first_entry(const Key posKey) const;
|
||||
void refresh(const TTEntry* tte) const;
|
||||
|
||||
private:
|
||||
size_t size;
|
||||
@@ -133,4 +135,13 @@ inline TTEntry* TranspositionTable::first_entry(const Key posKey) const {
|
||||
return entries[uint32_t(posKey) & (size - 1)].data;
|
||||
}
|
||||
|
||||
|
||||
/// TranspositionTable::refresh updates the 'generation' value of the TTEntry
|
||||
/// to avoid aging. Normally called after a TT hit, before to return.
|
||||
|
||||
inline void TranspositionTable::refresh(const TTEntry* tte) const {
|
||||
|
||||
const_cast<TTEntry*>(tte)->set_generation(generation);
|
||||
}
|
||||
|
||||
#endif // !defined(TT_H_INCLUDED)
|
||||
|
||||
Reference in New Issue
Block a user