X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=9a88e1b215c06d1b4660db5012c04c0abb6c514a;hp=64cb349abf4dfd71d40a327b88f0ece334c0ac9a;hb=47b89f2e3717d59e9245b69fb33d51e749f71794;hpb=e6c9ce635819957bce641a432b0675c5c033631b diff --git a/src/position.h b/src/position.h index 64cb349a..9a88e1b2 100644 --- a/src/position.h +++ b/src/position.h @@ -108,7 +108,7 @@ public: // Checking Bitboard checkers() const; Bitboard discovered_check_candidates() const; - Bitboard pinned_pieces(Color toMove) const; + Bitboard pinned_pieces(Color c) const; // Attacks to/from a given square Bitboard attackers_to(Square s) const; @@ -123,7 +123,7 @@ public: bool capture(Move m) const; bool capture_or_promotion(Move m) const; bool gives_check(Move m, const CheckInfo& ci) const; - bool passed_pawn_push(Move m) const; + bool advanced_pawn_push(Move m) const; Piece moved_piece(Move m) const; PieceType captured_piece_type() const; @@ -174,7 +174,7 @@ private: // Helper functions void do_castling(Square kfrom, Square kto, Square rfrom, Square rto); - Bitboard hidden_checkers(Square ksq, Color c, Color toMove) const; + Bitboard hidden_checkers(Color c, Color kingColor) const; void put_piece(Square s, Color c, PieceType pt); void remove_piece(Square s, Color c, PieceType pt); void move_piece(Square from, Square to, Color c, PieceType pt); @@ -315,21 +315,20 @@ inline Bitboard Position::checkers() const { } inline Bitboard Position::discovered_check_candidates() const { - return hidden_checkers(king_square(~sideToMove), sideToMove, sideToMove); + return hidden_checkers(sideToMove, ~sideToMove); } -inline Bitboard Position::pinned_pieces(Color toMove) const { - return hidden_checkers(king_square(toMove), ~toMove, toMove); +inline Bitboard Position::pinned_pieces(Color c) const { + return hidden_checkers(c, c); } inline bool Position::pawn_passed(Color c, Square s) const { return !(pieces(~c, PAWN) & passed_pawn_mask(c, s)); } -inline bool Position::passed_pawn_push(Move m) const { - +inline bool Position::advanced_pawn_push(Move m) const { return type_of(moved_piece(m)) == PAWN - && pawn_passed(sideToMove, to_sq(m)); + && relative_rank(sideToMove, from_sq(m)) > RANK_4; } inline Key Position::key() const { @@ -380,7 +379,7 @@ inline bool Position::is_chess960() const { inline bool Position::capture_or_promotion(Move m) const { assert(is_ok(m)); - return type_of(m) ? type_of(m) != CASTLING : !empty(to_sq(m)); + return type_of(m) != NORMAL ? type_of(m) != CASTLING : !empty(to_sq(m)); } inline bool Position::capture(Move m) const {