X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=234da26dbf72fa2d63f39ac66b9a10f8002e6c67;hp=c946cb6ab789030dd7bed423000b7b864e6085d8;hb=efdd1e697a15fba09355f3dbcb90d05524080665;hpb=9fc602bae74b8e09bd45ace3b42a8ce84d56b23c diff --git a/src/position.h b/src/position.h index c946cb6a..234da26d 100644 --- a/src/position.h +++ b/src/position.h @@ -70,9 +70,9 @@ struct CheckInfo { CheckInfo(const Position&); - Square ksq; Bitboard dcCandidates; Bitboard checkSq[8]; + Square ksq; }; /// Castle rights, encoded as bit fields @@ -105,8 +105,8 @@ struct StateInfo { Score value; Value npMaterial[2]; - Key key; PieceType capture; + Key key; Bitboard checkersBB; StateInfo* previous; }; @@ -156,7 +156,6 @@ public: void print(Move m = MOVE_NONE) const; // Copying - void fast_copy(const Position& pos); void flipped_copy(const Position& pos); // The piece on a given square @@ -229,9 +228,6 @@ public: // Information about pawns bool pawn_is_passed(Color c, Square s) const; - static bool pawn_is_passed(Bitboard theirPawns, Color c, Square s); - static bool pawn_is_isolated(Bitboard ourPawns, Square s); - static bool pawn_is_doubled(Bitboard ourPawns, Color c, Square s); // Weak squares bool square_is_weak(Square s, Color c) const; @@ -329,12 +325,12 @@ private: Color sideToMove; int gamePly; Key history[MaxGameLength]; - File initialKFile, initialKRFile, initialQRFile; + int castleRightsMask[64]; StateInfo startState; + File initialKFile, initialKRFile, initialQRFile; StateInfo* st; // Static variables - static int castleRightsMask[64]; static Key zobrist[2][8][64]; static Key zobEp[64]; static Key zobCastle[16]; @@ -413,8 +409,8 @@ inline int Position::piece_count(Color c, PieceType pt) const { return pieceCount[c][pt]; } -inline Square Position::piece_list(Color c, PieceType pt, int index) const { - return pieceList[c][pt][index]; +inline Square Position::piece_list(Color c, PieceType pt, int idx) const { + return pieceList[c][pt][idx]; } inline const Square* Position::piece_list_begin(Color c, PieceType pt) const { @@ -486,20 +482,8 @@ inline bool Position::pawn_is_passed(Color c, Square s) const { return !(pieces(PAWN, opposite_color(c)) & passed_pawn_mask(c, s)); } -inline bool Position::pawn_is_passed(Bitboard theirPawns, Color c, Square s) { - return !(theirPawns & passed_pawn_mask(c, s)); -} - -inline bool Position::pawn_is_isolated(Bitboard ourPawns, Square s) { - return !(ourPawns & neighboring_files_bb(s)); -} - -inline bool Position::pawn_is_doubled(Bitboard ourPawns, Color c, Square s) { - return ourPawns & squares_behind(c, s); -} - inline bool Position::square_is_weak(Square s, Color c) const { - return !(pieces(PAWN, c) & outpost_mask(opposite_color(c), s)); + return !(pieces(PAWN, opposite_color(c)) & attack_span_mask(c, s)); } inline Key Position::get_key() const {