-/// Position:pinned_pieces() returns a bitboard of all pinned (against the
-/// king) pieces for the given color.
-Bitboard Position::pinned_pieces(Color c) const {
-
- if (pinned[c] != ~EmptyBoardBB)
- return pinned[c];
-
- Bitboard p1, p2;
- Square ksq = king_square(c);
- pinned[c] = hidden_checks<ROOK, true>(c, ksq, p1) | hidden_checks<BISHOP, true>(c, ksq, p2);
- pinners[c] = p1 | p2;
- return pinned[c];
-}
-
-Bitboard Position::pinned_pieces(Color c, Bitboard& p) const {
-
- if (pinned[c] == ~EmptyBoardBB)
- pinned_pieces(c);
-
- p = pinners[c];
- return pinned[c];
-}
-
-Bitboard Position::discovered_check_candidates(Color c) const {
-
- if (dcCandidates[c] != ~EmptyBoardBB)
- return dcCandidates[c];
-
- Bitboard dummy;
- Square ksq = king_square(opposite_color(c));
- dcCandidates[c] = hidden_checks<ROOK, false>(c, ksq, dummy) | hidden_checks<BISHOP, false>(c, ksq, dummy);
- return dcCandidates[c];
-}
-