package apron

  1. Overview
  2. Docs
type t
and unop =
  1. | Neg
  2. | Cast
  3. | Sqrt
and binop =
  1. | Add
  2. | Sub
  3. | Mul
  4. | Div
  5. | Mod
  6. | Pow
and typ =
  1. | Real
  2. | Int
  3. | Single
  4. | Double
  5. | Extended
  6. | Quad
and round =
  1. | Near
  2. | Zero
  3. | Up
  4. | Down
  5. | Rnd
type expr =
  1. | Cst of Coeff.t
  2. | Dim of Dim.t
  3. | Unop of unop * expr * typ * round
  4. | Binop of binop * expr * expr * typ * round
val of_expr : expr -> t
val copy : t -> t
val of_linexpr : Linexpr0.t -> t
val to_expr : t -> expr
val cst : Coeff.t -> t
val dim : Dim.t -> t
val unop : unop -> t -> typ -> round -> t
val binop : binop -> typ -> round -> t -> t -> t
val is_interval_cst : t -> bool
val is_interval_linear : t -> bool
val is_interval_polynomial : t -> bool
val is_interval_polyfrac : t -> bool
val is_scalar : t -> bool
val string_of_unop : unop -> string
val string_of_binop : binop -> string
val string_of_typ : typ -> string
val string_of_round : round -> string
val print_unop : Format.formatter -> unop -> unit
val print_binop : Format.formatter -> binop -> unit
val print_typ : Format.formatter -> typ -> unit
val print_round : Format.formatter -> round -> unit
val print_expr : (Dim.t -> string) -> Format.formatter -> expr -> unit
val print : (Dim.t -> string) -> Format.formatter -> t -> unit
val print_sprint_unop : unop -> typ -> round -> string
val print_sprint_binop : binop -> typ -> round -> string
val print_precedence_of_unop : unop -> int
val print_precedence_of_binop : binop -> int