]> git.sesse.net Git - stockfish/blobdiff - src/position.h
New Time management system
[stockfish] / src / position.h
index e3749cdb4f6fd50deabff8b5d12b5446be90fc47..9976eacb21826dafd57eed8d372fa22436e079c3 100644 (file)
@@ -270,6 +270,8 @@ public:
   // Number of plies since the last non-reversible move
   int rule_50_counter() const;
 
   // Number of plies since the last non-reversible move
   int rule_50_counter() const;
 
+  int startpos_ply_counter() const;
+
   // Other properties of the position
   bool opposite_colored_bishops() const;
   bool has_pawn_on_7th(Color c) const;
   // Other properties of the position
   bool opposite_colored_bishops() const;
   bool has_pawn_on_7th(Color c) const;
@@ -280,6 +282,8 @@ public:
   // Reset the gamePly variable to 0
   void reset_game_ply();
 
   // Reset the gamePly variable to 0
   void reset_game_ply();
 
+  void inc_startpos_ply_counter();
+
   // Position consistency check, for debugging
   bool is_ok(int* failedStep = NULL) const;
 
   // Position consistency check, for debugging
   bool is_ok(int* failedStep = NULL) const;
 
@@ -334,6 +338,7 @@ private:
   int castleRightsMask[64];
   StateInfo startState;
   File initialKFile, initialKRFile, initialQRFile;
   int castleRightsMask[64];
   StateInfo startState;
   File initialKFile, initialKRFile, initialQRFile;
+  int startPosPlyCounter;
   int threadID;
   StateInfo* st;
 
   int threadID;
   StateInfo* st;
 
@@ -536,6 +541,11 @@ inline int Position::rule_50_counter() const {
   return st->rule50;
 }
 
   return st->rule50;
 }
 
+inline int Position::startpos_ply_counter() const {
+
+  return startPosPlyCounter;
+}
+
 inline bool Position::opposite_colored_bishops() const {
 
   return   piece_count(WHITE, BISHOP) == 1
 inline bool Position::opposite_colored_bishops() const {
 
   return   piece_count(WHITE, BISHOP) == 1