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.tmodule type S_invertible : Core__.Piecewise_linear_intf.S_invertible with type (k, v) t_ := (k, v) t_invertiblemodule 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.tSexp 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 = floatmodule Span : S with type key = Core__.Import_time.Time.Span.t with type value = floatmodule Time : S with type key = Core__.Import_time.Time.t with type value = floatmodule Ofday_ns : S with type key = Core__.Core_time_ns.Ofday.t with type value = floatmodule Span_ns : S with type key = Core__.Core_time_ns.Span.t with type value = floatmodule Time_ns : S with type key = Core__.Core_time_ns.t with type value = floatSince keys are represented as floats internally, the precision of the keys is about 238ns (from early 2004 to early 2038).
module Stable : sig ... endNote that applications of the following functors are only as stable as Key and
Value.