X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=bebf617f4f039cc959c2a0d41799cbaf323ef234;hp=8d15f266d11f04607cfcb3ce85be26ea8785acd1;hb=de1dc4f2de7d22c9ea1b33b9caee276651ef7c6d;hpb=c5ec94d0f1b128fc2c691c7231663a345409d5cc diff --git a/src/position.h b/src/position.h index 8d15f266..bebf617f 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,7 +159,7 @@ 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; // Accessing hash keys @@ -169,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 @@ -179,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; @@ -346,10 +346,6 @@ inline Key Position::key() const { return st->key; } -inline Key Position::exclusion_key() const { - return st->key ^ Zobrist::exclusion; -} - inline Key Position::pawn_key() const { return st->pawnKey; } @@ -358,12 +354,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 {