Goblint_lib.ApronDomain
Apron
domains.
module M = Messages
Resources for working with Apron:
val widening_thresholds_apron : GobApron.Scalar.t array ResettableLazy.t
module V = RelationDomain.V
module type Manager = sig ... end
module OctagonManager : sig ... end
Manager for the Oct domain, i.e. an octagon domain. For Documentation for the domain see: https://antoinemine.github.io/Apron/doc/api/ocaml/Oct.html
module PolyhedraManager : sig ... end
Manager for the Polka domain, i.e. a polyhedra domain. For Documentation for the domain see: https://antoinemine.github.io/Apron/doc/api/ocaml/Polka.html
module AffEqManager : sig ... end
Another manager for the Polka domain but specifically for affine equalities. For Documentation for the domain see: https://antoinemine.github.io/Apron/doc/api/ocaml/Polka.html
module IntervalManager : sig ... end
Manager for the Box domain, i.e. an interval domain. For Documentation for the domain see: https://antoinemine.github.io/Apron/doc/api/ocaml/Box.html
val manager : (module Manager) lazy_t
val get_manager : unit -> (module Manager)
module A = GobApron.Abstract1
module type AOpsPure = sig ... end
Pure environment and transfer functions.
module type AOpsImperative = sig ... end
Imperative in-place environment and transfer functions.
module type AOpsImperativeCopy = sig ... end
module AOpsPureOfImperative
(AOpsImperative : AOpsImperativeCopy) :
AOpsPure with type t = AOpsImperative.t
Default implementations of pure functions from copy
and imperative functions.
module type AOpsExtra = sig ... end
Extra functions that don't have the pure-imperative correspondence.
module type AOps = sig ... end
module AOps0 (Tracked : RelationDomain.Tracked) (Man : Manager) : sig ... end
Convenience operations on A.
module AOps (Tracked : RelationDomain.Tracked) (Man : Manager) : sig ... end
module type SPrintable = sig ... end
module type SLattice = sig ... end
module type S2 = sig ... end
module OctagonD : sig ... end
module type S3 = sig ... end
Lift D
to a non-reduced product with box. Both are updated in parallel, but D
answers to queries. Box domain is used to filter out non-relational invariants for output.
module BoxProd (D : S3) : RelationDomain.RD