#if !defined(EVALUATE_H_INCLUDED)
#define EVALUATE_H_INCLUDED
+#include "misc.h"
#include "types.h"
class Position;
+namespace Eval {
+
+extern void init();
extern Value evaluate(const Position& pos, Value& margin);
-extern std::string trace_evaluate(const Position& pos);
-extern void eval_init();
+extern std::string trace(const Position& pos);
+
+const int TableSize = 262144;
+
+struct Entry {
+ Key key;
+ Value value;
+ int16_t margins[2];
+};
+
+struct Table : HashTable<Entry, TableSize> {};
-extern Color EvalRootColor;
+}
#endif // !defined(EVALUATE_H_INCLUDED)