15 time_parse(struct time_info
*ti
, char *s
)
18 case '_': ti
->period
= TT_TOTAL
; s
++; break;
19 default: ti
->period
= TT_MOVE
; break;
24 ti
->len
.games
= atoi(++s
);
29 ti
->dim
= TD_WALLTIME
;
30 ti
->len
.t
.recommended_time
= atof(s
);
36 /* Returns the current time. */
41 clock_gettime(CLOCK_REALTIME
, &now
);
42 return now
.tv_sec
+ now
.tv_nsec
/1000000000.0;
45 /* Sleep for a given interval (in seconds). Return immediately if interval < 0. */
47 time_sleep(double interval
)
51 ts
.tv_nsec
= (int)(modf(interval
, &sec
)*1000000000.0);
53 nanosleep(&ts
, NULL
); /* ignore error if interval was < 0 */