X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbenchmark.cpp;h=605c95ad6ba23a042169b5fe8e214bb9c7910d06;hp=e27e81fee5a838142cccdce9b46622d76d8ef50b;hb=856a5f3aaaf8b9d53599963decacd4476b55c034;hpb=6fa6da3ee13d2b7bdbec3cd24ff8ca43233c74fb diff --git a/src/benchmark.cpp b/src/benchmark.cpp index e27e81fe..605c95ad 100644 --- a/src/benchmark.cpp +++ b/src/benchmark.cpp @@ -17,6 +17,7 @@ along with this program. If not, see . */ +#include #include #include #include @@ -33,7 +34,7 @@ using namespace std; namespace { -const vector Defaults = { +const char* Defaults[] = { "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 10", "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 11", @@ -107,19 +108,19 @@ void benchmark(const Position& current, istream& is) { TT.clear(); if (limitType == "time") - limits.movetime = stoi(limit); // movetime is in ms + limits.movetime = atoi(limit.c_str()); // movetime is in ms else if (limitType == "nodes") - limits.nodes = stoi(limit); + limits.nodes = atoi(limit.c_str()); else if (limitType == "mate") - limits.mate = stoi(limit); + limits.mate = atoi(limit.c_str()); else - limits.depth = stoi(limit); + limits.depth = atoi(limit.c_str()); if (fenFile == "default") - fens = Defaults; + fens.assign(Defaults, Defaults + 37); else if (fenFile == "current") fens.push_back(current.fen()); @@ -127,7 +128,7 @@ void benchmark(const Position& current, istream& is) { else { string fen; - ifstream file(fenFile); + ifstream file(fenFile.c_str()); if (!file.is_open()) { @@ -144,7 +145,7 @@ void benchmark(const Position& current, istream& is) { uint64_t nodes = 0; Search::StateStackPtr st; - TimePoint elapsed = now(); + Time::point elapsed = Time::now(); for (size_t i = 0; i < fens.size(); ++i) { @@ -163,7 +164,7 @@ void benchmark(const Position& current, istream& is) { } } - elapsed = now() - elapsed + 1; // Ensure positivity to avoid a 'divide by zero' + elapsed = std::max(Time::now() - elapsed, Time::point(1)); // Avoid a 'divide by zero' dbg_print(); // Just before to exit