X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=ada03fbcf4b1076b38d5aca3583d5bf5b60be2f7;hp=84892d094a60fd3d770b1af0ba2546724ef7b8a9;hb=3b46df546dd8b17963abae887acff6e91e2b945e;hpb=82ad9ce9cfb0eff33f1d781f329f7c5dc0b277eb diff --git a/src/position.cpp b/src/position.cpp index 84892d09..ada03fbc 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -340,13 +340,8 @@ void Position::set_castling_right(Color c, Square rfrom) { Square kto = relative_square(c, cs == KING_SIDE ? SQ_G1 : SQ_C1); Square rto = relative_square(c, cs == KING_SIDE ? SQ_F1 : SQ_D1); - for (Square s = std::min(rfrom, rto); s <= std::max(rfrom, rto); ++s) - if (s != kfrom && s != rfrom) - castlingPath[cr] |= s; - - for (Square s = std::min(kfrom, kto); s <= std::max(kfrom, kto); ++s) - if (s != kfrom && s != rfrom) - castlingPath[cr] |= s; + castlingPath[cr] = (between_bb(rfrom, rto) | between_bb(kfrom, kto) | rto | kto) + & ~(square_bb(kfrom) | rfrom); }