X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=ad7ed3d915b7913e76a0f7a7e51ecce342f59356;hp=1273a62fb3d0a0e975e2d06cdbf590359d9c473d;hb=1a8f63a8963fa9c3afd043f4c611df8a5afcf038;hpb=ee5514b8fdc6583d134985edd2f875e197830030 diff --git a/src/position.cpp b/src/position.cpp index 1273a62f..ad7ed3d9 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -690,9 +690,9 @@ bool Position::move_gives_check(Move m, const CheckInfo& ci) const { Square rfrom = to; // 'King captures the rook' notation Square kto = relative_square(us, rfrom > kfrom ? SQ_G1 : SQ_C1); Square rto = relative_square(us, rfrom > kfrom ? SQ_F1 : SQ_D1); - Bitboard b = (pieces() ^ kfrom ^ rfrom) | rto | kto; - return attacks_bb(rto, b) & ksq; + return (PseudoAttacks[ROOK][rto] & ksq) + && (attacks_bb(rto, (pieces() ^ kfrom ^ rfrom) | rto | kto) & ksq); } default: assert(false);