return b ^= SquareBB[s];
}
-inline bool more_than_one(Bitboard b) {
+constexpr bool more_than_one(Bitboard b) {
return b & (b - 1);
}
/// shift() moves a bitboard one step along direction D. Mainly for pawns
template<Square D>
-inline Bitboard shift(Bitboard b) {
+constexpr Bitboard shift(Bitboard b) {
return D == NORTH ? b << 8 : D == SOUTH ? b >> 8
: D == NORTH_EAST ? (b & ~FileHBB) << 9 : D == SOUTH_EAST ? (b & ~FileHBB) >> 7
: D == NORTH_WEST ? (b & ~FileABB) << 7 : D == SOUTH_WEST ? (b & ~FileABB) >> 9