From 8aa8608c2a30acc56c4bb4467309cef5089fb2bd Mon Sep 17 00:00:00 2001 From: Alain SAVARD Date: Mon, 26 Jan 2015 11:05:53 -0500 Subject: [PATCH] Simplify backward pawn definition Make use of 'lever' attribute No functional change Resolves #234 --- src/pawns.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pawns.cpp b/src/pawns.cpp index eda707ff..798bc0a0 100644 --- a/src/pawns.cpp +++ b/src/pawns.cpp @@ -144,12 +144,11 @@ namespace { lever = theirPawns & pawnAttacksBB[s]; // Test for backward pawn. - // If the pawn is passed, isolated, or connected it cannot be + // If the pawn is passed, isolated, connected or a lever it cannot be // backward. If there are friendly pawns behind on adjacent files - // or if it can capture an enemy pawn it cannot be backward either. - if ( (passed | isolated | connected) - || (ourPawns & pawn_attack_span(Them, s)) - || (pos.attacks_from(s, Us) & theirPawns)) + // it cannot be backward either. + if ( (passed | isolated | connected | lever) + || (ourPawns & pawn_attack_span(Them, s))) backward = false; else { -- 2.39.2