package goblint
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=20d5b7332a9f6072ab9ba86c4a53b898eaf681286c56a8805c41850bbf3ddf41
sha512=7c7685cfcd9aa866bc40e813df2bfcb3c79b3d40e615d8d6d0939c5798b9d70dd7f2ba87a741f5ba0ce891e9d254627207fb28057f1f2f6611e4e0d128fd6a71
doc/goblint.lib/Goblint_lib/IntDomainProperties/WithIkind/argument-1-I/index.html
Parameter WithIkind.I
include IntDomain_intf.B with type int_t = Z.t
include Lattice.PO
include Printable.S
val hash : t -> intval show : t -> stringval pretty : unit -> t -> Printable.Pretty.docval printXml : 'a BatInnerIO.output -> t -> unitval to_yojson : t -> Yojson.Safe.tval tag : t -> intUnique ID, given by HConsed, for context identification in witness
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.docIf leq x y = false, then pretty_diff () (x, y) should explain why.
val bot_of : GoblintCil.Cil.ikind -> tval top_of : GoblintCil.Cil.ikind -> tReturn a single integer value if the value is a known constant, otherwise * don't return anything.
val to_bool : t -> bool optionGive a boolean interpretation of an abstract value if possible, otherwise * don't return anything.
Gives a list representation of the excluded values from included range of bits if possible.
val of_excl_list : GoblintCil.Cil.ikind -> int_t list -> tCreates an exclusion set from a given list of integers.
val is_excl_list : t -> boolChecks if the element is an exclusion set.
Gives a list representation of the included values if possible.
Cast
include IntDomain_intf.ArithIkind with type t := t
val rem : GoblintCil.Cil.ikind -> t -> t -> tInteger remainder: x % y
Comparison operators
val lt : GoblintCil.Cil.ikind -> t -> t -> tLess than: x < y
val gt : GoblintCil.Cil.ikind -> t -> t -> tGreater than: x > y
val le : GoblintCil.Cil.ikind -> t -> t -> tLess than or equal: x <= y
val ge : GoblintCil.Cil.ikind -> t -> t -> tGreater than or equal: x >= y
val eq : GoblintCil.Cil.ikind -> t -> t -> tEqual to: x == y
val ne : GoblintCil.Cil.ikind -> t -> t -> tNot equal to: x != y
Bit operators
val lognot : GoblintCil.Cil.ikind -> t -> tBitwise not (one's complement): ~x
val logand : GoblintCil.Cil.ikind -> t -> t -> tBitwise and: x & y
val logor : GoblintCil.Cil.ikind -> t -> t -> tBitwise or: x | y
val logxor : GoblintCil.Cil.ikind -> t -> t -> tBitwise exclusive or: x ^ y
val shift_left : GoblintCil.Cil.ikind -> t -> t -> tShifting bits left: x << y
val shift_right : GoblintCil.Cil.ikind -> t -> t -> tShifting bits right: x >> y
Logical operators
val c_lognot : GoblintCil.Cil.ikind -> t -> tLogical not: !x
val c_logand : GoblintCil.Cil.ikind -> t -> t -> tLogical and: x && y
val c_logor : GoblintCil.Cil.ikind -> t -> t -> tLogical or: x || y
val add : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> tval sub : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> tval mul : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> tval div : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> tval neg : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> tval cast_to :
?suppress_ovwarn:bool ->
?torg:GoblintCil.Cil.typ ->
?no_ov:bool ->
GoblintCil.Cil.ikind ->
t ->
tval join : GoblintCil.Cil.ikind -> t -> t -> tval meet : GoblintCil.Cil.ikind -> t -> t -> tval narrow : GoblintCil.Cil.ikind -> t -> t -> tval widen : GoblintCil.Cil.ikind -> t -> t -> tval starting : ?suppress_ovwarn:bool -> GoblintCil.Cil.ikind -> int_t -> tval ending : ?suppress_ovwarn:bool -> GoblintCil.Cil.ikind -> int_t -> tval of_int : GoblintCil.Cil.ikind -> int_t -> tTransform an integer literal to your internal domain representation.
val of_bool : GoblintCil.Cil.ikind -> bool -> tTransform a known boolean value to the default internal representation. It * should follow C: of_bool true = of_int 1 and of_bool false = of_int 0.
val of_interval :
?suppress_ovwarn:bool ->
GoblintCil.Cil.ikind ->
(int_t * int_t) ->
tval of_congruence : GoblintCil.Cil.ikind -> (int_t * int_t) -> tval of_bitfield : GoblintCil.Cil.ikind -> (int_t * int_t) -> tval to_bitfield : GoblintCil.Cil.ikind -> t -> int_t * int_tval is_top_of : GoblintCil.Cil.ikind -> t -> boolval invariant_ikind :
GoblintCil.Cil.exp ->
GoblintCil.Cil.ikind ->
t ->
Invariant.tval refine_with_congruence :
GoblintCil.Cil.ikind ->
t ->
(int_t * int_t) option ->
tval refine_with_bitfield : GoblintCil.Cil.ikind -> t -> (int_t * int_t) -> tval refine_with_interval :
GoblintCil.Cil.ikind ->
t ->
(int_t * int_t) option ->
tval refine_with_excl_list :
GoblintCil.Cil.ikind ->
t ->
(int_t list * (int64 * int64)) option ->
tval refine_with_incl_list : GoblintCil.Cil.ikind -> t -> int_t list option -> tval project : GoblintCil.Cil.ikind -> PrecisionUtil.int_precision -> t -> tval arbitrary : GoblintCil.Cil.ikind -> t QCheck.arbitrary