Merge official-stockfish/master
authorFabian Fichter <ianfab@users.noreply.github.com>
Tue, 9 Mar 2021 20:33:44 +0000 (21:33 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Tue, 9 Mar 2021 20:33:44 +0000 (21:33 +0100)
No functional change.

1  2 
AUTHORS
src/Makefile
src/tt.cpp
src/tt.h

diff --cc AUTHORS
Simple merge
diff --cc src/Makefile
Simple merge
diff --cc src/tt.cpp
Simple merge
diff --cc src/tt.h
+++ b/src/tt.h
@@@ -67,14 -67,20 +67,20 @@@ class TranspositionTable 
  
    struct Cluster {
      TTEntry entry[ClusterSize];
 -    char padding[2]; // Pad to 32 bytes
 +    char padding[4]; // Pad to 64 bytes
    };
  
 -  static_assert(sizeof(Cluster) == 32, "Unexpected Cluster size");
 +  static_assert(sizeof(Cluster) == 64, "Unexpected Cluster size");
  
+   // Constants used to refresh the hash table periodically
+   static constexpr unsigned GENERATION_BITS  = 3;                                // nb of bits reserved for other things
+   static constexpr int      GENERATION_DELTA = (1 << GENERATION_BITS);           // increment for generation field
+   static constexpr int      GENERATION_CYCLE = 255 + (1 << GENERATION_BITS);     // cycle length
+   static constexpr int      GENERATION_MASK  = (0xFF << GENERATION_BITS) & 0xFF; // mask to pull out generation number
  public:
   ~TranspositionTable() { aligned_large_pages_free(table); }
-   void new_search() { generation8 += 8; } // Lower 3 bits are used by PV flag and Bound
+   void new_search() { generation8 += GENERATION_DELTA; } // Lower bits are used for other things
    TTEntry* probe(const Key key, bool& found) const;
    int hashfull() const;
    void resize(size_t mbSize);