////
#include <cassert>
-#include <cstring>
#include <sstream>
#include <map>
<< " bytes for material hash table." << std::endl;
Application::exit_with_failure();
}
- clear();
}
MaterialInfoTable::~MaterialInfoTable() {
- delete [] entries;
delete funcs;
-}
-
-
-/// MaterialInfoTable::clear() clears a material hash table by setting
-/// all entries to 0.
-
-void MaterialInfoTable::clear() {
-
- memset(entries, 0, size * sizeof(MaterialInfo));
+ delete [] entries;
}
friend class MaterialInfoTable;
public:
+ MaterialInfo() : key(0) { clear(); }
+
Value mg_value() const;
Value eg_value() const;
ScaleFactor scale_factor(const Position& pos, Color c) const;
public:
MaterialInfoTable(unsigned numOfEntries);
~MaterialInfoTable();
- void clear();
MaterialInfo* get_material_info(const Position& pos);
private:
/// MaterialInfo::clear() resets a MaterialInfo object to an empty state,
-/// with all slots at their default values.
+/// with all slots at their default values but the key.
inline void MaterialInfo::clear() {
mgValue = egValue = 0;
factor[WHITE] = factor[BLACK] = uint8_t(SCALE_FACTOR_NORMAL);
- spaceWeight = 0;
evaluationFunction = NULL;
scalingFunction[WHITE] = scalingFunction[BLACK] = NULL;
+ spaceWeight = 0;
}