]> git.sesse.net Git - stockfish/commitdiff
Add clop parameters
authorGary Linscott <glinscott@gmail.com>
Tue, 12 Feb 2013 05:10:21 +0000 (00:10 -0500)
committerGary Linscott <glinscott@gmail.com>
Tue, 12 Feb 2013 05:10:21 +0000 (00:10 -0500)
src/evaluate.cpp
src/ucioption.cpp

index 183f166a8e3c8b1e37ffe91188c0858a8a6e4cd1..ed1d5cb8b08ba7bf37f3632fbc266e7e1fc678b7 100644 (file)
@@ -150,6 +150,8 @@ namespace {
 
   #undef S
 
 
   #undef S
 
+  Score BishopPinBonus = make_score(15, 25);
+
   // Bonus for having the side to move (modified by Joona Kiiski)
   const Score Tempo = make_score(24, 11);
 
   // Bonus for having the side to move (modified by Joona Kiiski)
   const Score Tempo = make_score(24, 11);
 
@@ -306,6 +308,8 @@ namespace Eval {
         KingDangerTable[0][i] = apply_weight(make_score(t, 0), make_score(KingDanger[0], 0));
         KingDangerTable[1][i] = apply_weight(make_score(t, 0), make_score(KingDanger[1], 0));
     }
         KingDangerTable[0][i] = apply_weight(make_score(t, 0), make_score(KingDanger[0], 0));
         KingDangerTable[1][i] = apply_weight(make_score(t, 0), make_score(KingDanger[1], 0));
     }
+
+    BishopPinBonus = make_score(Options["pin_open"], Options["pin_end"]);
   }
 
 
   }
 
 
@@ -584,7 +588,7 @@ Value do_evaluate(const Position& pos, Value& margin) {
         else if (Piece == BISHOP && (PseudoAttacks[Piece][pos.king_square(Them)] & s)) {
              const Bitboard between = BetweenBB[s][pos.king_square(Them)] & pos.pieces();
              if (!more_than_one(between))
         else if (Piece == BISHOP && (PseudoAttacks[Piece][pos.king_square(Them)] & s)) {
              const Bitboard between = BetweenBB[s][pos.king_square(Them)] & pos.pieces();
              if (!more_than_one(between))
-                 score += make_score(15, 25);
+                 score += BishopPinBonus;
         }
 
         // Bishop and knight outposts squares
         }
 
         // Bishop and knight outposts squares
@@ -692,8 +696,7 @@ Value do_evaluate(const Position& pos, Value& margin) {
                       & ~ei.attackedBy[Them][0];
 
     if (undefendedMinors)
                       & ~ei.attackedBy[Them][0];
 
     if (undefendedMinors)
-        score += more_than_one(undefendedMinors) ? UndefendedMinorPenalty * 2
-                                                 : UndefendedMinorPenalty;
+        score += UndefendedMinorPenalty;
 
     // Enemy pieces not defended by a pawn and under our attack
     weakEnemies =  pos.pieces(Them)
 
     // Enemy pieces not defended by a pawn and under our attack
     weakEnemies =  pos.pieces(Them)
index e59a43a9148f620c7ccbc7000bd0d806fc53eda0..345b16dcf9fe9bc8b785ebfbdeab1242e54e693b 100644 (file)
@@ -87,6 +87,8 @@ void init(OptionsMap& o) {
   o["Slow Mover"]                  = Option(100, 10, 1000);
   o["UCI_Chess960"]                = Option(false);
   o["UCI_AnalyseMode"]             = Option(false, on_eval);
   o["Slow Mover"]                  = Option(100, 10, 1000);
   o["UCI_Chess960"]                = Option(false);
   o["UCI_AnalyseMode"]             = Option(false, on_eval);
+  o["pin_open"] = Option(15, -100, 100, on_eval);
+  o["pin_end"] = Option(25, -100, 100, on_eval);
 }
 
 
 }