+ std::memset(table, 0, clusterCount * sizeof(TTCluster));
+}
+
+
+/// TranspositionTable::probe() looks up the current position in the
+/// transposition table. Returns a pointer to the TTEntry or NULL if
+/// position is not found.
+
+const TTEntry* TranspositionTable::probe(const Key key) const {
+
+ TTEntry* tte = first_entry(key);
+ uint16_t key16 = key >> 48;
+
+ for (unsigned i = 0; i < TTClusterSize; ++i, ++tte)
+ if (tte->key16 == key16)
+ {
+ tte->genBound8 = generation | tte->bound(); // Refresh
+ return tte;
+ }
+
+ return NULL;