Refactor Position::pinned_pieces() to use templates

Also better document this interesting function.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2008-10-23 12:59:20 +02:00
parent 2f8961beef
commit af59cb1d63
4 changed files with 49 additions and 44 deletions
+3 -13
View File
@@ -150,26 +150,16 @@ extern Bitboard QueenPseudoAttacks[64];
/// Functions for testing whether a given bit is set in a bitboard, and for
/// setting and clearing bits.
inline Bitboard set_mask_bb(Square s) {
// return 1ULL << s;
return SetMaskBB[s];
}
inline Bitboard clear_mask_bb(Square s) {
// return ~set_mask_bb(s);
return ClearMaskBB[s];
}
inline Bitboard bit_is_set(Bitboard b, Square s) {
return b & set_mask_bb(s);
return b & SetMaskBB[s];
}
inline void set_bit(Bitboard *b, Square s) {
*b |= set_mask_bb(s);
*b |= SetMaskBB[s];
}
inline void clear_bit(Bitboard *b, Square s) {
*b &= clear_mask_bb(s);
*b &= ClearMaskBB[s];
}