the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
+
Stockfish is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
extern const Bitboard RelativeRankBB[2][8];
extern const Bitboard InFrontBB[2][8];
-extern Bitboard SetMaskBB[64];
-extern Bitboard ClearMaskBB[64];
+extern Bitboard SetMaskBB[65];
+extern Bitboard ClearMaskBB[65];
extern Bitboard StepAttackBB[16][64];
extern Bitboard RayBB[64][8];
}
+/// behind_bb() takes a color and a rank or square as input, and returns a
+/// bitboard representing all the squares on all ranks behind of the rank
+/// (or square), from the given color's point of view.
+
+inline Bitboard behind_bb(Color c, Rank r) {
+ return InFrontBB[opposite_color(c)][r];
+}
+
+inline Bitboard behind_bb(Color c, Square s) {
+ return in_front_bb(opposite_color(c), square_rank(s));
+}
+
+
/// ray_bb() gives a bitboard representing all squares along the ray in a
/// given direction from a given square.