aboutsummaryrefslogtreecommitdiff
path: root/include/tt_llcht.h
diff options
context:
space:
mode:
authortslil clingman <tslil@posteo.de>2021-01-28 13:54:10 -0500
committertslil <tslil@posteo.de>2026-08-28 19:37:41 +0100
commit6e6cdc4d9f0d7e4afdda67c97e7d7f13959e6134 (patch)
tree15322705ce1dd73c1eb863678360a0e403490337 /include/tt_llcht.h
parent55b45cc666c2ef883efe3831b96ac40623622582 (diff)
parent1be9fac33c8227564079356c63840d227c88725f (diff)
Merge branch 'zobrist'
Diffstat (limited to 'include/tt_llcht.h')
-rw-r--r--include/tt_llcht.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/include/tt_llcht.h b/include/tt_llcht.h
new file mode 100644
index 0000000..f9a7a78
--- /dev/null
+++ b/include/tt_llcht.h
@@ -0,0 +1,45 @@
+#ifndef TT_LLCHT_H
+#define TT_LLCHT_H
+
+#include <stdlib.h>
+#include <stdint.h>
+
+#include <actions.h>
+
+// ===================================================================
+// Types
+// ===================================================================
+
+enum TT_FLAG { TT_EXACT, TT_LOWERBOUND, TT_UPPERBOUND };
+
+typedef struct tt_node_s {
+ uint64_t key;
+ struct tt_node_s *next;
+ enum TT_FLAG flag;
+ uint8_t depth;
+ float value;
+ action_t action;
+} tt_entry_t;
+
+// ===================================================================
+// Globals
+// ===================================================================
+
+#define TT_LLCHT_SIZE ((uint32_t)((1<<19) - 1))
+
+extern uint32_t tt_num_cached;
+
+// ===================================================================
+// Methods
+// ===================================================================
+
+int tt_init(void);
+void tt_free(void);
+
+tt_entry_t *tt_seek(const uint64_t key);
+
+int tt_insert(const uint64_t key, const enum TT_FLAG flag,
+ const uint8_t depth, const float value,
+ const action_t action);
+
+#endif