]> git.sesse.net Git - stockfish/blobdiff - src/tt.h
Use C++ loops in insert_pv_in_tt
[stockfish] / src / tt.h
index b2f9e0dcdf68a0c643a121dbc8dc4078faeeb1d2..14f820d0cb6677637615f7d21b312514ed2d26fe 100644 (file)
--- a/src/tt.h
+++ b/src/tt.h
@@ -66,7 +66,7 @@ private:
 
 
 /// A TranspositionTable consists of a power of 2 number of clusters and each
-/// cluster consists of TTClusterSize number of TTEntry. Each non-empty entry
+/// cluster consists of ClusterSize number of TTEntry. Each non-empty entry
 /// contains information of exactly one position. The size of a cluster should
 /// not be bigger than a cache line size. In case it is less, it should be padded
 /// to guarantee always aligned accesses.
@@ -74,13 +74,15 @@ private:
 class TranspositionTable {
 
   static const int CacheLineSize = 64;
-  static const int TTClusterSize = 3;
+  static const int ClusterSize = 3;
 
-  struct TTCluster {
-    TTEntry entry[TTClusterSize];
+  struct Cluster {
+    TTEntry entry[ClusterSize];
     char padding[2]; // Align to the cache line size
   };
 
+  static_assert(sizeof(Cluster) == CacheLineSize / 2, "Cluster size incorrect");
+
 public:
  ~TranspositionTable() { free(mem); }
   void new_search() { generation8 += 4; } // Lower 2 bits are used by Bound
@@ -96,7 +98,7 @@ public:
 
 private:
   size_t clusterCount;
-  TTCluster* table;
+  Cluster* table;
   void* mem;
   uint8_t generation8; // Size must be not bigger than TTEntry::genBound8
 };