Move initialization of PawnInfo in its c'tor
authorMarco Costalba <mcostalba@gmail.com>
Mon, 8 Jun 2009 11:52:52 +0000 (12:52 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Mon, 8 Jun 2009 11:53:38 +0000 (12:53 +0100)
Where it belongs.

No functional change.

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

index 19bf6c51d8fb067b538f1219b77c4c70ab3068ed..587caf0d316c2275acb35db1208b0a29cd1bebd9 100644 (file)
@@ -23,7 +23,6 @@
 ////
 
 #include <cassert>
-#include <cstring>
 
 #include "bitcount.h"
 #include "pawns.h"
@@ -147,7 +146,6 @@ PawnInfoTable::PawnInfoTable(unsigned numOfEntries) {
                 << " bytes for pawn hash table." << std::endl;
       Application::exit_with_failure();
   }
-  clear();
 }
 
 
@@ -158,14 +156,6 @@ PawnInfoTable::~PawnInfoTable() {
 }
 
 
-/// PawnInfoTable::clear() clears the pawn hash table by setting all
-/// entries to 0.
-
-void PawnInfoTable::clear() {
-  memset(entries, 0, size * sizeof(PawnInfo));
-}
-
-
 /// PawnInfoTable::get_pawn_info() takes a position object as input, computes
 /// a PawnInfo object, and returns a pointer to it.  The result is also
 /// stored in a hash table, so we don't have to recompute everything when
index abf686fc8ad58e56d534cbed9aa95e2a9662f210..abb4e52fc60be57d386886a08bd65f91add528d0 100644 (file)
@@ -45,6 +45,8 @@ class PawnInfo {
   friend class PawnInfoTable;
 
 public:
+  PawnInfo() : key(0) { clear(); }
+
   Value mg_value() const;
   Value eg_value() const;
   Value kingside_storm_value(Color c) const;
@@ -61,14 +63,13 @@ private:
 
   Key key;
   Bitboard passedPawns;
-  Square kingSquares[2];
-  int16_t kingShelters[2];
   int16_t mgValue, egValue;
   int16_t ksStormValue[2], qsStormValue[2];
   uint8_t halfOpenFiles[2];
+  Square kingSquares[2];
+  int16_t kingShelters[2];
 };
 
-
 /// The PawnInfoTable class represents a pawn hash table.  It is basically
 /// just an array of PawnInfo objects and a few methods for accessing these
 /// objects.  The most important method is get_pawn_info, which looks up a
@@ -79,7 +80,6 @@ class PawnInfoTable {
 public:
   PawnInfoTable(unsigned numOfEntries);
   ~PawnInfoTable();
-  void clear();
   PawnInfo* get_pawn_info(const Position& pos);
 
 private: