diff --git a/src/pawns.cpp b/src/pawns.cpp index 10f67236..cee74413 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -131,7 +131,7 @@ namespace { stoppers = theirPawns & passed_pawn_mask(Us, s); lever = theirPawns & pawnAttacksBB[s]; leverPush = theirPawns & pawnAttacksBB[s + Up]; - doubled = ourPawns & (s + Up); + doubled = ourPawns & (s - Up); neighbours = ourPawns & adjacent_files_bb(f); phalanx = neighbours & rank_bb(s); supported = neighbours & rank_bb(s - Up); @@ -177,8 +177,8 @@ namespace { if (connected) score += Connected[opposed][!!phalanx][more_than_one(supported)][relative_rank(Us, s)]; - if (doubled) - score -= Doubled; + if (doubled && !supported) + score -= Doubled; if (lever) score += Lever[relative_rank(Us, s)];