X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftimeman.cpp;h=9f131d46d512d0ba6e4494ec81db724bd7698524;hp=81c2f39b77e4d40eaff30c57dadeeda6f4f2b1be;hb=a646f74e6a62af756b2e51756a81ee983db4ff34;hpb=59a9bc93512138eca31ec38d36d8ddd7868ed708 diff --git a/src/timeman.cpp b/src/timeman.cpp index 81c2f39b..9f131d46 100644 --- a/src/timeman.cpp +++ b/src/timeman.cpp @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2013 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2014 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,6 +18,7 @@ */ #include +#include #include #include "search.h" @@ -34,8 +35,6 @@ namespace { const double xscale = 9.3; const double xshift = 59.8; - const double yscale = 7780; - const double yshift = 1e-3; // Larger than 0. Ensures a non-zero importance const double skewfactor = 0.172; @@ -46,7 +45,7 @@ namespace { double move_importance(int ply) { - return yscale / pow((1 + exp((ply - xshift) / xscale)), skewfactor) + yshift; + return pow((1 + exp((ply - xshift) / xscale)), -skewfactor) + DBL_MIN; // Ensure non-zero } @@ -67,7 +66,7 @@ void TimeManager::pv_instability(double bestMoveChanges) { void TimeManager::init(const Search::LimitsType& limits, int currentPly, Color us) { - /* We support four different kind of time controls: + /* We support four different kinds of time controls: increment == 0 && movesToGo == 0 means: x basetime [sudden death!] increment == 0 && movesToGo != 0 means: x moves in y minutes