module Interval: sig end
type t = {
}
type low = bool * Mpa.Q.t
val dom : t -> Dom.t
val lo : t -> (bool * Mpa.Q.t) option
val hi : t -> (Mpa.Q.t * bool) option
val destructure : t -> Dom.t * (bool * Mpa.Q.t) option * (Mpa.Q.t * bool) option
val pp : Format.formatter -> t -> unit
Parameters: |
fmt |
: |
Format.formatter
|
i |
: |
t
|
|
val eq : t -> t -> bool
val mk_empty : t
val mk_real : t
val mk_int : t
val mk_nat : t
val mk_pos : t
val mk_nonneg : t
val mk_neg : t
val mk_nonpos : t
val mk_dom : Dom.t -> t
val mk_singleton : Mpa.Q.t -> t
val mk_zero : t
val mk_one : t
val make : Dom.t * (bool * Mpa.Q.t) option * (Mpa.Q.t * bool) option -> t
val is_empty : t -> bool
val is_full : t -> bool
val d_singleton : t -> Mpa.Q.t option
type status =
| |
Empty |
| |
Full |
| |
Singleton of Mpa.Q.t |
| |
Other |
val status : t -> status
val mem : Mpa.Q.t -> t -> bool
val is_sub : t -> t -> bool
val is_sub : t -> t -> bool
val is_disjoint : t -> t -> bool
val is_disjoint : t -> t -> bool
val inter : t -> t -> t
val inter : t -> t -> t
val complement : t -> t
val is_complementable : t -> bool
val add : t -> t -> t
Adding two intervals
val addl : t list -> t
val sub : t -> t -> t
Subtraction of intervals
val addq : Mpa.Q.t -> t -> t
Shifting by a rational.
val multq : Mpa.Q.t -> t -> t
Multiply by a rational.
val multq : Mpa.Q.t -> t -> t
Multiplying intervals.
val mult : t -> t -> t
val multl : t list -> t
val expt : int -> t -> t
Exponentiation of an interval.
val inv : t -> t
Inverse of an Interval
val div : t -> t -> t
Division of interverals.