-inline void clear_bit(Bitboard* b, Square s) {
- *b &= ClearMaskBB[s];
-}
-
-
-/// Functions used to update a bitboard after a move. This is faster
-/// then calling a sequence of clear_bit() + set_bit()
-
-inline Bitboard make_move_bb(Square from, Square to) {
- return SetMaskBB[from] | SetMaskBB[to];
-}
-
-inline void do_move_bb(Bitboard* b, Bitboard move_bb) {
- *b ^= move_bb;
+inline Bitboard& operator^=(Bitboard& b, Square s) {
+ return b ^= SquareBB[s], b;