X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fbitboard.h;h=847132c499fdc41df9cddf97e44f01c90dd4bb7f;hb=8cd5cb930dd6737220ed83f787062cac13270298;hp=1222ddfa3f50be9051cf85a0e1aa0504f6707ac8;hpb=74f1efee263aadcceb1df716ebd87776b932238a;p=stockfish diff --git a/src/bitboard.h b/src/bitboard.h index 1222ddfa..847132c4 100644 --- a/src/bitboard.h +++ b/src/bitboard.h @@ -113,8 +113,8 @@ extern const Bitboard RankBB[8]; 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]; @@ -236,6 +236,19 @@ inline Bitboard in_front_bb(Color c, Square s) { } +/// 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.