X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.h;h=75074f91bbe411199acd48a20e0e7b9c3d1bd8f6;hp=c5484c49032395da2e20f248c4a0ab3549d78c72;hb=32c504076f5a1d5c84f88c2d30a11c25ea2e5a6e;hpb=304deb5e833baf47c147e93377f5c7ef582ab822 diff --git a/src/material.h b/src/material.h index c5484c49..75074f91 100644 --- a/src/material.h +++ b/src/material.h @@ -21,8 +21,8 @@ #define MATERIAL_H_INCLUDED #include "endgame.h" +#include "misc.h" #include "position.h" -#include "tt.h" #include "types.h" const int MaterialTableSize = 8192; @@ -46,7 +46,7 @@ enum Phase { class MaterialEntry { - friend class MaterialTable; + friend struct MaterialTable; public: Score material_value() const; @@ -70,19 +70,14 @@ private: /// The MaterialTable class represents a material hash table. The most important /// method is probe(), which returns a pointer to a MaterialEntry object. -class MaterialTable : public HashTable { -public: - MaterialTable() : funcs(new Endgames()) {} - ~MaterialTable() { delete funcs; } +struct MaterialTable { - MaterialEntry* probe(const Position& pos) const; + MaterialEntry* probe(const Position& pos); static Phase game_phase(const Position& pos); + template static int imbalance(const int pieceCount[][8]); -private: - template - static int imbalance(const int pieceCount[][8]); - - Endgames* funcs; + HashTable entries; + Endgames endgames; };