X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fposition.h;h=9976eacb21826dafd57eed8d372fa22436e079c3;hb=2170fa18bf59f977138f9de2389cbfdd85d84415;hp=d213238882f7113fc55a8f15041f0a62766487d9;hpb=9b1d5bd5343540db412c50ae2944246e3f25d18b;p=stockfish diff --git a/src/position.h b/src/position.h index d2132388..9976eacb 100644 --- a/src/position.h +++ b/src/position.h @@ -270,6 +270,8 @@ public: // 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; @@ -280,6 +282,8 @@ public: // 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; @@ -334,6 +338,7 @@ private: int castleRightsMask[64]; StateInfo startState; File initialKFile, initialKRFile, initialQRFile; + int startPosPlyCounter; int threadID; StateInfo* st; @@ -364,7 +369,7 @@ inline PieceType Position::type_of_piece_on(Square s) const { } inline bool Position::square_is_empty(Square s) const { - return piece_on(s) == EMPTY; + return piece_on(s) == NO_PIECE; } inline bool Position::square_is_occupied(Square s) const { @@ -536,6 +541,11 @@ inline int Position::rule_50_counter() const { 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