t is immediate on 64bit boxes and so plays nicely with the GC write barrier.
Unfortunately, private Int63.t is necessary for the compiler to optimize uses.
include sig ... endval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval typerep_of_t : t Typerep_lib.Std.Typerep.tval typename_of_t : t Typerep_lib.Std.Typename.tval bin_t : t Bin_prot.Type_class.tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (Core_kernel__.Import.int ‑> t) Bin_prot.Read.readerval bin_reader_t : t Bin_prot.Type_class.readerval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_writer_t : t Bin_prot.Type_class.writerval bin_shape_t : Bin_prot.Shape.tinclude Core_kernel__.Import.Comparisons.S with type t := tinclude Core_kernel.Comparable.Validate with type t := tval validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.checkinclude Core_kernel.Comparable.With_zero with type t := tval validate_positive : t Base.Validate.checkval validate_non_negative : t Base.Validate.checkval validate_negative : t Base.Validate.checkval validate_non_positive : t Base.Validate.checkval is_positive : t ‑> boolval is_non_negative : t ‑> boolval is_negative : t ‑> boolval is_non_positive : t ‑> boolval sign : t ‑> Base__.Sign0.tReturns Neg, Zero, or Pos in a way consistent with the above functions.
val nanosecond : tval microsecond : tval millisecond : tval second : tval minute : tval hour : tval day : tval of_ns : Core_kernel__.Import.float ‑> tval of_us : Core_kernel__.Import.float ‑> tval of_ms : Core_kernel__.Import.float ‑> tval of_sec : Core_kernel__.Import.float ‑> tval of_min : Core_kernel__.Import.float ‑> tval of_hr : Core_kernel__.Import.float ‑> tval of_day : Core_kernel__.Import.float ‑> tval to_ns : t ‑> Core_kernel__.Import.floatval to_us : t ‑> Core_kernel__.Import.floatval to_ms : t ‑> Core_kernel__.Import.floatval to_sec : t ‑> Core_kernel__.Import.floatval to_min : t ‑> Core_kernel__.Import.floatval to_hr : t ‑> Core_kernel__.Import.floatval to_day : t ‑> Core_kernel__.Import.floatval of_sec_with_microsecond_precision : Core_kernel__.Import.float ‑> tval of_int_us : Core_kernel__.Import.int ‑> tval of_int_ms : Core_kernel__.Import.int ‑> tval of_int_sec : Core_kernel__.Import.int ‑> tval to_int_us : t ‑> Core_kernel__.Import.intval to_int_ms : t ‑> Core_kernel__.Import.intval to_int_sec : t ‑> Core_kernel__.Import.intval zero : tval min_value : tThe limits of t are chosen to allow conversion to and from float spans with
microsecond precision. This property supports Core.Timing_wheel_float in
particular. See also Core.Time.
val max_value : tval scale : t ‑> Core_kernel__.Import.float ‑> tval div : t ‑> t ‑> Core_kernel.Int63.tval (/) : t ‑> Core_kernel__.Import.float ‑> tval (//) : t ‑> t ‑> Core_kernel__.Import.floatval create : ?sign:Core_kernel.Sign.t ‑> ?day:Core_kernel__.Import.int ‑> ?hr:Core_kernel__.Import.int ‑> ?min:Core_kernel__.Import.int ‑> ?sec:Core_kernel__.Import.int ‑> ?ms:Core_kernel__.Import.int ‑> ?us:Core_kernel__.Import.int ‑> ?ns:Core_kernel__.Import.int ‑> Core_kernel__.Import.unit ‑> tOverflows silently.
val to_unit_of_time : t ‑> Core_kernel.Unit_of_time.tval of_unit_of_time : Core_kernel.Unit_of_time.t ‑> tval to_int_ns : t ‑> Core_kernel__.Import.intWill raise on 32-bit platforms. Consider to_int63_ns instead.
val of_int_ns : Core_kernel__.Import.int ‑> tval to_proportional_float : t ‑> Core_kernel__.Import.floatThe only condition to_proportional_float is supposed to satisfy is that for all
t1, t2 : t: to_proportional_float t1 /. to_proportional_float t2 = t1 // t2.
val since_unix_epoch : Core_kernel__.Import.unit ‑> tval random : ?state:Core_kernel__.Import.Random.State.t ‑> Core_kernel__.Import.unit ‑> tmodule Alternate_sexp : sig ... endNote that we expose a sexp format that is not the one exposed in Core.