1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 00:33:09 +00:00

Move initialization of PawnInfo in its c'tor

Where it belongs.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-06-08 12:52:52 +01:00
parent 6d117e4a23
commit 9005ea6339
2 changed files with 4 additions and 14 deletions

View file

@ -23,7 +23,6 @@
//// ////
#include <cassert> #include <cassert>
#include <cstring>
#include "bitcount.h" #include "bitcount.h"
#include "pawns.h" #include "pawns.h"
@ -147,7 +146,6 @@ PawnInfoTable::PawnInfoTable(unsigned numOfEntries) {
<< " bytes for pawn hash table." << std::endl; << " bytes for pawn hash table." << std::endl;
Application::exit_with_failure(); 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 /// PawnInfoTable::get_pawn_info() takes a position object as input, computes
/// a PawnInfo object, and returns a pointer to it. The result is also /// 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 /// stored in a hash table, so we don't have to recompute everything when

View file

@ -45,6 +45,8 @@ class PawnInfo {
friend class PawnInfoTable; friend class PawnInfoTable;
public: public:
PawnInfo() : key(0) { clear(); }
Value mg_value() const; Value mg_value() const;
Value eg_value() const; Value eg_value() const;
Value kingside_storm_value(Color c) const; Value kingside_storm_value(Color c) const;
@ -61,14 +63,13 @@ private:
Key key; Key key;
Bitboard passedPawns; Bitboard passedPawns;
Square kingSquares[2];
int16_t kingShelters[2];
int16_t mgValue, egValue; int16_t mgValue, egValue;
int16_t ksStormValue[2], qsStormValue[2]; int16_t ksStormValue[2], qsStormValue[2];
uint8_t halfOpenFiles[2]; uint8_t halfOpenFiles[2];
Square kingSquares[2];
int16_t kingShelters[2];
}; };
/// The PawnInfoTable class represents a pawn hash table. It is basically /// The PawnInfoTable class represents a pawn hash table. It is basically
/// just an array of PawnInfo objects and a few methods for accessing these /// 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 /// objects. The most important method is get_pawn_info, which looks up a
@ -79,7 +80,6 @@ class PawnInfoTable {
public: public:
PawnInfoTable(unsigned numOfEntries); PawnInfoTable(unsigned numOfEntries);
~PawnInfoTable(); ~PawnInfoTable();
void clear();
PawnInfo* get_pawn_info(const Position& pos); PawnInfo* get_pawn_info(const Position& pos);
private: private: