X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fbenchmark.cpp;h=605c95ad6ba23a042169b5fe8e214bb9c7910d06;hb=856a5f3aaaf8b9d53599963decacd4476b55c034;hp=cf0a315c1090a95236029977e845ca5d6d4c1199;hpb=0af24a14455bbcde181fff7632722ce55419991e;p=stockfish diff --git a/src/benchmark.cpp b/src/benchmark.cpp index cf0a315c..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()) { @@ -163,7 +164,7 @@ void benchmark(const Position& current, istream& is) { } } - elapsed = Time::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