-/// Functions for computing sliding attack bitboards. rook_attacks_bb(),
-/// bishop_attacks_bb() and queen_attacks_bb() all take a square and a
-/// bitboard of occupied squares as input, and return a bitboard representing
-/// all squares attacked by a rook, bishop or queen on the given square.
-
-#if defined(USE_COMPACT_ROOK_ATTACKS)
-
-inline Bitboard file_attacks_bb(Square s, Bitboard blockers) {
- Bitboard b = (blockers >> square_file(s)) & 0x01010101010100ULL;
- return
- FileAttacks[square_rank(s)][(b*0xd6e8802041d0c441ULL)>>58] & file_bb(s);
-}
-
-inline Bitboard rank_attacks_bb(Square s, Bitboard blockers) {
- Bitboard b = (blockers >> ((s & 56) + 1)) & 63;
- return RankAttacks[square_file(s)][b] & rank_bb(s);
-}
+/// forward_bb takes a color and a square as input, and returns a bitboard
+/// representing all squares along the line in front of the square, from the
+/// point of view of the given color. Definition of the table is:
+/// ForwardBB[c][s] = in_front_bb(c, s) & file_bb(s)