X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fuci.cpp;h=30c1fa0cce0cfc448dc4cf96ae78684c324f4a0e;hb=4f4e652ecaf8d42a9bd1092f72c3704435ddba12;hp=19e2b0cb920341fcf911b083057447de87721c02;hpb=ad2aa8c06f438de8b8bb7b7c8726430e3f2a5685;p=stockfish diff --git a/src/uci.cpp b/src/uci.cpp index 19e2b0cb..30c1fa0c 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -1,6 +1,6 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 - Copyright (C) 2004-2022 The Stockfish developers (see AUTHORS file) + Copyright (C) 2004-2023 The Stockfish developers (see AUTHORS file) Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,6 +22,7 @@ #include #include +#include "benchmark.h" #include "evaluate.h" #include "movegen.h" #include "position.h" @@ -36,8 +37,6 @@ using namespace std; namespace Stockfish { -extern vector setup_bench(const Position&, istream&); - namespace { // FEN string for the initial position in standard chess @@ -161,7 +160,7 @@ namespace { uint64_t num, nodes = 0, cnt = 1; vector list = setup_bench(pos, args); - num = count_if(list.begin(), list.end(), [](string s) { return s.find("go ") == 0 || s.find("eval") == 0; }); + num = count_if(list.begin(), list.end(), [](const string& s) { return s.find("go ") == 0 || s.find("eval") == 0; }); TimePoint elapsed = now(); @@ -207,8 +206,8 @@ namespace { // The coefficients of a third-order polynomial fit is based on the fishtest data // for two parameters that need to transform eval to the argument of a logistic // function. - constexpr double as[] = { 1.04790516, -8.58534089, 39.42615625, 316.17524816}; - constexpr double bs[] = { -3.57324784, 22.28816201, -35.47480551, 85.60617701 }; + constexpr double as[] = { -0.58270499, 2.68512549, 15.24638015, 344.49745382}; + constexpr double bs[] = { -2.65734562, 15.96509799, -20.69040836, 73.61029937 }; // Enforce that NormalizeToPawnValue corresponds to a 50% win rate at ply 64 static_assert(UCI::NormalizeToPawnValue == int(as[0] + as[1] + as[2] + as[3]));