Remove square_is_attacked()
authorMarco Costalba <mcostalba@gmail.com>
Thu, 12 Feb 2009 08:53:37 +0000 (09:53 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 13 Feb 2009 19:53:58 +0000 (20:53 +0100)
Use attacks_to() instead. No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/movegen.cpp
src/position.cpp
src/position.h

index f5890a1a2fa19737c6411deae1841b3293c6fc6b..bc56548da09f75fd27d4a9c8167f5de83bae100d 100644 (file)
@@ -78,7 +78,7 @@ namespace {
 
   }
 
-  // Template generate_piece_moves() with specializations
+  // Template generate_piece_moves() with specializations and overloads
   template<PieceType>
   MoveStack* generate_piece_moves(const Position&, MoveStack*, Color us, Bitboard);
 
@@ -299,7 +299,6 @@ int generate_evasions(const Position& pos, MoveStack* mlist, Bitboard pinned) {
 
           if (blockSquares != EmptyBoardBB)
           {
-              // Pieces moves
               mlist = generate_piece_moves<PAWN>(pos, mlist, us, blockSquares, pinned);
               mlist = generate_piece_moves<KNIGHT>(pos, mlist, us, blockSquares, pinned);
               mlist = generate_piece_moves<BISHOP>(pos, mlist, us, blockSquares, pinned);
index b9a8bf8bf26f47d365eb70110714ca9846fd1937..2b52750136998aa1a183ad5043c7dec14358f63d 100644 (file)
@@ -379,19 +379,6 @@ Bitboard Position::hidden_checks(Color c, Square ksq) const {
 }
 
 
-/// Position::square_is_attacked() checks whether the given side attacks the
-/// given square.
-
-bool Position::square_is_attacked(Square s, Color c) const {
-
-  return   (pawn_attacks(opposite_color(c), s) & pawns(c))
-        || (piece_attacks<KNIGHT>(s) & knights(c))
-        || (piece_attacks<KING>(s)   & kings(c))
-        || (piece_attacks<ROOK>(s)   & rooks_and_queens(c))
-        || (piece_attacks<BISHOP>(s) & bishops_and_queens(c));
-}
-
-
 /// Position::attacks_to() computes a bitboard containing all pieces which
 /// attacks a given square. There are two versions of this function: One
 /// which finds attackers of both colors, and one which only finds the
@@ -407,12 +394,6 @@ Bitboard Position::attacks_to(Square s) const {
         | (piece_attacks<KING>(s)   & pieces_of_type(KING));
 }
 
-Bitboard Position::attacks_to(Square s, Color c) const {
-
-  return attacks_to(s) & pieces_of_color(c);
-}
-
-
 /// Position::piece_attacks_square() tests whether the piece on square f
 /// attacks square t.
 
index 33f3937738db900bb0c1ada00af6140c650e19c0..4b524ec463e0b1be67a460dc9ee64cef04daf6da 100644 (file)
@@ -571,6 +571,16 @@ Bitboard Position::piece_attacks_square(Square f, Square t) const {
   return bit_is_set(piece_attacks<Piece>(f), t);
 }
 
+inline Bitboard Position::attacks_to(Square s, Color c) const {
+
+  return attacks_to(s) & pieces_of_color(c);
+}
+
+inline bool Position::square_is_attacked(Square s, Color c) const {
+
+  return attacks_to(s, c) != EmptyBoardBB;
+}
+
 inline bool Position::pawn_is_passed(Color c, Square s) const {
   return !(pawns(opposite_color(c)) & passed_pawn_mask(c, s));
 }