17#ifndef HOOVER_CHESS_UTILS__PGN_READER__BITBOARD_ATTACKS_X86_BMI2_H_INCLUDED
18#define HOOVER_CHESS_UTILS__PGN_READER__BITBOARD_ATTACKS_X86_BMI2_H_INCLUDED
20#include "pgnreader-config.h"
29static_assert(HAVE_X86_BMI2,
"This file should be included only when PDEP/PEXT is available");
48 static_cast<std::uint64_t
>(occupancyMask),
61 static_cast<std::uint64_t
>(occupancyMask),
Slider attacks implementation using PEXT/PDEP.
Definition bitboard-attacks-x86-bmi2.h:37
static SquareSet getRookAttackMask(Square sq, SquareSet occupancyMask) noexcept
See Attacks::getRookAttackMask() for documentation.
Definition bitboard-attacks-x86-bmi2.h:53
static SquareSet getBishopAttackMask(Square sq, SquareSet occupancyMask) noexcept
See Attacks::getBishopAttackMask() for documentation.
Definition bitboard-attacks-x86-bmi2.h:40
Set of squares. Implemented using a bit-mask.
Definition chessboard-types-squareset.h:35
std::uint_fast8_t SquareUnderlyingType
Underlying type of Square
Definition chessboard-types.h:38
Square
Named square.
Definition chessboard-types.h:122
Definition chessboard-types-squareset.h:30
const BitBoardTables ctBitBoardTables
Various bitboard attack and other tables.