sig
exception OFN_type_mismatch
exception Improper_OFN
type family = Trapezoidal | Gaussian | Exponential
type tofn = {
ofn_type : Tofn.family;
au : float;
bu : float;
ad : float;
bd : float;
}
val sametype : Tofn.tofn -> Tofn.tofn -> bool
val tuplemap :
(float -> float -> float) -> Tofn.tofn -> Tofn.tofn -> Tofn.tofn
val tuplemap_safe :
(float -> float -> float) -> Tofn.tofn -> Tofn.tofn -> Tofn.tofn
val base_function : Tofn.family -> float -> float
val inv : Tofn.family -> float -> float
val ( |+| ) : Tofn.tofn -> Tofn.tofn -> Tofn.tofn
val ( |-| ) : Tofn.tofn -> Tofn.tofn -> Tofn.tofn
val ( |*| ) : Tofn.tofn -> Tofn.tofn -> Tofn.tofn
val ( |/| ) : Tofn.tofn -> Tofn.tofn -> Tofn.tofn
val is_increasing : Tofn.tofn -> bool
val is_decreasing : Tofn.tofn -> bool
val is_proper : Tofn.tofn -> bool
val membership : Tofn.tofn -> float -> float
end