Functions | |
template<Player P> | |
bool | blockingVerticalAttack (NumEffectState const &state, Square pos) |
template<Player P> | |
bool | blockingDiagonalAttack (NumEffectState const &state, Square pos, Square target, King8Info canMoveMask) |
template<Player P, bool canDrop, bool setBestMove> | |
bool | hasKnightCheckmate (NumEffectState const &state, Square target, Square pos, King8Info canMoveMask, Move &bestMove, mask_t mask1) |
template<Player P, bool setBestMove> | |
bool | hasCheckmateMoveKnight (NumEffectState const &state, Square target, King8Info canMoveMask, Move &bestMove) |
template<Player P, bool setBestMove> | |
bool | slowCheckDrop (NumEffectState const &state, Square target, Ptype ptype, King8Info canMoveMask, Move &bestMove) |
bool osl::checkmate::detail::blockingDiagonalAttack | ( | NumEffectState const & | state, |
Square | pos, | ||
Square | target, | ||
King8Info | canMoveMask | ||
) |
Definition at line 57 of file immediateCheckmate.tcc.
References osl::Board_Table, osl::Piece::canMoveOn(), osl::BoardTable::getShort8OffsetUnsafe(), osl::Square::isOnBoard(), osl::Square::square, osl::U, and osl::checkmate::King8Info::uint64Value().
bool osl::checkmate::detail::blockingVerticalAttack | ( | NumEffectState const & | state, |
Square | pos | ||
) |
Definition at line 22 of file immediateCheckmate.tcc.
References osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::Square::isU(), and osl::Square::square.
bool osl::checkmate::detail::hasCheckmateMoveKnight | ( | NumEffectState const & | state, |
Square | target, | ||
King8Info | canMoveMask, | ||
Move & | bestMove | ||
) |
Definition at line 125 of file immediateCheckmate.tcc.
References osl::KNIGHT, target, and osl::checkmate::King8Info::uint64Value().
bool osl::checkmate::detail::hasKnightCheckmate | ( | NumEffectState const & | state, |
Square | target, | ||
Square | pos, | ||
King8Info | canMoveMask, | ||
Move & | bestMove, | ||
mask_t | mask1 | ||
) |
Definition at line 88 of file immediateCheckmate.tcc.
References osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::KNIGHT, osl::Piece::ptype(), osl::Piece::square(), and target.
bool osl::checkmate::detail::slowCheckDrop | ( | NumEffectState const & | state, |
Square | target, | ||
Ptype | ptype, | ||
King8Info | canMoveMask, | ||
Move & | bestMove | ||
) |
Definition at line 151 of file immediateCheckmate.tcc.
References osl::checkmate::ImmediateCheckmateTable::blockingMask(), osl::Board_Table, osl::BoardTable::getOffset(), osl::checkmate::Immediate_Checkmate_Table, osl::BoardTable::isBetween(), osl::checkmate::ImmediateCheckmateTable::ptypeDropMask(), osl::Square::square, osl::misc::BitOp::takeOneBit(), and osl::checkmate::King8Info::uint64Value().