X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=baf49705db7a6e00034a9ed9f561f267fda9b9cc;hp=5d3048ae5cfdf305c34ca78683de2ab6683d5b4b;hb=1d1b7df7c6b3496d1a3fe926cadf25d91e1558f6;hpb=41641e3b1eea0038ab6984766d2b3bca869be7fa diff --git a/src/position.h b/src/position.h index 5d3048ae..baf49705 100644 --- a/src/position.h +++ b/src/position.h @@ -51,7 +51,7 @@ struct CheckInfo { struct StateInfo { Key pawnKey, materialKey; Value npMaterial[COLOR_NB]; - int castlingFlags, rule50, pliesFromNull; + int castlingRights, rule50, pliesFromNull; Score psq; Square epSquare; @@ -100,10 +100,10 @@ public: template const Square* list(Color c) const; // Castling - int can_castle(CastlingFlag f) const; int can_castle(Color c) const; - bool castling_impeded(Color c, CastlingSide s) const; - Square castling_rook_square(Color c, CastlingSide s) const; + int can_castle(CastlingRight cr) const; + bool castling_impeded(CastlingRight cr) const; + Square castling_rook_square(CastlingRight cr) const; // Checking Bitboard checkers() const; @@ -141,8 +141,8 @@ public: void undo_null_move(); // Static exchange evaluation - int see(Move m) const; - int see_sign(Move m) const; + Value see(Move m) const; + Value see_sign(Move m) const; // Accessing hash keys Key key() const; @@ -170,7 +170,7 @@ public: private: // Initialization helpers (used while setting up a position) void clear(); - void set_castling_flag(Color c, Square rfrom); + void set_castling_right(Color c, Square rfrom); // Helper functions void do_castling(Square kfrom, Square kto, Square rfrom, Square rto); @@ -197,16 +197,16 @@ private: int index[SQUARE_NB]; // Other info - int castlingFlagsMask[SQUARE_NB]; - Square castlingRookSquare[COLOR_NB][CASTLING_SIDE_NB]; - Bitboard castlingPath[COLOR_NB][CASTLING_SIDE_NB]; + int castlingRightsMask[SQUARE_NB]; + Square castlingRookSquare[CASTLING_RIGHT_NB]; + Bitboard castlingPath[CASTLING_RIGHT_NB]; StateInfo startState; uint64_t nodes; int gamePly; Color sideToMove; Thread* thisThread; StateInfo* st; - int chess960; + bool chess960; }; inline uint64_t Position::nodes_searched() const { @@ -273,20 +273,20 @@ inline Square Position::king_square(Color c) const { return pieceList[c][KING][0]; } -inline int Position::can_castle(CastlingFlag f) const { - return st->castlingFlags & f; +inline int Position::can_castle(CastlingRight cr) const { + return st->castlingRights & cr; } inline int Position::can_castle(Color c) const { - return st->castlingFlags & ((WHITE_OO | WHITE_OOO) << (2 * c)); + return st->castlingRights & ((WHITE_OO | WHITE_OOO) << (2 * c)); } -inline bool Position::castling_impeded(Color c, CastlingSide s) const { - return byTypeBB[ALL_PIECES] & castlingPath[c][s]; +inline bool Position::castling_impeded(CastlingRight cr) const { + return byTypeBB[ALL_PIECES] & castlingPath[cr]; } -inline Square Position::castling_rook_square(Color c, CastlingSide s) const { - return castlingRookSquare[c][s]; +inline Square Position::castling_rook_square(CastlingRight cr) const { + return castlingRookSquare[cr]; } template @@ -403,7 +403,6 @@ inline void Position::put_piece(Square s, Color c, PieceType pt) { byTypeBB[ALL_PIECES] |= s; byTypeBB[pt] |= s; byColorBB[c] |= s; - pieceCount[c][ALL_PIECES]++; index[s] = pieceCount[c][pt]++; pieceList[c][pt][index[s]] = s; } @@ -432,7 +431,6 @@ inline void Position::remove_piece(Square s, Color c, PieceType pt) { byTypeBB[pt] ^= s; byColorBB[c] ^= s; /* board[s] = NO_PIECE; */ // Not needed, will be overwritten by capturing - pieceCount[c][ALL_PIECES]--; Square lastSquare = pieceList[c][pt][--pieceCount[c][pt]]; index[lastSquare] = index[s]; pieceList[c][pt][index[lastSquare]] = lastSquare;