This is more consistent with what other engines are doing.
Often people thinks that SF's scores are overblown. In the
end, it just boils down to the arbitrary way of rescaling them.
No functional change.
// Tracing function definitions
- double Tracing::to_cp(Value v) { return double(v) / PawnValueMg; }
+ double Tracing::to_cp(Value v) { return double(v) / PawnValueEg; }
void Tracing::add_term(int idx, Score wScore, Score bScore) {
stringstream ss;
if (abs(v) < VALUE_MATE_IN_MAX_PLY)
- ss << "cp " << v * 100 / int(PawnValueMg);
+ ss << "cp " << v * 100 / int(PawnValueEg);
else
ss << "mate " << (v > 0 ? VALUE_MATE - v + 1 : -VALUE_MATE - v) / 2;
ss << "-#" << (VALUE_MATE + v) / 2;
else
- ss << setprecision(2) << fixed << showpos << double(v) / PawnValueMg;
+ ss << setprecision(2) << fixed << showpos << double(v) / PawnValueEg;
return ss.str();
}
RootColor = RootPos.side_to_move();
TimeMgr.init(Limits, RootPos.game_ply(), RootColor);
- int cf = Options["Contempt Factor"] * PawnValueMg / 100; // From centipawns
+ int cf = Options["Contempt Factor"] * PawnValueEg / 100; // From centipawns
DrawValue[ RootColor] = VALUE_DRAW - Value(cf);
DrawValue[~RootColor] = VALUE_DRAW + Value(cf);