-#if defined(USE_COMPACT_ROOK_ATTACKS)
-extern Bitboard RankAttacks[8][64], FileAttacks[8][64];
-#else
-extern const uint64_t RMult[64];
-extern const int RShift[64];
-extern Bitboard RMask[64];
-extern int RAttackIndex[64];
-extern Bitboard RAttacks[0x19000];
-#endif // defined(USE_COMPACT_ROOK_ATTACKS)
-
-extern const uint64_t BMult[64];
-extern const int BShift[64];
-extern Bitboard BMask[64];
-extern int BAttackIndex[64];
-extern Bitboard BAttacks[0x1480];
-
-extern Bitboard BishopPseudoAttacks[64];
-extern Bitboard RookPseudoAttacks[64];
-extern Bitboard QueenPseudoAttacks[64];
-
-
-////
-//// Inline functions
-////
-
-/// 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& operator|=(Bitboard& b, Square s) {
+ return b |= SquareBB[s];