pub fn get_time_bounds(context: &SearchContext) -> (u32, u32)
Expand description

Calculates time bounds (soft and hard) which should be used for the next move. Formula and plot for the case when moves_to_go is zeroed can be found in the /misc/time.xlsx Excel sheet, but in general outline it tries to allocate more time during midgame where usually there’s a lot of pieces on the board and it’s crucial to find some advantage at this phase, that can be converted later to decisive result. Formula used when moves_to_go is greater than zero is simpler and allocates time evenly.