UCT max_tree_size: Print a notification when memory gets full
[pachi.git] / timeinfo.h
blob75694098525313dbb65e6936e184bc38cced5e71
1 #ifndef ZZGO_TIMEINFO_H
2 #define ZZGO_TIMEINFO_H
4 /* Time-keeping information about time to spend on the next move and/or
5 * rest of the game. */
7 /* Note that some ways of specifying time (TD_GAMES) may not make sense
8 * with all engines. */
10 #include <stdbool.h>
11 #include <time.h>
13 struct time_info {
14 /* For how long we can spend the time? */
15 enum time_period {
16 TT_MOVE, // Time for the next move.
17 TT_TOTAL, // Time for the rest of the game.
18 } period;
19 /* How are we counting the time? */
20 enum time_dimension {
21 TD_GAMES, // Fixed number of simulations to perform.
22 TD_WALLTIME, // Wall time to spend performing simulations.
23 } dim;
24 union {
25 int games; // TD_GAMES
26 struct timespec walltime; // TD_WALLTIME
27 } len;
30 /* Parse time information provided in custom format:
31 * =NUM - fixed number of simulations per move
32 * NUM - number of seconds to spend per move
33 * _NUM - number of seconds to spend per game
35 * Returns false on parse error. */
36 bool time_parse(struct time_info *ti, char *s);
38 #endif