From: Fabian Fichter Date: Thu, 11 Apr 2019 18:52:18 +0000 (+0200) Subject: Merge official-stockfish/master X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=9ff23dfd922f0d2135e6e2fea58b46e52f9a7c72;p=fairystockfish.git Merge official-stockfish/master bench: 3414192 --- 9ff23dfd922f0d2135e6e2fea58b46e52f9a7c72 diff --cc src/position.cpp index 0bfd6d3,ada03fb..9c1cefd --- a/src/position.cpp +++ b/src/position.cpp @@@ -456,17 -337,11 +456,12 @@@ void Position::set_castling_right(Colo castlingRightsMask[rfrom] |= cr; castlingRookSquare[cr] = 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); + Square kto = make_square(cs == KING_SIDE ? castling_kingside_file() : castling_queenside_file(), + relative_rank(c, RANK_1, max_rank())); + Square rto = kto + (cs == KING_SIDE ? WEST : EAST); - 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); }