]> git.sesse.net Git - stockfish/blobdiff - src/position.h
rename shift variables.
[stockfish] / src / position.h
index 34e2f7eef16d0fdb9df11f043087801f3b33aa3d..403ce398ddbbcfe93669de28422f23e1577a61f6 100644 (file)
@@ -115,6 +115,7 @@ public:
   Bitboard attacks_from(PieceType pt, Square s) const;
   template<PieceType> Bitboard attacks_from(Square s) const;
   template<PieceType> Bitboard attacks_from(Square s, Color c) const;
   Bitboard attacks_from(PieceType pt, Square s) const;
   template<PieceType> Bitboard attacks_from(Square s) const;
   template<PieceType> Bitboard attacks_from(Square s, Color c) const;
+  template<Color> Bitboard pawn_attacks(Bitboard b) const;
   Bitboard slider_blockers(Bitboard sliders, Square s, Bitboard& pinners) const;
 
   // Properties of moves
   Bitboard slider_blockers(Bitboard sliders, Square s, Bitboard& pinners) const;
 
   // Properties of moves
@@ -288,6 +289,12 @@ inline Bitboard Position::attacks_from(PieceType pt, Square s) const {
   return attacks_bb(pt, s, byTypeBB[ALL_PIECES]);
 }
 
   return attacks_bb(pt, s, byTypeBB[ALL_PIECES]);
 }
 
+template<Color c>
+inline Bitboard Position::pawn_attacks(Bitboard b) const {
+  return c == WHITE ? shift<NORTH_WEST>(b) | shift<NORTH_EAST>(b)
+                    : shift<SOUTH_WEST>(b) | shift<SOUTH_EAST>(b);
+}
+
 inline Bitboard Position::attackers_to(Square s) const {
   return attackers_to(s, byTypeBB[ALL_PIECES]);
 }
 inline Bitboard Position::attackers_to(Square s) const {
   return attackers_to(s, byTypeBB[ALL_PIECES]);
 }