[BitBoard] Add fills and direction methods

This commit is contained in:
2022-12-22 11:18:23 +01:00
parent fbc1a5589a
commit 4157c9200e
3 changed files with 58 additions and 12 deletions

View File

@@ -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();
}