bddapron

Logico-numerical domain(s) based on BDDs and APRON
Legend:
Library
Module
Module type
Parameter
Class
Class type
Manual
Module Bddapron . Apronexpr
type !'a symbol = 'a Bdd.Env.symbol = {
compare : 'a -> 'a -> int;
marshal : 'a -> string;
unmarshal : string -> 'a;
mutable print : Format.formatter -> 'a -> unit;
}
type typ = [
| `Int
| `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 =
| Lin of 'a Lin.t
| Poly of 'a Poly.t
| 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