Reporting

inline bool libsemigroups::Runner::report() const

Check if it is time to report.

This function can be used in an implementation of run() (in a derived class of Runner) to check if enough time has passed that we should report again.

Parameters

(None)

Returns

A bool.

inline std::chrono::nanoseconds libsemigroups::Runner::report_every() const noexcept

Get the minimum elapsed time between reports.

Parameters

(None)

Returns

The number of nanoseconds between reports.

template<typename TIntType>
inline void libsemigroups::Runner::report_every(TIntType t)

Set the minimum elapsed time between reports.

This function can be used to specify at run time the minimum elapsed time between two calls to report() that return true. If report() returns true at time s, then report() will only return true again after time s + t has elapsed.

Parameters

t – the amount of time (in TIntType) between reports.

Returns

(None)

void libsemigroups::Runner::report_every(std::chrono::nanoseconds t)

Set the minimum elapsed time between reports.

This function can be used to specify at run time the minimum elapsed time between two calls to report() that return true. If report() returns true at time s, then report() will only return true again after time s + t has elapsed.

Parameters

t – the amount of time (in nanoseconds) between reports.

Returns

(None)

void libsemigroups::Runner::report_why_we_stopped() const

Report why run stopped.

Reports whether run() was stopped because it is finished(), timed_out(), or dead().

Parameters

(None)

Returns

(None)