Move methods from Board to BitBoard
This commit is contained in:
32
Board.hpp
32
Board.hpp
@@ -67,26 +67,6 @@ private:
|
||||
// Check if the move is castling without checking the rights or validity.
|
||||
static bool isMoveCastling(const BitBoard &from, const BitBoard &to, const Piece &piece);
|
||||
|
||||
static inline void clearIndex(BitBoard &b, const unsigned i) {
|
||||
b &= ~(1ULL << i);
|
||||
}
|
||||
|
||||
static inline void setIndex(BitBoard &b, const unsigned i) {
|
||||
b |= 1ULL << i;
|
||||
}
|
||||
|
||||
static inline BitBoard indexToBitBoard(const unsigned i) {
|
||||
return (1ULL << i);
|
||||
}
|
||||
|
||||
static inline BitBoard genShift(BitBoard x, const int s) {
|
||||
return (s < 0) ? (x >> -s) : (s > 63) ? x : (x << s);
|
||||
}
|
||||
|
||||
static inline BitBoard getRankBB(int r) {
|
||||
return (genShift(1ULL, (r + 1) * 8) - 1) & genShift(~1ULL, r * 8 - 1);
|
||||
}
|
||||
|
||||
static inline int toIndex(PieceType t) {
|
||||
return static_cast<int>(t);
|
||||
}
|
||||
@@ -114,18 +94,6 @@ private:
|
||||
return static_cast<PieceType>(0);
|
||||
}
|
||||
|
||||
inline void applyMask(const BitBoard &mask) {
|
||||
for (auto &item : mPieceBBs) {
|
||||
item ^= mask;
|
||||
}
|
||||
}
|
||||
|
||||
// Returns the number of trailing 0-bits in b.
|
||||
// WARN: Check for 0!
|
||||
static inline int getLSB(const BitBoard b) {
|
||||
return __builtin_ctzll(static_cast<unsigned long long>(b));
|
||||
}
|
||||
|
||||
void handlePawnDoubleAdvance(const Move &move, BitBoard bb, const Piece &movedPiece);
|
||||
void handleEnPassant(const Move &move, const Piece &movedPiece);
|
||||
};
|
||||
|
Reference in New Issue
Block a user