summaryrefslogtreecommitdiff
path: root/src/search/knight_moves.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/search/knight_moves.c')
-rw-r--r--src/search/knight_moves.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/src/search/knight_moves.c b/src/search/knight_moves.c
deleted file mode 100644
index 34cf66a..0000000
--- a/src/search/knight_moves.c
+++ /dev/null
@@ -1,101 +0,0 @@
-#include "../search.h"
-
-bitboard_t knight_moves[64] = {
- 132096ULL,
- 329728ULL,
- 659712ULL,
- 659712ULL >> 1,
- 659712ULL >> 2,
- 659712ULL >> 3,
- 10489856ULL,
- 4202496ULL,
-
- 33816580ULL,
- 84410376ULL,
- 168886289ULL,
- 168886289ULL >> 1,
- 168886289ULL >> 2,
- 168886289ULL >> 3,
- 2685403152ULL,
- 1075839008ULL,
-
- 8657044482ULL,
- 21609056261ULL,
- 43234889994ULL,
- 43234889994ULL >> 1,
- 43234889994ULL >> 2,
- 43234889994ULL >> 3,
- 687463207072ULL,
- 275414786112ULL,
-
- 8657044482ULL >> 8,
- 21609056261ULL >> 8,
- 43234889994ULL >> 8,
- 43234889994ULL >> (8 + 1),
- 43234889994ULL >> (8 + 2),
- 43234889994ULL >> (8 + 3),
- 687463207072ULL >> 8,
- 275414786112ULL >> 8,
-
- 8657044482ULL >> 16,
- 21609056261ULL >> 16,
- 43234889994ULL >> 16,
- 43234889994ULL >> (16 + 1),
- 43234889994ULL >> (16 + 2),
- 43234889994ULL >> (16 + 3),
- 687463207072ULL >> 16,
- 275414786112ULL >> 16,
-
- 8657044482ULL >> 24,
- 21609056261ULL >> 24,
- 43234889994ULL >> 24,
- 43234889994ULL >> (24 + 1),
- 43234889994ULL >> (24 + 2),
- 43234889994ULL >> (24 + 3),
- 687463207072ULL >> 24,
- 275414786112ULL >> 24,
-
- 288234782788157440ULL,
- 576469569871282176ULL,
- 1224997833292120064ULL,
- 1224997833292120064ULL >> 1,
- 1224997833292120064ULL >> 2,
- 1224997833292120064ULL >> 3,
- 1152939783987658752ULL,
- 2305878468463689728ULL,
-
- 1128098930098176ULL,
- 2257297371824128ULL,
- 4796069720358912ULL,
- 4796069720358912ULL >> 1,
- 4796069720358912ULL >> 2,
- 4796069720358912ULL >> 3,
- 4679521487814656ULL,
- 9077567998918656ULL,
-};
-
-void get_knight_moves(moves_t* moves, position_t position) {
- assert_valid_position(position);
-
- bitboard_t friendly_knights;
- bitboard_t friendly_pieces;
- if (position.turn == WHITE_TURN) {
- friendly_pieces = whites(position);
- friendly_knights = position.bitboards[WHITE_KNIGHT];
- } else {
- friendly_pieces = blacks(position);
- friendly_knights = position.bitboards[BLACK_KNIGHT];
- }
-
- while (friendly_knights) {
- int from = __builtin_ctzll(friendly_knights);
- friendly_knights &= friendly_knights - 1;
- bitboard_t ATTACK_MASK = knight_moves[from];
- ATTACK_MASK &= ~friendly_pieces;
- while (ATTACK_MASK) {
- int to = __builtin_ctzll(ATTACK_MASK);
- ATTACK_MASK &= ATTACK_MASK - 1;
- add_move(moves, from, to);
- }
- }
-}