Fix inflate pawns.cpp fallout
authorMarco Costalba <mcostalba@gmail.com>
Wed, 10 Dec 2008 17:46:12 +0000 (18:46 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 10 Dec 2008 20:35:07 +0000 (21:35 +0100)
Catched counting the nodes searched at
fixed depth. A quick and reliable cross check,
expecially in inflate only patches.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/pawns.cpp

index 3a8f88bb1f1a646d1a71fdf750f22a4a8d1cfc93..a09fe68337d8aa7ab3bbbd5f93dc86023e901fc1 100644 (file)
@@ -244,15 +244,15 @@ PawnInfo *PawnInfoTable::get_pawn_info(const Position &pos) {
             // pawns on h6, g5, black pawns on h7, g6, f7).
 
             // Kingside and queenside pawn storms
-            bool outPost = (outpost_mask(us, s) & theirPawns);
-            bool passed = (passed_pawn_mask(us, s) & theirPawns);
             int KBonus = KStormTable[relative_square(us, s)];
             int QBonus = QStormTable[relative_square(us, s)];
+            bool outPost = (KBonus > 0 && (outpost_mask(us, s) & theirPawns));
+            bool passed = (QBonus > 0 && (passed_pawn_mask(us, s) & theirPawns));
 
             switch (f) {
 
             case FILE_A:
-                QBonus += passed * QBonus / 4;
+                QBonus += passed * QBonus / 2;
                 break;
 
             case FILE_B: