diff options
Diffstat (limited to 'src/search/knight_moves.c')
| -rw-r--r-- | src/search/knight_moves.c | 101 |
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); - } - } -} |
