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:
parent
6d117e4a23
commit
9005ea6339
2 changed files with 4 additions and 14 deletions
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Add table
Reference in a new issue