Subversion Repositories Games.Chess Giants

Rev

Rev 169 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 169 Rev 185
Line 4... Line 4...
4
  Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad
4
  Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad
5
  Copyright (C) 2015-2018 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad
5
  Copyright (C) 2015-2019 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad
6
 
6
 
7
  Stockfish is free software: you can redistribute it and/or modify
7
  Stockfish is free software: you can redistribute it and/or modify
8
  it under the terms of the GNU General Public License as published by
8
  it under the terms of the GNU General Public License as published by
9
  the Free Software Foundation, either version 3 of the License, or
9
  the Free Software Foundation, either version 3 of the License, or
10
  (at your option) any later version.
10
  (at your option) any later version.
Line 29... Line 29...
29
/// the maximum available time, the game move number and other parameters.
29
/// the maximum available time, the game move number and other parameters.
30
 
30
 
31
class TimeManagement {
31
class TimeManagement {
32
public:
32
public:
33
  void init(Search::LimitsType& limits, Color us, int ply);
33
  void init(Search::LimitsType& limits, Color us, int ply);
34
  int optimum() const { return optimumTime; }
34
  TimePoint optimum() const { return optimumTime; }
35
  int maximum() const { return maximumTime; }
35
  TimePoint maximum() const { return maximumTime; }
-
 
36
  TimePoint elapsed() const { return Search::Limits.npmsec ?
36
  int elapsed() const { return int(Search::Limits.npmsec ? Threads.nodes_searched() : now() - startTime); }
37
                                     TimePoint(Threads.nodes_searched()) : now() - startTime; }
37
 
38
 
38
  int64_t availableNodes; // When in 'nodes as time' mode
39
  int64_t availableNodes; // When in 'nodes as time' mode
39
 
40
 
40
private:
41
private:
41
  TimePoint startTime;
42
  TimePoint startTime;
42
  int optimumTime;
43
  TimePoint optimumTime;
43
  int maximumTime;
44
  TimePoint maximumTime;
44
};
45
};
45
 
46
 
46
extern TimeManagement Time;
47
extern TimeManagement Time;
47
 
48
 
48
#endif // #ifndef TIMEMAN_H_INCLUDED
49
#endif // #ifndef TIMEMAN_H_INCLUDED