TranspositionTable TT; // Our global transposition table
-// TTEntry::save() populates the TTEntry with a new node's data, possibly
+// Populates the TTEntry with a new node's data, possibly
// overwriting an old position. The update is not atomic and can be racy.
-
void TTEntry::save(Key k, Value v, bool pv, Bound b, Depth d, Move m, Value ev) {
// Preserve any existing move for the same position
}
-// TranspositionTable::resize() sets the size of the transposition table,
+// Sets the size of the transposition table,
// measured in megabytes. Transposition table consists of a power of 2 number
// of clusters and each cluster consists of ClusterSize number of TTEntry.
-
void TranspositionTable::resize(size_t mbSize) {
Threads.main()->wait_for_search_finished();
}
-// TranspositionTable::clear() initializes the entire transposition table to zero,
-// in a multi-threaded way.
-
+// Initializes the entire transposition table to zero,
+// in a multi-threaded way.
void TranspositionTable::clear() {
std::vector<std::thread> threads;
}
-// TranspositionTable::probe() looks up the current position in the transposition
+// Looks up the current position in the transposition
// table. It returns true and a pointer to the TTEntry if the position is found.
// Otherwise, it returns false and a pointer to an empty or least valuable TTEntry
// to be replaced later. The replace value of an entry is calculated as its depth
// minus 8 times its relative age. TTEntry t1 is considered more valuable than
// TTEntry t2 if its replace value is greater than that of t2.
-
TTEntry* TranspositionTable::probe(const Key key, bool& found) const {
TTEntry* const tte = first_entry(key);
}
-// TranspositionTable::hashfull() returns an approximation of the hashtable
+// Returns an approximation of the hashtable
// occupation during a search. The hash is x permill full, as per UCI protocol.
int TranspositionTable::hashfull() const {