#include "material.h"
+using std::string;
////
//// Local definitions
namespace {
+ // Values modified by Joona Kiiski
const Value BishopPairMidgameBonus = Value(109);
const Value BishopPairEndgameBonus = Value(97);
EndgameScalingFunctionBase* getESF(Key key, Color* c) const;
private:
- void add(const std::string& keyCode, EndgameEvaluationFunctionBase* f);
- void add(const std::string& keyCode, Color c, EndgameScalingFunctionBase* f);
- Key buildKey(const std::string& keyCode);
+ void add(const string& keyCode, EndgameEvaluationFunctionBase* f);
+ void add(const string& keyCode, Color c, EndgameScalingFunctionBase* f);
+ Key buildKey(const string& keyCode);
struct ScalingInfo
{
add("KRPKRPP", BLACK, &ScaleKRPKRPP);
}
-Key EndgameFunctions::buildKey(const std::string& keyCode) {
+Key EndgameFunctions::buildKey(const string& keyCode) {
assert(keyCode.length() > 0 && keyCode[0] == 'K');
assert(keyCode.length() < 8);
return Position(s.str()).get_material_key();
}
-void EndgameFunctions::add(const std::string& keyCode, EndgameEvaluationFunctionBase* f) {
+void EndgameFunctions::add(const string& keyCode, EndgameEvaluationFunctionBase* f) {
EEFmap.insert(std::pair<Key, EndgameEvaluationFunctionBase*>(buildKey(keyCode), f));
}
-void EndgameFunctions::add(const std::string& keyCode, Color c, EndgameScalingFunctionBase* f) {
+void EndgameFunctions::add(const string& keyCode, Color c, EndgameScalingFunctionBase* f) {
ScalingInfo s = {c, f};
ESFmap.insert(std::pair<Key, ScalingInfo>(buildKey(keyCode), s));