Rescale UCI scores to PawnValueEg
authorLucas Braesch <lucas.braesch@gmail.com>
Sun, 6 Apr 2014 09:43:30 +0000 (11:43 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 6 Apr 2014 09:53:28 +0000 (11:53 +0200)
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.

src/evaluate.cpp
src/notation.cpp
src/search.cpp

index 28fd834..ca70f2d 100644 (file)
@@ -939,7 +939,7 @@ Value do_evaluate(const Position& pos) {
 
   // 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) {
 
index a2c5aa6..9893569 100644 (file)
@@ -43,7 +43,7 @@ string score_to_uci(Value v, Value alpha, Value beta) {
   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;
 
@@ -207,7 +207,7 @@ static string format(Value v) {
       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();
 }
index bb09df9..2ae1c36 100644 (file)
@@ -185,7 +185,7 @@ void Search::think() {
   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);