]> git.sesse.net Git - stockfish/commitdiff
Retire find_checkers()
authorMarco Costalba <mcostalba@gmail.com>
Tue, 28 Jun 2011 17:01:51 +0000 (18:01 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 28 Jun 2011 17:01:51 +0000 (18:01 +0100)
No functional change.

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

index b57cc3c7468d83f24fca51883ca6d83e07a5c05e..e526885e50252daa058cab86232b5affc8597f82 100644 (file)
@@ -207,7 +207,7 @@ void Position::from_fen(const string& fen, bool isChess960) {
 
   // Various initialisations
   chess960 = isChess960;
-  find_checkers();
+  st->checkersBB = attackers_to(king_square(sideToMove)) & pieces(opposite_color(sideToMove));
 
   st->key = compute_key();
   st->pawnKey = compute_pawn_key();
@@ -493,19 +493,6 @@ bool Position::move_attacks_square(Move m, Square s) const {
 }
 
 
-/// Position::find_checkers() computes the checkersBB bitboard, which
-/// contains a nonzero bit for each checking piece (0, 1 or 2). It
-/// currently works by calling Position::attackers_to, which is probably
-/// inefficient. Consider rewriting this function to use the last move
-/// played, like in non-bitboard versions of Glaurung.
-
-void Position::find_checkers() {
-
-  Color us = side_to_move();
-  st->checkersBB = attackers_to(king_square(us)) & pieces(opposite_color(us));
-}
-
-
 /// Position::pl_move_is_legal() tests whether a pseudo-legal move is legal
 
 bool Position::pl_move_is_legal(Move m, Bitboard pinned) const {
@@ -1807,7 +1794,7 @@ void Position::flip() {
       st->epSquare = flip_square(pos.st->epSquare);
 
   // Checkers
-  find_checkers();
+  st->checkersBB = attackers_to(king_square(sideToMove)) & pieces(opposite_color(sideToMove));
 
   // Hash keys
   st->key = compute_key();
index 79406d5277dc6782e42434af955f2f34c54f18e5..cdc4336437636ef83cd2d142c64d5fa71e7f711c 100644 (file)
@@ -252,7 +252,6 @@ private:
   void do_capture_move(Key& key, PieceType capture, Color them, Square to, bool ep);
   void do_castle_move(Move m);
   void undo_castle_move(Move m);
-  void find_checkers();
 
   template<bool FindPinned>
   Bitboard hidden_checkers(Color c) const;