Rename piece_attacks() in piece_attacks_from()

It is a bit longer but much easier to understand especially
for people new to the sources. I remember it was not trivial
for me to understand the returned attack bitboard refers to
attacks launched from the given square and not attacking the
given square.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2009-09-20 10:26:54 +01:00
parent f74f42b298
commit 6845397c5c
7 changed files with 80 additions and 79 deletions

View File

@@ -253,7 +253,7 @@ MoveStack* generate_evasions(const Position& pos, MoveStack* mlist, Bitboard pin
}
// Generate evasions for king
Bitboard b1 = pos.piece_attacks<KING>(ksq) & ~pos.pieces_of_color(us) & ~checkersAttacks;
Bitboard b1 = pos.piece_attacks_from<KING>(ksq) & ~pos.pieces_of_color(us) & ~checkersAttacks;
while (b1)
{
to = pop_1st_bit(&b1);
@@ -275,7 +275,7 @@ MoveStack* generate_evasions(const Position& pos, MoveStack* mlist, Bitboard pin
// Generate captures of the checking piece
// Pawn captures
b1 = pos.pawn_attacks(checksq, them) & pos.pieces(PAWN, us) & ~pinned;
b1 = pos.pawn_attacks_from(checksq, them) & pos.pieces(PAWN, us) & ~pinned;
while (b1)
{
from = pop_1st_bit(&b1);
@@ -290,9 +290,9 @@ MoveStack* generate_evasions(const Position& pos, MoveStack* mlist, Bitboard pin
}
// Pieces captures
b1 = ( (pos.piece_attacks<KNIGHT>(checksq) & pos.pieces(KNIGHT, us))
| (pos.piece_attacks<BISHOP>(checksq) & pos.pieces(BISHOP, QUEEN, us))
| (pos.piece_attacks<ROOK>(checksq) & pos.pieces(ROOK, QUEEN, us)) ) & ~pinned;
b1 = ( (pos.piece_attacks_from<KNIGHT>(checksq) & pos.pieces(KNIGHT, us))
| (pos.piece_attacks_from<BISHOP>(checksq) & pos.pieces(BISHOP, QUEEN, us))
| (pos.piece_attacks_from<ROOK>(checksq) & pos.pieces(ROOK, QUEEN, us)) ) & ~pinned;
while (b1)
{
@@ -326,7 +326,7 @@ MoveStack* generate_evasions(const Position& pos, MoveStack* mlist, Bitboard pin
if (pos.ep_square() != SQ_NONE && (checkers & pos.pieces(PAWN, them)))
{
to = pos.ep_square();
b1 = pos.pawn_attacks(to, them) & pos.pieces(PAWN, us);
b1 = pos.pawn_attacks_from(to, them) & pos.pieces(PAWN, us);
// The checking pawn cannot be a discovered (bishop) check candidate
// otherwise we were in check also before last double push move.
@@ -557,7 +557,7 @@ bool move_is_legal(const Position& pos, const Move m, Bitboard pinned) {
}
// Luckly we can handle all the other pieces in one go
return ( bit_is_set(pos.piece_attacks(pc, from), to)
return ( bit_is_set(pos.piece_attacks_from(pc, from), to)
&& pos.pl_move_is_legal(m, pinned)
&& !move_is_promotion(m));
}
@@ -598,7 +598,7 @@ namespace {
for (int i = 0, e = pos.piece_count(us, Piece); i < e; i++)
{
from = pos.piece_list(us, Piece, i);
b = pos.piece_attacks<Piece>(from) & target;
b = pos.piece_attacks_from<Piece>(from) & target;
SERIALIZE_MOVES(b);
}
return mlist;
@@ -616,7 +616,7 @@ namespace {
if (pinned && bit_is_set(pinned, from))
continue;
b = pos.piece_attacks<Piece>(from) & target;
b = pos.piece_attacks_from<Piece>(from) & target;
SERIALIZE_MOVES(b);
}
return mlist;
@@ -628,7 +628,7 @@ namespace {
Bitboard b;
Square from = pos.king_square(us);
b = pos.piece_attacks<KING>(from) & target;
b = pos.piece_attacks_from<KING>(from) & target;
SERIALIZE_MOVES(b);
return mlist;
}
@@ -700,7 +700,7 @@ namespace {
assert(Us != WHITE || square_rank(pos.ep_square()) == RANK_6);
assert(Us != BLACK || square_rank(pos.ep_square()) == RANK_3);
Bitboard b1 = pawns & pos.pawn_attacks(pos.ep_square(), Them);
Bitboard b1 = pawns & pos.pawn_attacks_from(pos.ep_square(), Them);
assert(b1 != EmptyBoardBB);
while (b1)
@@ -819,11 +819,11 @@ namespace {
// Direct checks, single pawn pushes
Bitboard empty = pos.empty_squares();
b2 = move_pawns<Us, DELTA_N>(b1) & empty;
b3 = b2 & pos.pawn_attacks(ksq, Them);
b3 = b2 & pos.pawn_attacks_from(ksq, Them);
SERIALIZE_MOVES_D(b3, -TDELTA_N);
// Direct checks, double pawn pushes
b3 = move_pawns<Us, DELTA_N>(b2 & TRank3BB) & empty & pos.pawn_attacks(ksq, Them);
b3 = move_pawns<Us, DELTA_N>(b2 & TRank3BB) & empty & pos.pawn_attacks_from(ksq, Them);
SERIALIZE_MOVES_D(b3, -TDELTA_N -TDELTA_N);
return mlist;
}
@@ -839,7 +839,7 @@ namespace {
while (b)
{
Square from = pop_1st_bit(&b);
Bitboard bb = pos.piece_attacks<Piece>(from) & pos.empty_squares();
Bitboard bb = pos.piece_attacks_from<Piece>(from) & pos.empty_squares();
if (Piece == KING)
bb &= ~QueenPseudoAttacks[ksq];
@@ -850,7 +850,7 @@ namespace {
b = target & ~dc;
if (Piece != KING || b)
{
Bitboard checkSqs = pos.piece_attacks<Piece>(ksq) & pos.empty_squares();
Bitboard checkSqs = pos.piece_attacks_from<Piece>(ksq) & pos.empty_squares();
if (!checkSqs)
return mlist;
@@ -862,7 +862,7 @@ namespace {
|| (Piece == BISHOP && !(BishopPseudoAttacks[from] & checkSqs)))
continue;
Bitboard bb = pos.piece_attacks<Piece>(from) & checkSqs;
Bitboard bb = pos.piece_attacks_from<Piece>(from) & checkSqs;
SERIALIZE_MOVES(bb);
}
}