-void TranspositionTable::store(const Key key, Value v, Bound b, Depth d, Move m, Value statV) {
-
- TTEntry* const tte = first_entry(key);
- const uint16_t key16 = key >> 48; // Use the high 16 bits as key inside the cluster
-
- for (unsigned i = 0; i < TTClusterSize; ++i)
- if (!tte[i].key16 || tte[i].key16 == key16) // Empty or overwrite old
- {
- // Save preserving any existing ttMove
- tte[i].save(key16, v, b, d, m ? m : tte[i].move(), generation, statV);
- return;