// Bitboards for pinned pieces and discovered check candidates
Bitboard discovered_check_candidates(Color c) const;
Bitboard pinned_pieces(Color c) const;
- template<PieceType Piece>
- Bitboard pinned_pieces(Color c, Square ksq) const;
// Checking pieces
Bitboard checkers() const;
bool piece_attacks_square(Square f, Square t) const; // Dispatch at run-time
// Properties of moves
- bool move_is_legal(Move m) const;
- bool move_is_legal(Move m, Bitboard pinned) const;
+ bool pl_move_is_legal(Move m) const;
+ bool pl_move_is_legal(Move m, Bitboard pinned) const;
bool move_is_check(Move m) const;
bool move_is_check(Move m, Bitboard dcCandidates) const;
bool move_is_capture(Move m) const;
void undo_ep_move(Move m);
void find_checkers();
+ template<PieceType Piece, bool FindPinned>
+ Bitboard hidden_checks(Color c, Square ksq) const;
+
// Computing hash keys from scratch (for initialization and debugging)
Key compute_key() const;
Key compute_pawn_key() const;