[BitBoard] Add fills and direction methods
This commit is contained in:
20
BitBoard.cpp
20
BitBoard.cpp
@@ -31,3 +31,23 @@ BitBoard BitBoard::getRank(int r) {
|
||||
BitBoard BitBoard::genShift(BitBoard x, const int s) {
|
||||
return (s < 0) ? (x >> -s) : (s > 63) ? x : (x << s);
|
||||
}
|
||||
|
||||
BitBoard BitBoard::northFill() const {
|
||||
BitBoard result(mBoard);
|
||||
result |= (result << 8);
|
||||
result |= (result << 16);
|
||||
result |= (result << 32);
|
||||
return (result << 8);
|
||||
}
|
||||
|
||||
BitBoard BitBoard::southFill() const {
|
||||
BitBoard result(mBoard);
|
||||
result |= (result >> 8);
|
||||
result |= (result >> 16);
|
||||
result |= (result >> 32);
|
||||
return result;
|
||||
}
|
||||
|
||||
BitBoard BitBoard::fileFill() const {
|
||||
return northFill() | southFill();
|
||||
}
|
||||
|
Reference in New Issue
Block a user