X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitbase.cpp;h=c06ca521391fdf466db8b9f68ebe2687a3be1164;hp=402f3fbbc1d65f320ee72fcca36a4480be168775;hb=a492a9dd079d95faf136a744ff6d47a3d109ad68;hpb=875a8079bc142ca92027b07427d72c03fe5268a5 diff --git a/src/bitbase.cpp b/src/bitbase.cpp index 402f3fbb..c06ca521 100644 --- a/src/bitbase.cpp +++ b/src/bitbase.cpp @@ -134,8 +134,8 @@ namespace { return RESULT_INVALID; // Check if a king can be captured - if ( bit_is_set(wk_attacks(), blackKingSquare) - || (bit_is_set(pawn_attacks(), blackKingSquare) && sideToMove == WHITE)) + if ( (wk_attacks() & blackKingSquare) + || ((pawn_attacks() & blackKingSquare) && sideToMove == WHITE)) return RESULT_INVALID; // The position is an immediate win if it is white to move and the @@ -144,7 +144,7 @@ namespace { && sideToMove == WHITE && whiteKingSquare != pawnSquare + DELTA_N && ( square_distance(blackKingSquare, pawnSquare + DELTA_N) > 1 - || bit_is_set(wk_attacks(), pawnSquare + DELTA_N))) + || (wk_attacks() & (pawnSquare + DELTA_N)))) return RESULT_WIN; // Check for known draw positions @@ -156,7 +156,7 @@ namespace { // Case 2: King can capture pawn if ( sideToMove == BLACK - && bit_is_set(bk_attacks(), pawnSquare) && !bit_is_set(wk_attacks(), pawnSquare)) + && (bk_attacks() & pawnSquare) && !(wk_attacks() & pawnSquare)) return RESULT_DRAW; // Case 3: Black king in front of white pawn