module type Experiment2 = functor (
Auto
:
Types.Rule
) ->
Types.Experiment
val do_next_step : unit -> unit
Called once per time step.
val at_first_measurement : unit -> unit
Called only once.
val at_last_measurement : unit -> unit
val do_measurement : time:int -> (int -> unit) * (int -> unit)
Does the measurement defined by the experiment and returns two output functions
(printing and drawing).
These functions take the time as argument.
Note that the three arguments
time
are different,
the time given to the drawing_function doesn't take
time_transient
into account.
This is used to let the user watch the output of the previous measurement
while computing the current one, and thus reduce the time before displaying
the result of the current measurement when he presses a key.