/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
+ Copyright (C) 2008-2012 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
#include <cmath>
#include <algorithm>
-#include "misc.h"
#include "search.h"
#include "timeman.h"
#include "ucioption.h"
void TimeManager::pv_instability(int curChanges, int prevChanges) {
- unstablePVExtraTime = curChanges * (optimumSearchTime / 2)
- + prevChanges * (optimumSearchTime / 3);
+ unstablePVExtraTime = curChanges * (optimumSearchTime / 2)
+ + prevChanges * (optimumSearchTime / 3);
}
-void TimeManager::init(const SearchLimits& limits, int currentPly)
+void TimeManager::init(const Search::LimitsType& limits, int currentPly)
{
/* We support four different kind of time controls:
int hypMTG, hypMyTime, t1, t2;
// Read uci parameters
- int emergencyMoveHorizon = Options["Emergency Move Horizon"].value<int>();
- int emergencyBaseTime = Options["Emergency Base Time"].value<int>();
- int emergencyMoveTime = Options["Emergency Move Time"].value<int>();
- int minThinkingTime = Options["Minimum Thinking Time"].value<int>();
+ int emergencyMoveHorizon = Options["Emergency Move Horizon"];
+ int emergencyBaseTime = Options["Emergency Base Time"];
+ int emergencyMoveTime = Options["Emergency Move Time"];
+ int minThinkingTime = Options["Minimum Thinking Time"];
// Initialize to maximum values but unstablePVExtraTime that is reset
unstablePVExtraTime = 0;
maximumSearchTime = std::min(maximumSearchTime, t2);
}
- if (Options["Ponder"].value<bool>())
+ if (Options["Ponder"])
optimumSearchTime += optimumSearchTime / 4;
// Make sure that maxSearchTime is not over absoluteMaxSearchTime