17#ifndef HOOVER_CHESS_UTILS__PGN_READER__BITBOARD_INTERCEPTS_H_INCLUDED
18#define HOOVER_CHESS_UTILS__PGN_READER__BITBOARD_INTERCEPTS_H_INCLUDED
92 template <
bool pinned>
96 return getRay(kingSq, pinnedSq);
Check interceptions and pin checks.
Definition bitboard-intercepts.h:36
static SquareSet getInterceptSquares(Square kingSq, Square checkerSq) noexcept
Returns the set of squares that intercepts a check.
Definition bitboard-intercepts.h:66
static SquareSet getRay(Square kingSq, Square pinnedSq) noexcept
Returns a ray from king square to the direction of pinned piece square.
Definition bitboard-intercepts.h:82
static SquareSet getPinRestiction(Square kingSq, Square pinnedSq) noexcept
Definition bitboard-intercepts.h:93
Set of squares. Implemented using a bit-mask.
Definition chessboard-types-squareset.h:35
static constexpr SquareSet all() noexcept
Returns a set of all squares.
Definition chessboard-types-squareset.h:460
constexpr bool isValidSquare(Square sq) noexcept
Checks whether a value is a square.
Definition chessboard-types.h:306
constexpr std::size_t getIndexOfSquare(Square sq) noexcept
Returns an index for a square.
Definition chessboard-types.h:372
Square
Named square.
Definition chessboard-types.h:122
@ NONE
Token for 'no' square.
Definition chessboard-types-squareset.h:30
const BitBoardTables ctBitBoardTables
Various bitboard attack and other tables.
std::array< std::array< std::uint64_t, 64U >, 65U > rayIntercepts
Ray attack intercept squares from king to checker.
Definition bitboard-tables.h:63
std::array< std::array< std::uint64_t, 64U >, 64U > raysFromKing
Rays from a king square to the direction of a pinned piece square.
Definition bitboard-tables.h:69