sig
type t
val zero : SFTime.t
val of_seconds : float -> SFTime.t
val of_milliseconds : int32 -> SFTime.t
external of_microseconds : int64 -> SFTime.t = "%identity"
val asSeconds : SFTime.t -> float
val asMilliseconds : SFTime.t -> int32
external asMicroseconds : SFTime.t -> int64 = "%identity"
val add : SFTime.t -> SFTime.t -> SFTime.t
val sub : SFTime.t -> SFTime.t -> SFTime.t
val mul : SFTime.t -> float -> SFTime.t
val div : SFTime.t -> float -> SFTime.t
val ratio : SFTime.t -> SFTime.t -> float
val rem : SFTime.t -> SFTime.t -> SFTime.t
val ( + ) : SFTime.t -> SFTime.t -> SFTime.t
val ( - ) : SFTime.t -> SFTime.t -> SFTime.t
val ( * ) : SFTime.t -> float -> SFTime.t
val ( / ) : SFTime.t -> float -> SFTime.t
val ( // ) : SFTime.t -> SFTime.t -> float
val ( mod ) : SFTime.t -> SFTime.t -> SFTime.t
val compare : SFTime.t -> SFTime.t -> int
external sleep : SFTime.t -> unit = "caml_sfSleep"
end