Piecewise linear interpolation from float-like types to float.
type ('key, 'value) t_
This type constructor is how we expose, for instance, that Make(K)(V).t
and
Stable.V1.Make(K)(V).t
are the same type (as long as Stable.V1
is current).
Likewise, if K0.t = K1.t
, then Make(K0)(V).t = Make(K1)(V).t
.
module type S : Core__.Piecewise_linear_intf.S with type (k, v) t_ := (k, v) t_
module Make : functor (Key : Core__.Piecewise_linear_intf.Float_like) -> functor (Value : Core__.Piecewise_linear_intf.Float_like) -> S with type key = Key.t with type value = Value.t
module type S_invertible : Core__.Piecewise_linear_intf.S_invertible with type (k, v) t_ := (k, v) t_invertible
module Make_invertible : functor (Key : Core__.Piecewise_linear_intf.Float_like) -> functor (Value : Core__.Piecewise_linear_intf.Float_like) -> S_invertible with type key = Key.t with type value = Value.t
Sexp conversion of many of the following is lossy, because sexp conversion in the underlying modules is lossy.
module Ofday : S with type key = Core__.Import_time.Time.Ofday.t with type value = float
module Span : S with type key = Core__.Import_time.Time.Span.t with type value = float
module Time : S with type key = Core__.Import_time.Time.t with type value = float
module Ofday_ns : S with type key = Core__.Core_time_ns.Ofday.t with type value = float
module Span_ns : S with type key = Core__.Core_time_ns.Span.t with type value = float
module Time_ns : S with type key = Core__.Core_time_ns.t with type value = float
Since keys are represented as floats internally, the precision of the keys is about 238ns (from early 2004 to early 2038).
module Stable : sig ... end
Note that applications of the following functors are only as stable as Key
and
Value
.