X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fposition.h;h=579b5308a82e6bea721cdec7ff5233a6a7b6ae93;hb=53051eefc741586f72ccbf9a765592c4ca6030bd;hp=7fb840b669df9b133c50e005b1b1c117f29c2828;hpb=e82382703c96cfc480555e9db29d999e1f54a38f;p=stockfish diff --git a/src/position.h b/src/position.h index 7fb840b6..579b5308 100644 --- a/src/position.h +++ b/src/position.h @@ -30,7 +30,7 @@ /// The checkInfo struct is initialized at c'tor time and keeps info used /// to detect if a move gives check. class Position; -class Thread; +struct Thread; struct CheckInfo { @@ -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; @@ -178,7 +179,7 @@ public: 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)