Skip to content

Commit

Permalink
Cleanup TT::hashfull()
Browse files Browse the repository at this point in the history
closes #5651

No functional change
  • Loading branch information
mstembera authored and Disservin committed Nov 13, 2024
1 parent 24c5779 commit 16fee2a
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions src/tt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,19 +194,12 @@ void TranspositionTable::clear(ThreadPool& threads) {
// occupation during a search. The hash is x permill full, as per UCI protocol.
// Only counts entries which match the current generation.
int TranspositionTable::hashfull(int maxAge) const {
int cnt = 0;
int maxAgeInternal = maxAge << GENERATION_BITS;
int cnt = 0;
for (int i = 0; i < 1000; ++i)
for (int j = 0; j < ClusterSize; ++j)
{
if (table[i].entry[j].is_occupied())
{
int age = (generation8 >> GENERATION_BITS)
- ((table[i].entry[j].genBound8 & GENERATION_MASK) >> GENERATION_BITS);
if (age < 0)
age += 1 << (8 - GENERATION_BITS);
cnt += age <= maxAge;
}
}
cnt += table[i].entry[j].is_occupied()
&& table[i].entry[j].relative_age(generation8) <= maxAgeInternal;

return cnt / ClusterSize;
}
Expand Down

0 comments on commit 16fee2a

Please sign in to comment.