X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fposition.h;h=d1d511d7a99501245b5633ba76febe65ac9f000c;hb=9ab84a816539ade23868f0383e39634e6ab88df5;hp=ba4caf13a48f3a63023b1810f0c0ccf3712bcce4;hpb=4251eac8601af47d1ee2d6f613f00a4bf00fedbb;p=stockfish diff --git a/src/position.h b/src/position.h index ba4caf13..d1d511d7 100644 --- a/src/position.h +++ b/src/position.h @@ -98,7 +98,6 @@ struct StateInfo { StateInfo* previous; }; -class TranspositionTable; /// The position data structure. A position consists of the following data: /// @@ -237,10 +236,7 @@ public: bool move_is_check(Move m) const; bool move_is_check(Move m, Bitboard dcCandidates) const; bool move_is_capture(Move m) const; - bool move_is_deep_pawn_push(Move m) const; - bool move_is_pawn_push_to_7th(Move m) const; bool move_is_passed_pawn_push(Move m) const; - bool move_was_passed_pawn_push(Move m) const; bool move_attacks_square(Move m, Square s) const; // Information about pawns @@ -259,7 +255,6 @@ public: void undo_move(Move m); void do_null_move(StateInfo& st); void undo_null_move(); - void setTranspositionTable(TranspositionTable* tt); // Static exchange evaluation int see(Square from, Square to) const; @@ -312,13 +307,9 @@ private: void allow_ooo(Color c); // Helper functions for doing and undoing moves - void do_capture_move(PieceType capture, Color them, Square to); + void do_capture_move(Bitboard& key, PieceType capture, Color them, Square to, bool ep); void do_castle_move(Move m); - void do_promotion_move(Move m); - void do_ep_move(Move m); void undo_castle_move(Move m); - void undo_promotion_move(Move m); - void undo_ep_move(Move m); void find_checkers(); template @@ -348,7 +339,7 @@ private: // Piece lists Square pieceList[2][8][16]; // [color][pieceType][index] - int index[64]; + int index[64]; // [square] // Other info Square kingSquare[2]; @@ -358,7 +349,6 @@ private: File initialKFile, initialKRFile, initialQRFile; StateInfo startState; StateInfo* st; - TranspositionTable* TT; // Static variables static int castleRightsMask[64]; @@ -660,20 +650,6 @@ inline Phase Position::game_phase() const { return Phase(((npm - EndgameLimit) * 128) / (MidgameLimit - EndgameLimit)); } -inline bool Position::move_is_deep_pawn_push(Move m) const { - - Color c = side_to_move(); - return piece_on(move_from(m)) == piece_of_color_and_type(c, PAWN) - && relative_rank(c, move_to(m)) > RANK_4; -} - -inline bool Position::move_is_pawn_push_to_7th(Move m) const { - - Color c = side_to_move(); - return piece_on(move_from(m)) == piece_of_color_and_type(c, PAWN) - && relative_rank(c, move_to(m)) == RANK_7; -} - inline bool Position::move_is_passed_pawn_push(Move m) const { Color c = side_to_move(); @@ -681,13 +657,6 @@ inline bool Position::move_is_passed_pawn_push(Move m) const { && pawn_is_passed(c, move_to(m)); } -inline bool Position::move_was_passed_pawn_push(Move m) const { - - Color c = opposite_color(side_to_move()); - return piece_on(move_to(m)) == piece_of_color_and_type(c, PAWN) - && pawn_is_passed(c, move_to(m)); -} - inline int Position::rule_50_counter() const { return st->rule50;