X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=c25244a6504cc27033554117ee029460a3581b7b;hp=0951b4669cd28ee61d32771a602d68a484d95de4;hb=a6e0f62a4f83bf4303e920d5f689de7cbc0467e8;hpb=d23454854e72e1311363a8c98cd58a5d44c427f9 diff --git a/src/position.h b/src/position.h index 0951b466..c25244a6 100644 --- a/src/position.h +++ b/src/position.h @@ -52,7 +52,7 @@ struct StateInfo { Key pawnKey, materialKey; Value npMaterial[COLOR_NB]; int castleRights, rule50, pliesFromNull; - Score psqScore; + Score psq; Square epSquare; Key key; @@ -95,6 +95,7 @@ public: Position(const Position& p, Thread* t) { *this = p; thisThread = t; } Position(const std::string& f, bool c960, Thread* t) { set(f, c960, t); } Position& operator=(const Position&); + static void init(); // Text input/output void set(const std::string& fen, bool isChess960, Thread* th); @@ -158,9 +159,8 @@ public: void undo_null_move(); // Static exchange evaluation - int see(Move m) const; + int see(Move m, int asymmThreshold = 0) const; int see_sign(Move m) const; - int see_asymm(Move m, int asymmThreshold) const; // Accessing hash keys Key key() const; @@ -170,7 +170,6 @@ public: // Incremental piece-square evaluation Score psq_score() const; - Score psq_delta(Piece p, Square from, Square to) const; Value non_pawn_material(Color c) const; // Other properties of the position @@ -180,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; + bool is_draw() const; // Position consistency check, for debugging bool pos_is_ok(int* failedStep = NULL) const; @@ -194,7 +193,6 @@ private: // Helper functions void do_castle(Square kfrom, Square kto, Square rfrom, Square rto); - template int do_see(Move m, int asymmThreshold) const; template Bitboard hidden_checkers() const; // Computing hash keys from scratch (for initialization and debugging) @@ -360,12 +358,8 @@ inline Key Position::material_key() const { return st->materialKey; } -inline Score Position::psq_delta(Piece p, Square from, Square to) const { - return pieceSquareTable[p][to] - pieceSquareTable[p][from]; -} - inline Score Position::psq_score() const { - return st->psqScore; + return st->psq; } inline Value Position::non_pawn_material(Color c) const {