X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.h;h=5fbe64050282474f1f50401f0849343e226de6e9;hp=4ebd78fd5bb033ddb80063db3bced3e93b82114e;hb=d11426c7779b45a5f91f260ecb9e0c4c1e964e2b;hpb=6e8bd8bf2d77eeb4414b6e533559dbda1f0211c9 diff --git a/src/material.h b/src/material.h index 4ebd78fd..5fbe6405 100644 --- a/src/material.h +++ b/src/material.h @@ -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.