Module Useri.Time

module Time: sig .. end
Monotonic time.

Time span

type span = float 
The type for time spans, in seconds.

Passing time

val elapsed : unit -> span
elapsed () is the number of seconds elapsed since the beginning of the program.
val tick : span -> span React.event
tick span is an event that occurs once in span seconds with the value span - span' where span' is the actual delay performed by the system.

Note. Since the system may introduce delays you cannot assume that two different calls to Useri.Time.tick will necessarily yield two non-simultaneous events.

Timing animations

These signals are for coordinating animation and surface refreshes. See Input, animation and rendering coordination for more information.

val count : until:'a React.event -> span React.signal
count ~until is a signal that counts time starting from 0. until the next occurence of until.
val unit : span:span -> float React.signal
unit ~span is a signal that linearly increases from 0. to 1. during span seconds.


type counter 
The type for time counters.
val counter : unit -> counter
counter () is a counter counting time from call time on.
val counter_value : counter -> span
counter_value c is the current counter value in seconds.

Pretty printing time

val pp_s : Format.formatter -> span -> unit
pp_s ppf s prints s seconds in seconds.
val pp_ms : Format.formatter -> span -> unit
pp_ms ppf s prints s seconds in milliseconds.
val pp_mus : Format.formatter -> span -> unit
pp_mus ppf s prints s seconds in microseconds.