X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=9a88e1b215c06d1b4660db5012c04c0abb6c514a;hp=907463d47d4ea2db4a7bfdc91268d4108c884ef8;hb=899a2c033e2e74d3da97c7aefff74fb05a59db0a;hpb=342fd6385bbe004b6152023eeba6362104664e23 diff --git a/src/position.h b/src/position.h index 907463d4..9a88e1b2 100644 --- a/src/position.h +++ b/src/position.h @@ -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; @@ -326,10 +326,9 @@ 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 {