Scale down endgames with pawns on one or two adjacent files
[stockfish] / src / pawns.cpp
index 4d878e2063419a590e3a18a3633c1b75444820fa..2f7bb5a6c20ab1904681c15dd31a809c769935f7 100644 (file)
@@ -204,13 +204,12 @@ namespace {
         }
     }
 
+    b = e->semiopenFiles[Us] ^ 0xFF;
+    e->pawnSpan[Us] = b ? int(msb(b) - lsb(b)) : 0;
+
     // In endgame it's better to have pawns on both wings. So give a bonus according
     // to file distance between left and right outermost pawns.
-    if (pos.count<PAWN>(Us) > 1)
-    {
-        b = e->semiopenFiles[Us] ^ 0xFF;
-        value += PawnsFileSpan * int(msb(b) - lsb(b));
-    }
+    value += PawnsFileSpan * e->pawnSpan[Us];
 
     return value;
   }