]> git.sesse.net Git - stockfish/blobdiff - src/position.h
Fix white space breakage
[stockfish] / src / position.h
index 8121bec1c9c0642c2e17f2a96b2acbcc9fccc76c..cc816910a3d0320f8e866f12b041dca0d5549ce4 100644 (file)
@@ -100,7 +100,7 @@ enum Phase {
 
 struct StateInfo {
   Key pawnKey, materialKey;
-  int castleRights, rule50, pliesFromNull;
+  int castleRights, rule50, ply, pliesFromNull;
   Square epSquare;
   Score value;
   Value npMaterial[2];
@@ -271,8 +271,9 @@ public:
   bool opposite_colored_bishops() const;
   bool has_pawn_on_7th(Color c) const;
 
-  // Reset the gamePly variable to 0
-  void reset_game_ply();
+  // Game ply information
+  int ply() const;
+  void reset_ply();
 
   // Position consistency check, for debugging
   bool is_ok(int* failedStep = NULL) const;
@@ -290,7 +291,7 @@ private:
   void allow_ooo(Color c);
 
   // Helper functions for doing and undoing moves
-  void do_capture_move(Bitboard& key, PieceType capture, Color them, Square to, bool ep);
+  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();
@@ -323,7 +324,6 @@ private:
 
   // Other info
   Color sideToMove;
-  int gamePly;
   Key history[MaxGameLength];
   int castleRightsMask[64];
   StateInfo startState;
@@ -334,7 +334,6 @@ private:
   static Key zobrist[2][8][64];
   static Key zobEp[64];
   static Key zobCastle[16];
-  static Key zobMaterial[2][8][16];
   static Key zobSideToMove;
   static Score PieceSquareTable[16][64];
   static Key zobExclusion;
@@ -483,7 +482,7 @@ inline bool Position::pawn_is_passed(Color c, Square s) const {
 }
 
 inline bool Position::square_is_weak(Square s, Color c) const {
-  return !(pieces(PAWN, c) & outpost_mask(opposite_color(c), s));
+  return !(pieces(PAWN, opposite_color(c)) & attack_span_mask(c, s));
 }
 
 inline Key Position::get_key() const {
@@ -558,4 +557,8 @@ inline PieceType Position::captured_piece() const {
   return st->capture;
 }
 
+inline int Position::ply() const {
+  return st->ply;
+}
+
 #endif // !defined(POSITION_H_INCLUDED)