+ std::memset(table, 0, (hashMask + ClusterSize) * sizeof(TTEntry));
+}
+
+
+/// 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);
+ uint32_t key32 = key >> 32;
+
+ for (unsigned i = 0; i < ClusterSize; ++i, ++tte)
+ if (tte->key32 == key32)
+ {
+ tte->generation8 = generation; // Refresh
+ return tte;
+ }
+
+ return NULL;