]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Move pawnsOnSquares to Position (#2100)
[stockfish] / src / position.h
index 1351d0d125a6b60a4d14d78aaf071af638417b92..1078e03ed75fa5a4aa42bed002f0d7f820517c09 100644 (file)
@@ -129,6 +129,7 @@ public:
   // Piece specific
   bool pawn_passed(Color c, Square s) const;
   bool opposite_bishops() const;
+  int  pawns_on_same_color_squares(Color c, Square s) const;
 
   // Doing and undoing moves
   void do_move(Move m, StateInfo& newSt);
@@ -323,6 +324,10 @@ inline bool Position::advanced_pawn_push(Move m) const {
         && relative_rank(sideToMove, from_sq(m)) > RANK_4;
 }
 
+inline int Position::pawns_on_same_color_squares(Color c, Square s) const {
+  return popcount(pieces(c, PAWN) & ((DarkSquares & s) ? DarkSquares : ~DarkSquares));
+}
+
 inline Key Position::key() const {
   return st->key;
 }