]> git.sesse.net Git - stockfish/blobdiff - src/material.h
Merge space weigth evaluation fromGlaurung 2.2
[stockfish] / src / material.h
index 4ebd78fd5bb033ddb80063db3bced3e93b82114e..5fbe64050282474f1f50401f0849343e226de6e9 100644 (file)
@@ -52,6 +52,7 @@ public:
   Value mg_value() const;
   Value eg_value() const;
   ScaleFactor scale_factor(const Position& pos, Color c) const;
+  int space_weight() const;
   bool specialized_eval_exists() const;
   Value evaluate(const Position& pos) const;
 
@@ -64,6 +65,7 @@ private:
   uint8_t factor[2];
   EndgameEvaluationFunction* evaluationFunction;
   ScalingFunction* scalingFunction[2];
+  uint8_t spaceWeight;
 };
 
 
@@ -120,6 +122,7 @@ 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;
 }
@@ -144,6 +147,15 @@ inline ScaleFactor MaterialInfo::scale_factor(const Position& pos, Color c) cons
 }
 
 
+/// MaterialInfo::space_weight() simply returns the weight for the space
+/// evaluation for this material configuration.
+
+inline int MaterialInfo::space_weight() const {
+
+  return spaceWeight;
+}
+
+
 /// MaterialInfo::specialized_eval_exists decides whether there is a
 /// specialized evaluation function for the current material configuration,
 /// or if the normal evaluation function should be used.