Move bitboards constants to bitboard.h

This commit is contained in:
2023-07-13 09:48:16 +02:00
parent 754b011d05
commit c7e2aec77c
4 changed files with 72 additions and 28 deletions

70
src/bitboard.h Normal file
View File

@@ -0,0 +1,70 @@
/* bitboard.h - bitboard definitions.
*
* Copyright (C) 2021 Bruno Raoult ("br")
* Licensed under the GNU General Public License v3.0 or later.
* Some rights reserved. See COPYING.
*
* You should have received a copy of the GNU General Public License along with this
* program. If not, see <https://www.gnu.org/licenses/gpl-3.0-standalone.html>.
*
* SPDX-License-Identifier: GPL-3.0-or-later <https://spdx.org/licenses/GPL-3.0-or-later.html>
*
*/
#ifndef BITBOARD_H
#define BITBOARD_H
#include <bits.h>
#include "chessdefs.h"
#include "piece.h"
enum bb_square {
A1 = 1UL << 0, B1 = 1UL << 1, C1 = 1UL << 2, D1 = 1UL << 3,
E1 = 1UL << 4, F1 = 1UL << 5, G1 = 1UL << 6, H1 = 1UL << 7,
A2 = 1UL << 8, B2 = 1UL << 9, C2 = 1UL << 10, D2 = 1UL << 11,
E2 = 1UL << 12, F2 = 1UL << 13, G2 = 1UL << 14, H2 = 1UL << 15,
A3 = 1UL << 16, B3 = 1UL << 17, C3 = 1UL << 18, D3 = 1UL << 19,
E3 = 1UL << 20, F3 = 1UL << 21, G3 = 1UL << 22, H3 = 1UL << 23,
A4 = 1UL << 24, B4 = 1UL << 25, C4 = 1UL << 26, D4 = 1UL << 27,
E4 = 1UL << 28, F4 = 1UL << 29, G4 = 1UL << 30, H4 = 1UL << 31,
A5 = 1UL << 32, B5 = 1UL << 33, C5 = 1UL << 34, D5 = 1UL << 35,
E5 = 1UL << 36, F5 = 1UL << 37, G5 = 1UL << 38, H5 = 1UL << 39,
A6 = 1UL << 40, B6 = 1UL << 41, C6 = 1UL << 42, D6 = 1UL << 43,
E6 = 1UL << 44, F6 = 1UL << 45, G6 = 1UL << 46, H6 = 1UL << 47,
A7 = 1UL << 48, B7 = 1UL << 49, C7 = 1UL << 50, D7 = 1UL << 51,
E7 = 1UL << 52, F7 = 1UL << 53, G7 = 1UL << 54, H7 = 1UL << 55,
A8 = 1UL << 56, B8 = 1UL << 57, C8 = 1UL << 58, D8 = 1UL << 59,
E8 = 1UL << 60, F8 = 1UL << 61, G8 = 1UL << 62, H8 = 1UL << 63,
};
enum bb_files {
F_1 = A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8,
F_2 = B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8,
F_3 = C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8,
F_4 = D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8,
F_5 = E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8,
F_6 = F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8,
F_7 = G1 | G2 | G3 | G4 | G5 | G6 | G7 | G8,
F_8 = H1 | H2 | H3 | H4 | H5 | H6 | H7 | H8,
};
enum bb_ranges {
R_1 = A1 | B1 | C1 | D1 | E1 | F1 | G1 | H1,
R_2 = A2 | B2 | C2 | D2 | E2 | F2 | G2 | H2,
R_3 = A3 | B3 | C3 | D3 | E3 | F3 | G3 | H3,
R_4 = A4 | B4 | C4 | D4 | E4 | F4 | G4 | H4,
R_5 = A5 | B5 | C5 | D5 | E5 | F5 | G5 | H5,
R_6 = A6 | B6 | C6 | D6 | E6 | F6 | G6 | H6,
R_7 = A7 | B7 | C7 | D7 | E7 | F7 | G7 | H7,
R_8 = A8 | B8 | C8 | D8 | E8 | F8 | G8 | H8,
};
#endif /* BOARD_H */