Rename ei.kingDanger in ei.margin
authorMarco Costalba <mcostalba@gmail.com>
Fri, 20 Aug 2010 07:47:07 +0000 (09:47 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 24 Aug 2010 18:16:03 +0000 (19:16 +0100)
It will be more clear when we will go to add stuff
apart from king danger itself.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/evaluate.cpp
src/evaluate.h
src/search.cpp
src/tt.h

index aeecc0b7ff8b19c815a65e3cc22a9715d89847d3..da4860fe1ce25b26ae89d44fa97b6392a4ae23ba 100644 (file)
@@ -709,14 +709,14 @@ namespace {
         attackUnits = Min(99, Max(0, attackUnits));
 
         // Finally, extract the king danger score from the KingDangerTable[]
-        // array and subtract the score from evaluation. Set also ei.kingDanger[]
+        // array and subtract the score from evaluation. Set also ei.margin[]
         // value that will be used for pruning because this value can sometimes
         // be very big, and so capturing a single attacking piece can therefore
         // result in a score change far bigger than the value of the captured piece.
         ei.value -= Sign[Us] * KingDangerTable[Us][attackUnits];
-        ei.kingDanger[Us] = mg_value(KingDangerTable[Us][attackUnits]);
+        ei.margin[Us] = mg_value(KingDangerTable[Us][attackUnits]);
     } else
-        ei.kingDanger[Us] = VALUE_ZERO;
+        ei.margin[Us] = VALUE_ZERO;
   }
 
 
index 18362eaa8fdd76f7d0687c0acd85f26cce652af0..2b2533907a5ed56cc53bae49b46ba1a58d802e51 100644 (file)
@@ -47,7 +47,7 @@ class Position;
 
 struct EvalInfo {
 
-  EvalInfo() { kingDanger[0] = kingDanger[1] = VALUE_ZERO; }
+  EvalInfo() { margin[WHITE] = margin[BLACK] = VALUE_ZERO; }
 
   // Middle game and endgame evaluations
   Score value;
@@ -89,8 +89,8 @@ struct EvalInfo {
   // 2 to kingAdjacentZoneAttacksCount[BLACK].
   int kingAdjacentZoneAttacksCount[2];
 
-  // Value of the danger for the king of the given color
-  Value kingDanger[2];
+  // Value of the score margin we should consider for the given color
+  Value margin[2];
 };
 
 
index 8bd9f9bd4f2f3a25832cdfabcb00195f931f0245..7d9d402c0ac6c5dedc6af55711809293ee69a069 100644 (file)
@@ -1035,7 +1035,7 @@ namespace {
     if (!PvNode && tte && ok_to_use_TT(tte, depth, beta, ply))
     {
         // Refresh tte entry to avoid aging
-        TT.store(posKey, tte->value(), tte->type(), tte->depth(), ttMove, tte->static_value(), tte->king_danger());
+        TT.store(posKey, tte->value(), tte->type(), tte->depth(), ttMove, tte->static_value(), tte->static_value_margin());
 
         ss->bestMove = ttMove; // Can be MOVE_NONE
         return value_from_tt(tte->value(), ply);
@@ -1051,13 +1051,13 @@ namespace {
         assert(tte->static_value() != VALUE_NONE);
 
         ss->eval = tte->static_value();
-        ei.kingDanger[pos.side_to_move()] = tte->king_danger();
+        ei.margin[pos.side_to_move()] = tte->static_value_margin();
         refinedValue = refine_eval(tte, ss->eval, ply);
     }
     else
     {
         refinedValue = ss->eval = evaluate(pos, ei);
-        TT.store(posKey, VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, MOVE_NONE, ss->eval, ei.kingDanger[pos.side_to_move()]);
+        TT.store(posKey, VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, MOVE_NONE, ss->eval, ei.margin[pos.side_to_move()]);
     }
 
     // Save gain for the parent non-capture move
@@ -1371,7 +1371,7 @@ namespace {
 
     ValueType vt = (bestValue <= oldAlpha ? VALUE_TYPE_UPPER : bestValue >= beta ? VALUE_TYPE_LOWER : VALUE_TYPE_EXACT);
     move = (bestValue <= oldAlpha ? MOVE_NONE : ss->bestMove);
-    TT.store(posKey, value_to_tt(bestValue, ply), vt, depth, move, ss->eval, ei.kingDanger[pos.side_to_move()]);
+    TT.store(posKey, value_to_tt(bestValue, ply), vt, depth, move, ss->eval, ei.margin[pos.side_to_move()]);
 
     // Update killers and history only for non capture moves that fails high
     if (    bestValue >= beta
@@ -1442,7 +1442,7 @@ namespace {
         {
             assert(tte->static_value() != VALUE_NONE);
 
-            ei.kingDanger[pos.side_to_move()] = tte->king_danger();
+            ei.margin[pos.side_to_move()] = tte->static_value_margin();
             bestValue = tte->static_value();
         }
         else
@@ -1455,7 +1455,7 @@ namespace {
         if (bestValue >= beta)
         {
             if (!tte)
-                TT.store(pos.get_key(), value_to_tt(bestValue, ply), VALUE_TYPE_LOWER, DEPTH_NONE, MOVE_NONE, ss->eval, ei.kingDanger[pos.side_to_move()]);
+                TT.store(pos.get_key(), value_to_tt(bestValue, ply), VALUE_TYPE_LOWER, DEPTH_NONE, MOVE_NONE, ss->eval, ei.margin[pos.side_to_move()]);
 
             return bestValue;
         }
@@ -1467,7 +1467,7 @@ namespace {
         deepChecks = (depth == -ONE_PLY && bestValue >= beta - PawnValueMidgame / 8);
 
         // Futility pruning parameters, not needed when in check
-        futilityBase = bestValue + FutilityMarginQS + ei.kingDanger[pos.side_to_move()];
+        futilityBase = bestValue + FutilityMarginQS + ei.margin[pos.side_to_move()];
         enoughMaterial = pos.non_pawn_material(pos.side_to_move()) > RookValueMidgame;
     }
 
@@ -1552,7 +1552,7 @@ namespace {
     // Update transposition table
     Depth d = (depth == DEPTH_ZERO ? DEPTH_ZERO : DEPTH_ZERO - ONE_PLY);
     ValueType vt = (bestValue <= oldAlpha ? VALUE_TYPE_UPPER : bestValue >= beta ? VALUE_TYPE_LOWER : VALUE_TYPE_EXACT);
-    TT.store(pos.get_key(), value_to_tt(bestValue, ply), vt, d, ss->bestMove, ss->eval, ei.kingDanger[pos.side_to_move()]);
+    TT.store(pos.get_key(), value_to_tt(bestValue, ply), vt, d, ss->bestMove, ss->eval, ei.margin[pos.side_to_move()]);
 
     // Update killers only for checking moves that fails high
     if (    bestValue >= beta
@@ -2251,7 +2251,7 @@ namespace {
         if (!tte || tte->move() != pv[i])
         {
             v = (p.is_check() ? VALUE_NONE : evaluate(p, ei));
-            TT.store(p.get_key(), VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, pv[i], v, ei.kingDanger[pos.side_to_move()]);
+            TT.store(p.get_key(), VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, pv[i], v, ei.margin[pos.side_to_move()]);
         }
         p.do_move(pv[i], st);
     }
index 0b95ea635997d87f7b999917951f24d2be90ad21..8cba4c87cb5202d4db205dd9d04925cd3685d05f 100644 (file)
--- a/src/tt.h
+++ b/src/tt.h
@@ -43,7 +43,7 @@
 /// bit 64-79: value
 /// bit 80-95: depth
 /// bit 96-111: static value
-/// bit 112-127: king danger value
+/// bit 112-127: margin of static value
 ///
 /// the 32 bits of the data field are so defined
 ///
@@ -62,7 +62,7 @@ public:
       value16     = int16_t(v);
       depth16     = int16_t(d);
       staticValue = int16_t(statV);
-      kingDanger  = int16_t(kd);
+      staticValueMargin  = int16_t(kd);
   }
 
   uint32_t key() const { return key32; }
@@ -72,7 +72,7 @@ public:
   ValueType type() const { return ValueType((data >> 21) & 3); }
   int generation() const { return data >> 23; }
   Value static_value() const { return Value(staticValue); }
-  Value king_danger() const { return Value(kingDanger); }
+  Value static_value_margin() const { return Value(staticValueMargin); }
 
 private:
   uint32_t key32;
@@ -80,7 +80,7 @@ private:
   int16_t value16;
   int16_t depth16;
   int16_t staticValue;
-  int16_t kingDanger;
+  int16_t staticValueMargin;
 };