X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=cd91b07fe773e5b9ba766d4055a36867c72b5c5f;hp=6e8b03d1afb3bfabba40a34a52a216e01b49c817;hb=c73706243672bf36b0fef58e817f843cb341d8ca;hpb=94e41274bba2d8a2f2d58aaa711df5872309d66c 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;