]> git.sesse.net Git - stockfish/blobdiff - src/evaluate.cpp
Fix compilation on android
[stockfish] / src / evaluate.cpp
index fad0771db4aa3e04f1be929f70443f34c7d8b536..8d7976d577340842a736b1e94abdddc7a8827d54 100644 (file)
@@ -520,11 +520,11 @@ namespace {
     }
 
     // Bonus for restricting their piece moves
+    // Greater bonus when landing square is occupied
     b =   attackedBy[Them][ALL_PIECES]
        & ~stronglyProtected
        &  attackedBy[Us][ALL_PIECES];
-
-    score += RestrictedPiece * popcount(b);
+    score += RestrictedPiece * (popcount(b) + popcount(b & pos.pieces()));
 
     // Protected or unattacked squares
     safe = ~attackedBy[Them][ALL_PIECES] | attackedBy[Us][ALL_PIECES];
@@ -698,9 +698,6 @@ namespace {
   template<Tracing T>
   Score Evaluation<T>::initiative(Score score) const {
 
-    Value mg = mg_value(score);
-    Value eg = eg_value(score);
-
     int outflanking =  distance<File>(pos.square<KING>(WHITE), pos.square<KING>(BLACK))
                      - distance<Rank>(pos.square<KING>(WHITE), pos.square<KING>(BLACK));
 
@@ -724,6 +721,11 @@ namespace {
                     - 43 * almostUnwinnable
                     - 100 ;
 
+    // Give more importance to non-material score
+    score = score - pos.psq_score() / 2;
+    Value mg = mg_value(score);
+    Value eg = eg_value(score);
+
     // Now apply the bonus: note that we find the attacking side by extracting the
     // sign of the midgame or endgame values, and that we carefully cap the bonus
     // so that the midgame and endgame scores do not change sign after the bonus.