X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=cd91b07fe773e5b9ba766d4055a36867c72b5c5f;hp=6e8b03d1afb3bfabba40a34a52a216e01b49c817;hb=e082112cfeb6a40ca592a15983cdedb0210daf3a;hpb=7eaea3848c9e8a388c0b79cee6fba6bf3cd32108 diff --git a/src/position.cpp b/src/position.cpp index 6e8b03d1..cd91b07f 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -501,8 +501,7 @@ bool Position::legal(Move m, Bitboard pinned) const { // A non-king move is legal if and only if it is not pinned or it // is moving along the ray towards or away from the king. - return !pinned - || !(pinned & from) + return !(pinned & from) || aligned(from, to_sq(m), square(us)); } @@ -595,8 +594,7 @@ bool Position::gives_check(Move m, const CheckInfo& ci) const { return true; // Is there a discovered check? - if ( ci.dcCandidates - && (ci.dcCandidates & from) + if ( (ci.dcCandidates & from) && !aligned(from, to, ci.ksq)) return true;