mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-18 08:07:08 +08:00
Assume input FEN string is correct in from_fen()
And also tolerate a 0 value for full move number. Revert BUG_41 patch, now we set initial King file only if a castling is possible, so we don't need the fix anymore in case of correct FEN. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -72,7 +72,7 @@ namespace {
|
||||
enum TimeType { OptimumTime, MaxTime };
|
||||
|
||||
template<TimeType>
|
||||
int remaining(int myTime, int movesToGo, int currentPly);
|
||||
int remaining(int myTime, int movesToGo, int fullMoveNumber);
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ void TimeManager::pv_instability(int curChanges, int prevChanges) {
|
||||
}
|
||||
|
||||
|
||||
void TimeManager::init(const SearchLimits& limits, int currentPly)
|
||||
void TimeManager::init(const SearchLimits& limits, int fullMoveNumber)
|
||||
{
|
||||
/* We support four different kind of time controls:
|
||||
|
||||
@@ -124,8 +124,8 @@ void TimeManager::init(const SearchLimits& limits, int currentPly)
|
||||
|
||||
hypMyTime = Max(hypMyTime, 0);
|
||||
|
||||
t1 = minThinkingTime + remaining<OptimumTime>(hypMyTime, hypMTG, currentPly);
|
||||
t2 = minThinkingTime + remaining<MaxTime>(hypMyTime, hypMTG, currentPly);
|
||||
t1 = minThinkingTime + remaining<OptimumTime>(hypMyTime, hypMTG, fullMoveNumber);
|
||||
t2 = minThinkingTime + remaining<MaxTime>(hypMyTime, hypMTG, fullMoveNumber);
|
||||
|
||||
optimumSearchTime = Min(optimumSearchTime, t1);
|
||||
maximumSearchTime = Min(maximumSearchTime, t2);
|
||||
@@ -142,11 +142,12 @@ void TimeManager::init(const SearchLimits& limits, int currentPly)
|
||||
namespace {
|
||||
|
||||
template<TimeType T>
|
||||
int remaining(int myTime, int movesToGo, int currentPly)
|
||||
int remaining(int myTime, int movesToGo, int fullMoveNumber)
|
||||
{
|
||||
const float TMaxRatio = (T == OptimumTime ? 1 : MaxRatio);
|
||||
const float TStealRatio = (T == OptimumTime ? 0 : StealRatio);
|
||||
|
||||
int currentPly = 2 * fullMoveNumber;
|
||||
int thisMoveImportance = move_importance(currentPly);
|
||||
int otherMovesImportance = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user