]> git.sesse.net Git - stockfish/blobdiff - src/endgame.cpp
Bug fix for KQKRPs endgame
[stockfish] / src / endgame.cpp
index b9ac17a2e9cf6486c4ca8ae22600bf46845d8753..5906b4d59187aecd8604e191bba119591d37a995 100644 (file)
@@ -464,10 +464,10 @@ ScaleFactor Endgame<KQKRPs>::operator()(const Position& pos) const {
 
   if (    relative_rank(weakSide, kingSq) <= RANK_2
       &&  relative_rank(weakSide, pos.king_square(strongSide)) >= RANK_4
-      && (pos.pieces(weakSide, ROOK) & rank_bb(relative_rank(weakSide, RANK_3)))
-      && (pos.pieces(weakSide, PAWN) & rank_bb(relative_rank(weakSide, RANK_2)))
-      && (pos.attacks_from<KING>(kingSq) & pos.pieces(weakSide, PAWN))
-      && (pos.attacks_from<PAWN>(rsq, strongSide) & pos.pieces(weakSide, PAWN)))
+      &&  relative_rank(weakSide, rsq) == RANK_3
+      && (  pos.pieces(weakSide, PAWN)
+          & pos.attacks_from<KING>(kingSq)
+          & pos.attacks_from<PAWN>(rsq, strongSide)))
           return SCALE_FACTOR_DRAW;
 
   return SCALE_FACTOR_NONE;