summaryrefslogtreecommitdiff
path: root/include/engine
diff options
context:
space:
mode:
Diffstat (limited to 'include/engine')
-rw-r--r--include/engine/magic.h1
-rw-r--r--include/engine/moves.h1
-rw-r--r--include/engine/transposition_table.h16
3 files changed, 18 insertions, 0 deletions
diff --git a/include/engine/magic.h b/include/engine/magic.h
index 7f584a9..1c9f303 100644
--- a/include/engine/magic.h
+++ b/include/engine/magic.h
@@ -3,6 +3,7 @@
#include "ints.h"
#include "bitboard.h"
+#include "random.h"
typedef struct {
bitboard_t mask;
diff --git a/include/engine/moves.h b/include/engine/moves.h
index 755a77a..cd71cdc 100644
--- a/include/engine/moves.h
+++ b/include/engine/moves.h
@@ -68,6 +68,7 @@ void get_moves(moves_t *moves, position_t position);
bool square_attacked(position_t position, square_t square, u8 by_color);
void get_legal_moves(moves_t *moves, position_t position);
+int find_piece_on_square(position_t* p, int square);
#ifdef MOVES_INTERNAL
void __forloop_rook_moves_gen(
diff --git a/include/engine/transposition_table.h b/include/engine/transposition_table.h
new file mode 100644
index 0000000..f06ddbe
--- /dev/null
+++ b/include/engine/transposition_table.h
@@ -0,0 +1,16 @@
+#ifndef TRANSPOSITION_TABLE_H
+#define TRANSPOSITION_TABLE_H
+
+#include "bitboard.h"
+
+static struct zobrist_keys {
+ u64 piece[PIECE_TYPE_COUNT][64];
+ u64 castle[CASTLE_COUNT];
+ u64 turn[TURN_COUNT];
+ u64 en_passant[64];
+} zobrist_keys;
+
+void transposition_table_init();
+u64 zobrist_hash(position_t position);
+
+#endif // TRANSPOSITION_TABLE_H