diff options
| author | Aargh Rai <aargh.rai+git@gmail.com> | 2026-07-19 17:52:26 +0530 |
|---|---|---|
| committer | Aargh Rai <aargh.rai+git@gmail.com> | 2026-07-19 17:52:26 +0530 |
| commit | a0970bddbd9f6b97b6a12ba7f73fd1810a2e1e1b (patch) | |
| tree | 9aa71decf96b43242e98c1b864ba9c6d9b5017f3 /src/engine/transposition_table.c | |
| parent | c9d9bddf3df97ef7987c9824747ec1602522b542 (diff) | |
ttable lookup & probe
Diffstat (limited to 'src/engine/transposition_table.c')
| -rw-r--r-- | src/engine/transposition_table.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/engine/transposition_table.c b/src/engine/transposition_table.c deleted file mode 100644 index 1afbc81..0000000 --- a/src/engine/transposition_table.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "engine/transposition_table.h" - -void transposition_table_init() { - for (int i = 0; i < PIECE_TYPE_COUNT; i++) { - for (int j = 0; j < 64; j++) { - zobrist_keys.piece[i][j] = random_u64(); - } - } - for (int i = 0; i < CASTLE_COUNT; i++) { - zobrist_keys.castle[i] = random_u64(); - } - for (int i = 0; i < TURN_COUNT; i++) { - zobrist_keys.turn[i] = random_u64(); - } - for (int i = 0; i < 64; i++) { - zobrist_keys.en_passant[i] = random_u64(); - } -} - -u64 zobrist_hash(position_t position) { - u64 output = 0; - for (int i = 0; i < 64; i++) { - int piece_type = find_piece_on_square(&position, i); - output ^= zobrist_keys.piece[piece_type][i]; - } - - if (position.castling & WHITE_SHORT_CASTLE) { - output ^= zobrist_keys.castle[0]; - } - if (position.castling & WHITE_LONG_CASTLE) { - output ^= zobrist_keys.castle[1]; - } - if (position.castling & BLACK_SHORT_CASTLE) { - output ^= zobrist_keys.castle[2]; - } - if (position.castling & BLACK_LONG_CASTLE) { - output ^= zobrist_keys.castle[3]; - } - - output ^= zobrist_keys.turn[position.turn]; - output ^= zobrist_keys.en_passant[position.passantable_file]; - - return output; -} |
