package bddapron

  1. Overview
  2. Docs
type !'a symbol = 'a Bdd.Env.symbol = {
  1. compare : 'a -> 'a -> int;
  2. marshal : 'a -> string;
  3. unmarshal : string -> 'a;
  4. mutable print : Format.formatter -> 'a -> unit;
}
type typ = [
  1. | `Int
  2. | `Real
]
type (!'a, !'b) typ_of_var = 'a -> 'b constraint 'b = [> typ ]
module Lin : sig ... end
module Poly : sig ... end
module Tree : sig ... end
val lin_of_poly : 'a symbol -> 'a Poly.t -> 'a Lin.t
val lin_of_tree : 'a symbol -> 'a Tree.t -> 'a Lin.t
val poly_of_tree : 'a symbol -> 'a Tree.t -> 'a Poly.t
val tree_of_lin : 'a Lin.t -> 'a Tree.t
val tree_of_poly : 'a Poly.t -> 'a Tree.t
type !'a t =
  1. | Lin of 'a Lin.t
  2. | Poly of 'a Poly.t
  3. | Tree of 'a Tree.t
type !'a expr = 'a t
val var : 'a symbol -> ('a, [> typ ]) typ_of_var -> 'a -> 'a t
val zero : 'a t
val one : 'a t
val cst : Apron.Coeff.t -> 'a t
val add : 'a symbol -> ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t -> 'a t
val sub : 'a symbol -> ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t -> 'a t
val mul : 'a symbol -> ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t -> 'a t
val div : 'a symbol -> ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t -> 'a t
val gmod : 'a symbol -> ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t -> 'a t
val negate : 'a t -> 'a t
val cast : ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t
val sqrt : ?typ:Apron.Texpr1.typ -> ?round:Apron.Texpr1.round -> 'a t -> 'a t
val support : 'a symbol -> 'a t -> 'a PSette.t
val substitute_by_var : 'a symbol -> 'a t -> ('a, 'a) PMappe.t -> 'a t
val normalize : 'a symbol -> 'a t -> 'a t
val equal : 'a symbol -> 'a t -> 'a t -> bool
val hash : 'a symbol -> 'a t -> int
val compare : 'a symbol -> 'a t -> 'a t -> int
val normalize_as_constraint : 'a t -> 'a t
val is_dependent_on_integer_only : ('a, [> typ ]) typ_of_var -> 'a t -> bool
val typ_of_expr : ('a, [> typ ]) typ_of_var -> 'a t -> [ `Int | `Real ]
val print : 'a symbol -> Format.formatter -> 'a t -> unit
val print_typ : Format.formatter -> [> typ ] -> unit
val of_linexpr0 : 'a symbol -> Apron.Environment.t -> Apron.Linexpr0.t -> 'a t
val of_linexpr1 : 'a symbol -> Apron.Linexpr1.t -> 'a t
val to_linexpr0 : 'a symbol -> Apron.Environment.t -> 'a t -> Apron.Linexpr0.t
val to_linexpr1 : 'a symbol -> Apron.Environment.t -> 'a t -> Apron.Linexpr1.t
val of_texpr0 : 'a symbol -> Apron.Environment.t -> Apron.Texpr0.t -> 'a t
val of_texpr1 : 'a symbol -> Apron.Texpr1.t -> 'a t
val to_texpr0 : 'a symbol -> Apron.Environment.t -> 'a t -> Apron.Texpr0.t
val to_texpr1 : 'a symbol -> Apron.Environment.t -> 'a t -> Apron.Texpr1.t
val to_apron0 : 'a symbol -> Apron.Environment.t -> 'a t -> [ `Lin of Apron.Linexpr0.t | `Tree of Apron.Texpr0.t ]
val to_apron1 : 'a symbol -> Apron.Environment.t -> 'a t -> [ `Lin of Apron.Linexpr1.t | `Tree of Apron.Texpr1.t ]
module Condition : sig ... end