CommonPerMutex.RDmodule V : RelationDomain.RVinclude RelationDomain.S3include RelationDomain.S2type var = GobApron.Var.tmodule Tracked : RelationDomain.Trackedinclude Lattice.S with type t := tinclude Lattice.PO with type t := twiden x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
val is_bot_env : t -> boolRemove variables in-place. This avoids an extra copy like remove_vars if the input relation is unshared.
Filter variables in-place. This avoids an extra copy like remove_filter if the input relation is unshared.
Lazy bool no_ov parameter has been added to functions where functions of the Convert module are used. This is to also to make used of the improved overflow handling.
val assign_exp :
Queries.ask ->
t ->
var ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
tAssign variables in parallel in-place. This avoids an extra copy like assign_var_parallel' if the input relation is unshared.
val substitute_exp :
Queries.ask ->
t ->
var ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
tval assert_inv :
Queries.ask ->
t ->
GoblintCil.exp ->
bool ->
bool Stdlib.Lazy.t ->
tval eval_int :
Queries.ask ->
t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
ValueDomainQueries.ID.tval cil_exp_of_lincons1 : GobApron.Lincons1.t -> GoblintCil.exp optionval invariant : t -> GobApron.Lincons1.t list