bool move_is_legal(const Move m) const;
// Helper functions for doing and undoing moves
- void do_capture_move(Key& key, PieceType capture, Color them, Square to, bool ep);
template<bool Do> void do_castle_move(Move m);
template<bool FindPinned>
// Bitboards
Bitboard byTypeBB[8]; // [pieceType]
Bitboard byColorBB[2]; // [color]
+ Bitboard occupied;
// Piece counts
int pieceCount[2][8]; // [color][pieceType]
}
inline Bitboard Position::occupied_squares() const {
- return byTypeBB[0];
+ return occupied;
}
inline Bitboard Position::empty_squares() const {
- return ~byTypeBB[0];
+ return ~occupied;
}
inline Bitboard Position::pieces(Color c) const {