Module Coeff

module Coeff: sig .. end

type union_5 = 
| Scalar of Scalar.t
| Interval of Interval.t
type t = union_5 

APRON Coefficients (either scalars or intervals)

val s_of_mpq : Mpq.t -> t
val s_of_mpqf : Mpqf.t -> t
val s_of_int : int -> t
val s_of_frac : int -> int -> t

Create a scalar coefficient of type Mpqf.t from resp.

val s_of_float : float -> t

Create an interval coefficient of type Float with the given value

val s_of_mpfr : Mpfr.t -> t

Create an interval coefficient of type Mpfr with the given value

val i_of_scalar : Scalar.t -> Scalar.t -> t

Build an interval from a lower and an upper bound

val i_of_mpq : Mpq.t -> Mpq.t -> t
val i_of_mpqf : Mpqf.t -> Mpqf.t -> t
val i_of_int : int -> int -> t
val i_of_frac : int -> int -> int -> int -> t
val i_of_float : float -> float -> t
val i_of_mpfr : Mpfr.t -> Mpfr.t -> t

Create an interval coefficient from resp. two

val is_scalar : t -> bool
val is_interval : t -> bool
val cmp : t -> t -> int

Non Total Comparison:

val equal : t -> t -> bool

Equality test

val is_zero : t -> bool

Is the coefficient equal to scalar 0 or interval 0,0 ?

val equal_int : t -> int -> bool

Is the coefficient equal to scalar b or interval b,b ?

val neg : t -> t

Negation

val reduce : t -> t

Convert interval to scalar if possible

val print : Stdlib.Format.formatter -> t -> unit

Printing