X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fpawns.cpp;h=5a65422cb009b42360c0ef2c5b83134ad7c75b01;hp=74aa0e0dd95892df9b1cdd44e00dc0c9a6d02638;hb=b9f5d1c6ff1193d7409065322a76f59385baee3e;hpb=7487eb0dcae93731330f06c7d289ca156487a16f diff --git a/src/pawns.cpp b/src/pawns.cpp index 74aa0e0d..5a65422c 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -104,7 +104,7 @@ namespace { e->kingSquares[Us] = SQ_NONE; e->semiopenFiles[Us] = 0xFF; e->pawnAttacks[Us] = shift_bb(ourPawns) | shift_bb(ourPawns); - e->pawnsOnSquares[Us][BLACK] = popcount(ourPawns & BlackSquares); + e->pawnsOnSquares[Us][BLACK] = popcount(ourPawns & DarkSquares); e->pawnsOnSquares[Us][WHITE] = pos.count(Us) - e->pawnsOnSquares[Us][BLACK]; // Loop through all pawns of the current color and score each pawn @@ -129,15 +129,15 @@ namespace { opposed = theirPawns & forward_bb(Us, s); passed = !(theirPawns & passed_pawn_mask(Us, s)); - // Test for backward pawn - backward = false; - + // Test for backward pawn. // If the pawn is passed, isolated, or member of a pawn chain it cannot // be backward. If there are friendly pawns behind on adjacent files // or if can capture an enemy pawn it cannot be backward either. - if ( !(passed | isolated | chain) - && !(ourPawns & pawn_attack_span(Them, s)) - && !(pos.attacks_from(s, Us) & theirPawns)) + if ( (passed | isolated | chain) + || (ourPawns & pawn_attack_span(Them, s)) + || (pos.attacks_from(s, Us) & theirPawns)) + backward = false; + else { // We now know that there are no friendly pawns beside or behind this // pawn on adjacent files. We now check whether the pawn is