mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-22 10:06:26 +08:00
Minor cleanup to recent 'Flag critical search tree in hash table' patch
No functional change
This commit is contained in:
committed by
Stéphane Nicolet
parent
d2acdac101
commit
d07e782e22
@@ -643,7 +643,7 @@ namespace {
|
|||||||
ttValue = ttHit ? value_from_tt(tte->value(), ss->ply) : VALUE_NONE;
|
ttValue = ttHit ? value_from_tt(tte->value(), ss->ply) : VALUE_NONE;
|
||||||
ttMove = rootNode ? thisThread->rootMoves[thisThread->pvIdx].pv[0]
|
ttMove = rootNode ? thisThread->rootMoves[thisThread->pvIdx].pv[0]
|
||||||
: ttHit ? tte->move() : MOVE_NONE;
|
: ttHit ? tte->move() : MOVE_NONE;
|
||||||
pvHit = ttHit ? tte->pv_hit() : false;
|
pvHit = ttHit && tte->pv_hit();
|
||||||
|
|
||||||
// At non-PV nodes we check for an early TT cutoff
|
// At non-PV nodes we check for an early TT cutoff
|
||||||
if ( !PvNode
|
if ( !PvNode
|
||||||
@@ -881,7 +881,7 @@ namespace {
|
|||||||
tte = TT.probe(posKey, ttHit);
|
tte = TT.probe(posKey, ttHit);
|
||||||
ttValue = ttHit ? value_from_tt(tte->value(), ss->ply) : VALUE_NONE;
|
ttValue = ttHit ? value_from_tt(tte->value(), ss->ply) : VALUE_NONE;
|
||||||
ttMove = ttHit ? tte->move() : MOVE_NONE;
|
ttMove = ttHit ? tte->move() : MOVE_NONE;
|
||||||
pvHit = ttHit ? tte->pv_hit() : false;
|
pvHit = ttHit && tte->pv_hit();
|
||||||
}
|
}
|
||||||
|
|
||||||
moves_loop: // When in check, search starts from here
|
moves_loop: // When in check, search starts from here
|
||||||
@@ -1292,7 +1292,7 @@ moves_loop: // When in check, search starts from here
|
|||||||
tte = TT.probe(posKey, ttHit);
|
tte = TT.probe(posKey, ttHit);
|
||||||
ttValue = ttHit ? value_from_tt(tte->value(), ss->ply) : VALUE_NONE;
|
ttValue = ttHit ? value_from_tt(tte->value(), ss->ply) : VALUE_NONE;
|
||||||
ttMove = ttHit ? tte->move() : MOVE_NONE;
|
ttMove = ttHit ? tte->move() : MOVE_NONE;
|
||||||
pvHit = ttHit ? tte->pv_hit() : false;
|
pvHit = ttHit && tte->pv_hit();
|
||||||
|
|
||||||
if ( !PvNode
|
if ( !PvNode
|
||||||
&& ttHit
|
&& ttHit
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ TTEntry* TranspositionTable::probe(const Key key, bool& found) const {
|
|||||||
for (int i = 0; i < ClusterSize; ++i)
|
for (int i = 0; i < ClusterSize; ++i)
|
||||||
if (!tte[i].key16 || tte[i].key16 == key16)
|
if (!tte[i].key16 || tte[i].key16 == key16)
|
||||||
{
|
{
|
||||||
tte[i].genBound8 = uint8_t(generation8 | tte[i].pv_hit() << 2 | tte[i].bound()); // Refresh
|
tte[i].genBound8 = uint8_t(generation8 | (tte[i].genBound8 & 0x7)); // Refresh
|
||||||
|
|
||||||
return found = (bool)tte[i].key16, &tte[i];
|
return found = (bool)tte[i].key16, &tte[i];
|
||||||
}
|
}
|
||||||
@@ -131,8 +131,8 @@ TTEntry* TranspositionTable::probe(const Key key, bool& found) const {
|
|||||||
TTEntry* replace = tte;
|
TTEntry* replace = tte;
|
||||||
for (int i = 1; i < ClusterSize; ++i)
|
for (int i = 1; i < ClusterSize; ++i)
|
||||||
// Due to our packed storage format for generation and its cyclic
|
// Due to our packed storage format for generation and its cyclic
|
||||||
// nature we add 263 (263 is the modulus plus 7 to keep the lowest
|
// nature we add 263 (256 is the modulus plus 7 to keep the unrelated
|
||||||
// two bound bits from affecting the result) to calculate the entry
|
// lowest three bits from affecting the result) to calculate the entry
|
||||||
// age correctly even after generation8 overflows into the next cycle.
|
// age correctly even after generation8 overflows into the next cycle.
|
||||||
if ( replace->depth8 - ((263 + generation8 - replace->genBound8) & 0xF8)
|
if ( replace->depth8 - ((263 + generation8 - replace->genBound8) & 0xF8)
|
||||||
> tte[i].depth8 - ((263 + generation8 - tte[i].genBound8) & 0xF8))
|
> tte[i].depth8 - ((263 + generation8 - tte[i].genBound8) & 0xF8))
|
||||||
@@ -150,7 +150,7 @@ int TranspositionTable::hashfull() const {
|
|||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
for (int i = 0; i < 1000 / ClusterSize; ++i)
|
for (int i = 0; i < 1000 / ClusterSize; ++i)
|
||||||
for (int j = 0; j < ClusterSize; ++j)
|
for (int j = 0; j < ClusterSize; ++j)
|
||||||
cnt += (table[i].entry[j].genBound8 & 0xFC) == generation8;
|
cnt += (table[i].entry[j].genBound8 & 0xF8) == generation8;
|
||||||
|
|
||||||
return cnt * 1000 / (ClusterSize * (1000 / ClusterSize));
|
return cnt * 1000 / (ClusterSize * (1000 / ClusterSize));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user