]> git.sesse.net Git - stockfish/commitdiff
Don't need to memset() EvalInfo
authorMarco Costalba <mcostalba@gmail.com>
Tue, 24 Aug 2010 13:59:24 +0000 (15:59 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 24 Aug 2010 17:58:51 +0000 (18:58 +0100)
Set manually to zero the few fields that are
optionally populated and that's enough.

No functional change.

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

index 9c960409c5d514dd1512ff11c933da272b84457e..6bdf423598c6d7bf0504947e2edb3b0cf7fa2838 100644 (file)
@@ -23,7 +23,6 @@
 ////
 
 #include <cassert>
-#include <cstring>
 
 #include "bitcount.h"
 #include "evaluate.h"
@@ -248,8 +247,6 @@ Value do_evaluate(const Position& pos, EvalInfo& ei) {
   assert(pos.thread() >= 0 && pos.thread() < MAX_THREADS);
   assert(!pos.is_check());
 
-  memset(&ei, 0, sizeof(EvalInfo));
-
   // Initialize by reading the incrementally updated scores included in the
   // position object (material + piece square tables).
   ei.value = pos.value();
@@ -430,8 +427,8 @@ namespace {
     ei.kingZone[Us] = (b | (Us == WHITE ? b >> 8 : b << 8));
     ei.attackedBy[Us][PAWN] = ei.pi->pawn_attacks(Us);
     b &= ei.attackedBy[Us][PAWN];
-    if (b)
-        ei.kingAttackersCount[Us] = count_1s_max_15<HasPopCnt>(b) / 2;
+    ei.kingAttackersCount[Us] = b ? count_1s_max_15<HasPopCnt>(b) / 2 : 0;
+    ei.kingAdjacentZoneAttacksCount[Us] = ei.kingAttackersWeight[Us] = 0;
   }
 
 
@@ -475,6 +472,8 @@ namespace {
     const Color Them = (Us == WHITE ? BLACK : WHITE);
     const Square* ptr = pos.piece_list_begin(Us, Piece);
 
+    ei.attackedBy[Us][Piece] = 0;
+
     while ((s = *ptr++) != SQ_NONE)
     {
         // Find attacked squares, including x-ray attacks for bishops and rooks
@@ -716,7 +715,8 @@ namespace {
         // 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]);
-    }
+    } else
+        ei.kingDanger[Us] = VALUE_ZERO;
   }