io-chess
UCI chess engine
Loading...
Searching...
No Matches
TT.h File Reference

Transposition Table implementation using a 3+1 Cluster Architecture. More...

#include "../Types.h"
#include <atomic>
#include <cstdint>
#include <optional>
Include dependency graph for TT.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TTEntry
 16-byte Transposition Table entry for search results. More...
struct  EvalEntry
 16-byte entry dedicated exclusively to caching static evaluations. More...
struct  Cluster
 64-byte cache-line aligned structure holding TT entries. More...
class  TranspositionTable
 The main Transposition Table. More...

Enumerations

enum class  Bound : uint8_t {
  NONE = 0 , UPPER = 1 , LOWER = 2 , EXACT = 3 ,
  LAZY_MASK = 4
}
 Represents the type of score stored in the Transposition Table. More...

Detailed Description

Transposition Table implementation using a 3+1 Cluster Architecture.

Implements a lockless Transposition Table (TT) utilizing 64-byte cache-line aligned clusters. Each cluster contains 3 search entries and 1 static evaluation entry. Data integrity is ensured using XOR checksum signatures.

Enumeration Type Documentation

◆ Bound

enum class Bound : uint8_t
strong

Represents the type of score stored in the Transposition Table.

Enumerator
NONE 

Invalid or empty bound.

UPPER 

Score is an upper bound (failed low).

LOWER 

Score is a lower bound (failed high).

EXACT 

Score is exact (from a PV node).

LAZY_MASK 

Flag indicating the entry was populated via lazy evaluation.