HooverChessUtils_PgnReader 0.9.0
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
hoover_chess_utils::pgn_reader::Attacks_AVX512F Class Reference

#include <bitboard-attacks-x86-avx512f.h>

Static Public Member Functions

static __m512i getAttackedSquaresByPawns512 (const SquareSet pawns, Color oppPawnColor) noexcept
 
static __m512i getAttackedSquaresByKnights (const SquareSet knights) noexcept
 
static __m512i getAttackedSquaresBySliders (__m512i attacks, const SquareSet bishops, const SquareSet rooks, const SquareSet occupancyMask) noexcept
 
static SquareSet determineAttackedSquares (SquareSet occupancyMask, SquareSet pawns, SquareSet knights, SquareSet bishops, SquareSet rooks, Square king, Color turn) noexcept
 

Static Public Attributes

static constexpr std::array< std::uint64_t, 2U > ctAttackingPawnMasks
 
static constexpr std::array< std::int64_t, 4U > ctAttackingPawnRotateLefts
 
static constexpr std::array< std::uint64_t, 8U > ctAttackingKnightMasks
 
static constexpr std::array< std::int64_t, 8U > ctAttackingKnightRotateLefts
 
static constexpr std::array< std::uint64_t, 8U > ctAttackingSliderMasks
 
static constexpr std::array< std::int64_t, 8U > ctAttackingSliderRotateLefts
 

Member Function Documentation

◆ determineAttackedSquares()

static SquareSet hoover_chess_utils::pgn_reader::Attacks_AVX512F::determineAttackedSquares ( SquareSet  occupancyMask,
SquareSet  pawns,
SquareSet  knights,
SquareSet  bishops,
SquareSet  rooks,
Square  king,
Color  turn 
)
inlinestaticnoexcept

◆ getAttackedSquaresByKnights()

static __m512i hoover_chess_utils::pgn_reader::Attacks_AVX512F::getAttackedSquaresByKnights ( const SquareSet  knights)
inlinestaticnoexcept

◆ getAttackedSquaresByPawns512()

static __m512i hoover_chess_utils::pgn_reader::Attacks_AVX512F::getAttackedSquaresByPawns512 ( const SquareSet  pawns,
Color  oppPawnColor 
)
inlinestaticnoexcept

◆ getAttackedSquaresBySliders()

static __m512i hoover_chess_utils::pgn_reader::Attacks_AVX512F::getAttackedSquaresBySliders ( __m512i  attacks,
const SquareSet  bishops,
const SquareSet  rooks,
const SquareSet  occupancyMask 
)
inlinestaticnoexcept

Member Data Documentation

◆ ctAttackingKnightMasks

constexpr std::array<std::uint64_t, 8U> hoover_chess_utils::pgn_reader::Attacks_AVX512F::ctAttackingKnightMasks
staticconstexpr
Initial value:
{
static_cast<std::uint64_t>( ~(SquareSet::column(0U) | SquareSet::column(1U) | SquareSet::row(7U) )),
static_cast<std::uint64_t>(~(SquareSet::column(0U) | SquareSet::row(7U) | SquareSet::row(6U) )),
static_cast<std::uint64_t>(~(SquareSet::column(7U) | SquareSet::row(7U) | SquareSet::row(6U) )),
static_cast<std::uint64_t>(~(SquareSet::column(7U) | SquareSet::column(6U) | SquareSet::row(7U) )),
static_cast<std::uint64_t>(~(SquareSet::column(0U) | SquareSet::column(1U) | SquareSet::row(0U) )),
static_cast<std::uint64_t>(~(SquareSet::column(0U) | SquareSet::row(0U) | SquareSet::row(1U) )),
static_cast<std::uint64_t>(~(SquareSet::column(7U) | SquareSet::row(0U) | SquareSet::row(1U) )),
static_cast<std::uint64_t>(~(SquareSet::column(7U) | SquareSet::column(6U) | SquareSet::row(0U) )),
}
static constexpr SquareSet column(RowColumn col) noexcept
Returns a set of squares in column number col.
Definition chessboard-types-squareset.h:471
static constexpr SquareSet row(RowColumn row) noexcept
Returns a set of squares in row number row.
Definition chessboard-types-squareset.h:485

◆ ctAttackingKnightRotateLefts

constexpr std::array<std::int64_t, 8U> hoover_chess_utils::pgn_reader::Attacks_AVX512F::ctAttackingKnightRotateLefts
staticconstexpr
Initial value:
{
-2 + 8 ,
-1 + 16,
+1 + 16,
+2 + 8 ,
-2 - 8 ,
-1 - 16,
+1 - 16,
+2 - 8 ,
}

◆ ctAttackingPawnMasks

constexpr std::array<std::uint64_t, 2U> hoover_chess_utils::pgn_reader::Attacks_AVX512F::ctAttackingPawnMasks
staticconstexpr
Initial value:
{
static_cast<std::uint64_t>(~SquareSet::column(0)),
static_cast<std::uint64_t>(~SquareSet::column(7)),
}

◆ ctAttackingPawnRotateLefts

constexpr std::array<std::int64_t, 4U> hoover_chess_utils::pgn_reader::Attacks_AVX512F::ctAttackingPawnRotateLefts
staticconstexpr
Initial value:
{
-9,
-7,
+7,
+9,
}

◆ ctAttackingSliderMasks

constexpr std::array<std::uint64_t, 8U> hoover_chess_utils::pgn_reader::Attacks_AVX512F::ctAttackingSliderMasks
staticconstexpr
Initial value:
{
static_cast<std::uint64_t>(~(SquareSet::row(7U) | SquareSet::column(0U))),
static_cast<std::uint64_t>(~(SquareSet::row(7U) | SquareSet::column(7U))),
static_cast<std::uint64_t>(~(SquareSet::row(0U) | SquareSet::column(0U))),
static_cast<std::uint64_t>(~(SquareSet::row(0U) | SquareSet::column(7U))),
static_cast<std::uint64_t>(~SquareSet::row(7U)),
static_cast<std::uint64_t>(~SquareSet::row(0U)),
static_cast<std::uint64_t>(~SquareSet::column(0U)),
static_cast<std::uint64_t>(~SquareSet::column(7U)),
}

◆ ctAttackingSliderRotateLefts

constexpr std::array<std::int64_t, 8U> hoover_chess_utils::pgn_reader::Attacks_AVX512F::ctAttackingSliderRotateLefts
staticconstexpr
Initial value:
{
+7,
+9,
-9,
-7,
+8,
-8,
-1,
+1
}

The documentation for this class was generated from the following file: