mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-22 01:56:58 +08:00
Add behind_bb() helper to simplify code logic
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -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
|
/// ray_bb() gives a bitboard representing all squares along the ray in a
|
||||||
/// given direction from a given square.
|
/// given direction from a given square.
|
||||||
|
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ PawnInfo *PawnInfoTable::get_pawn_info(const Position &pos) {
|
|||||||
|| isolated
|
|| isolated
|
||||||
|| chain
|
|| chain
|
||||||
|| (pos.pawn_attacks(us, s) & theirPawns)
|
|| (pos.pawn_attacks(us, s) & theirPawns)
|
||||||
|| (ourPawns & in_front_bb(them, r) & neighboring_files_bb(f)))
|
|| (ourPawns & behind_bb(us, r) & neighboring_files_bb(f)))
|
||||||
backward = false;
|
backward = false;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -324,7 +324,7 @@ PawnInfo *PawnInfoTable::get_pawn_info(const Position &pos) {
|
|||||||
// Test for candidate passed pawn
|
// Test for candidate passed pawn
|
||||||
candidate = !passed
|
candidate = !passed
|
||||||
&& pos.file_is_half_open(them, f)
|
&& pos.file_is_half_open(them, f)
|
||||||
&& ( count_1s_max_15(neighboring_files_bb(f) & (in_front_bb(them, r) | rank_bb(r)) & ourPawns)
|
&& ( count_1s_max_15(neighboring_files_bb(f) & (behind_bb(us, r) | rank_bb(r)) & ourPawns)
|
||||||
- count_1s_max_15(neighboring_files_bb(f) & in_front_bb(us, r) & theirPawns)
|
- count_1s_max_15(neighboring_files_bb(f) & in_front_bb(us, r) & theirPawns)
|
||||||
>= 0);
|
>= 0);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user