package goblint
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=999272bfbd3b9b96fcd58987b237ac6e9fa6d92ef935cc89f1ea2b4205185141
sha512=f3bf6ab71cf8c258d3290da4bf9f6fe42d7c671822e0efeb0fc50afdff078ab15e352237e5c1db31c5aa3a9d430691268ed2e5e00da10f2615835f672f91683d
doc/goblint.lib/ValueDomain/CArrays/index.html
Module ValueDomain.CArrays
include Lattice.S
include Lattice.PO
include Printable.S
val hash : t -> int
val show : t -> string
val pretty : unit -> t -> Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Printable.json
val invariant : Invariant.context -> t -> Invariant.t
val tag : t -> int
Unique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrary
widen x y
assumes leq x y
. Solvers guarantee this by calling widen old (join old new)
.
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
type idx = ArrIdxDomain.t
The abstract domain used to index on arrays.
type value = Compound.t
The abstract domain of values stored in the array.
val get : Queries.ask -> t -> (ExpDomain.t * idx) -> value
Returns the element residing at the given index.
val set : Queries.ask -> t -> (ExpDomain.t * idx) -> value -> t
Returns a new abstract value, where the given index is replaced with the * given element.
make l e
creates an abstract representation of an array of length l
* containing the element e
.
val move_if_affected :
?replace_with_const:bool ->
Queries.ask ->
t ->
Cil.varinfo ->
(Cil.exp -> int option) ->
t
changes the way in which the array is partitioned if this is necessitated by a change * to the variable *
val get_vars_in_e : t -> Cil.varinfo list
returns the variables occuring in the expression according to which the * array was partitioned (if any)
Left fold (like List.fold_left) over the arrays elements
Left fold over the elements of two arrays (like List.fold_left2