Move EndgameFunctions to endgame.cpp

And cleanup code while there.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2011-04-11 18:12:41 +02:00
parent 08c464c690
commit b5d5646c84
5 changed files with 201 additions and 209 deletions

View File

@@ -53,8 +53,8 @@ private:
Key key;
int16_t value;
uint8_t factor[2];
EndgameEvaluationFunctionBase* evaluationFunction;
EndgameScalingFunctionBase* scalingFunction[2];
EndgameBase<Value>* evaluationFunction;
EndgameBase<ScaleFactor>* scalingFunction[2];
int spaceWeight;
Phase gamePhase;
};
@@ -62,7 +62,6 @@ private:
/// The MaterialInfoTable class represents a pawn hash table. The most important
/// method is get_material_info, which returns a pointer to a MaterialInfo object.
class EndgameFunctions;
class MaterialInfoTable : public SimpleHash<MaterialInfo, MaterialTableSize> {
public:
@@ -75,7 +74,7 @@ private:
template<Color Us>
static int imbalance(const int pieceCount[][8]);
EndgameFunctions* funcs;
Endgames* funcs;
};
@@ -95,6 +94,10 @@ inline ScaleFactor MaterialInfo::scale_factor(const Position& pos, Color c) cons
return sf == SCALE_FACTOR_NONE ? ScaleFactor(factor[c]) : sf;
}
inline Value MaterialInfo::evaluate(const Position& pos) const {
return evaluationFunction->apply(pos);
}
inline Score MaterialInfo::material_value() const {
return make_score(value, value);
}
@@ -111,8 +114,4 @@ inline bool MaterialInfo::specialized_eval_exists() const {
return evaluationFunction != NULL;
}
inline Value MaterialInfo::evaluate(const Position& pos) const {
return evaluationFunction->apply(pos);
}
#endif // !defined(MATERIAL_H_INCLUDED)