49inline constexpr auto ALL = 0XFFFFFFFFFFFFFFFF_bb;
52inline constexpr auto NONE = 0X0_bb;
67inline constexpr auto CENTER = 0X1818000000_bb;
70inline constexpr auto PERIMETER = 0XFF818181818181FF_bb;
75 const auto diag =
static_cast<int>(square.file) -
static_cast<int>(square.rank);
77 if (std::cmp_greater_equal(diag, 0))
86 const auto diag = 7 -
static_cast<int>(square.file) -
static_cast<int>(square.rank);
88 if (std::cmp_greater_equal(diag, 0))
145 inline constexpr auto A = 0x0101010101010101_bb;
148 inline constexpr auto B = 0X202020202020202_bb;
151 inline constexpr auto C = 0X404040404040404_bb;
154 inline constexpr auto D = 0X808080808080808_bb;
157 inline constexpr auto E = 0X1010101010101010_bb;
160 inline constexpr auto F = 0X2020202020202020_bb;
163 inline constexpr auto G = 0X4040404040404040_bb;
166 inline constexpr auto H = 0x8080808080808080_bb;
189 inline constexpr auto ONE = 0x00000000000000FF_bb;
192 inline constexpr auto TWO = 0XFF00_bb;
195 inline constexpr auto THREE = 0XFF0000_bb;
198 inline constexpr auto FOUR = 0XFF000000_bb;
201 inline constexpr auto FIVE = 0XFF00000000_bb;
204 inline constexpr auto SIX = 0XFF0000000000_bb;
207 inline constexpr auto SEVEN = 0XFF000000000000_bb;
210 inline constexpr auto EIGHT = 0xFF00000000000000_bb;
215 return ONE << (8uz * std::to_underlying(rank));
244 inline constexpr auto ROOKS = 0X81_bb;
253 inline constexpr auto QUEEN = 0X8_bb;
256 inline constexpr auto KING = 0X10_bb;
277 inline constexpr auto ROOKS = 0X8100000000000000_bb;
280 inline constexpr auto KNIGHTS = 0X4200000000000000_bb;
283 inline constexpr auto BISHOPS = 0X2400000000000000_bb;
286 inline constexpr auto QUEEN = 0X800000000000000_bb;
289 inline constexpr auto KING = 0X1000000000000000_bb;
301 if (color == Color::White)
310 if (color == Color::White)
319 if (color == Color::White)
328 if (color == Color::White)
337 if (color == Color::White)
346 if (color == Color::White)
constexpr auto MAIN_DIAGONAL
constexpr auto DARK_SQUARES
constexpr auto queenside_castle_rook_pos_mask(const Color side) noexcept -> Bitboard
constexpr auto knights(const Color color) noexcept -> Bitboard
constexpr auto bishops(const Color color) noexcept -> Bitboard
constexpr auto get(const File file) noexcept -> Bitboard
constexpr auto antidiagonal(const Square &square) noexcept -> Bitboard
constexpr auto pawns(const Color color) noexcept -> Bitboard
constexpr auto king(const Color color) noexcept -> Bitboard
constexpr auto queen(const Color color) noexcept -> Bitboard
constexpr auto MAIN_ANTIDIAGONAL
constexpr auto diagonal(const Square &square) noexcept -> Bitboard
constexpr auto get(const Rank rank) noexcept -> Bitboard
constexpr auto LIGHT_SQUARES
constexpr auto rooks(const Color color) noexcept -> Bitboard
constexpr auto kingside_castle_rook_pos_mask(const Color side) noexcept -> Bitboard
constexpr auto back_rank_for(Color color) noexcept -> Rank
@ D
The D file. This is the file that the queens start on.
constexpr void set(const Square square) noexcept