X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=fb7eb4b90cc79335ade326bcbeae0d59825c1fe6;hp=b05d466ecbe05eb3fb3c221a9f5546793f045bf7;hb=76caef8ba1fb4ca0520a8e2b42815d626484e93c;hpb=588670e8d2ed5735300c5549ef754ceb09f1f461 diff --git a/src/position.h b/src/position.h index b05d466e..fb7eb4b9 100644 --- a/src/position.h +++ b/src/position.h @@ -154,7 +154,8 @@ public: void do_move(Move m, StateInfo& st); void do_move(Move m, StateInfo& st, const CheckInfo& ci, bool moveIsCheck); void undo_move(Move m); - template void do_null_move(StateInfo& st); + void do_null_move(StateInfo& st); + void undo_null_move(); // Static exchange evaluation int see(Move m) const; @@ -173,12 +174,12 @@ public: // Other properties of the position Color side_to_move() const; - int startpos_ply_counter() const; + int game_ply() const; bool is_chess960() const; Thread* this_thread() const; int64_t nodes_searched() const; void set_nodes_searched(int64_t n); - template bool is_draw() const; + template bool is_draw() const; // Position consistency check, for debugging bool pos_is_ok(int* failedStep = NULL) const; @@ -190,8 +191,8 @@ private: void put_piece(Piece p, Square s); void set_castle_right(Color c, Square rfrom); - // Helper template functions - template void do_castle_move(Move m); + // Helper functions + void do_castle(Square kfrom, Square kto, Square rfrom, Square rto); template Bitboard hidden_checkers() const; // Computing hash keys from scratch (for initialization and debugging) @@ -217,7 +218,7 @@ private: Bitboard castlePath[COLOR_NB][CASTLING_SIDE_NB]; StateInfo startState; int64_t nodes; - int startPosPly; + int gamePly; Color sideToMove; Thread* thisThread; StateInfo* st; @@ -375,8 +376,8 @@ inline bool Position::is_passed_pawn_push(Move m) const { && pawn_is_passed(sideToMove, to_sq(m)); } -inline int Position::startpos_ply_counter() const { - return startPosPly + st->pliesFromNull; // HACK +inline int Position::game_ply() const { + return gamePly; } inline bool Position::opposite_bishops() const {