package timedesc

  1. Overview
  2. Docs
type sign = [
  1. | `Pos
  2. | `Neg
]
type view = private {
  1. sign : sign;
  2. days : int;
  3. hours : int;
  4. minutes : int;
  5. seconds : int;
  6. ns : int;
}
type error = [
  1. | `Invalid_days of int
  2. | `Invalid_hours of int
  3. | `Invalid_minutes of int
  4. | `Invalid_seconds of int
  5. | `Invalid_ns of int
]
type error_f = [
  1. | `Invalid_days_f of float
  2. | `Invalid_hours_f of float
  3. | `Invalid_minutes_f of float
  4. | `Invalid_seconds_f of float
  5. | `Invalid_ns of int
]
exception Error_exn of error
exception Error_f_exn of error_f
val make : ?sign:sign -> ?days:int -> ?hours:int -> ?minutes:int -> ?seconds:int -> ?ns:int -> unit -> (t, error) result

sign defaults to `Pos.

Returns Error if any of the arguments are negative.

  • raises Out_of_range

    if the value cannot be represented even after normalization

val make_exn : ?sign:sign -> ?days:int -> ?hours:int -> ?minutes:int -> ?seconds:int -> ?ns:int -> unit -> t
val make_frac : ?sign:sign -> ?days:float -> ?hours:float -> ?minutes:float -> ?seconds:float -> ?ns:int -> unit -> (t, error_f) result

sign defaults to `Pos.

Returns Error if any of the arguments are negative.

  • raises Out_of_range

    if the value cannot be represented even after normalization

val make_frac_exn : ?sign:sign -> ?days:float -> ?hours:float -> ?minutes:float -> ?seconds:float -> ?ns:int -> unit -> t
val view : t -> view
val pp : Format.formatter -> t -> unit
val to_string : t -> string
OCaml

Innovation. Community. Security.