package goblint
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=99b78e6def71534d195eef9084baa26d8334b36084e120aa6afb300c9bf8afa6
sha512=f3162bd95a03c00358a2991f6152fc6169205bfb4c55e2c483e98cc3935673df9656d025b6f1ea0fa5f1bd0aee037d4f483966b0d2907e3fa9bf11a93a3392af
doc/goblint_cdomain_value/IntDomain/IntervalSetFunctor/index.html
Module IntDomain.IntervalSetFunctor
Parameters
module Ints_t : IntOps.IntOps
Signature
include S with type int_t = Ints_t.t with type t = (Ints_t.t * Ints_t.t) list
include B with type int_t = Ints_t.t with type t = (Ints_t.t * Ints_t.t) list
include Lattice.S with type t = (Ints_t.t * Ints_t.t) list
include Lattice.PO with type t = (Ints_t.t * Ints_t.t) list
include Printable.S with type t = (Ints_t.t * Ints_t.t) list
val hash : t -> int
val show : t -> string
val pretty : unit -> t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
Unique ID, given by HConsed, for context identification in witness
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
If leq x y = false
, then pretty_diff () (x, y)
should explain why.
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
type int_t = Ints_t.t
Accessing values of the ADT
val bot_of : GoblintCil.Cil.ikind -> t
val top_of : GoblintCil.Cil.ikind -> t
Return a single integer value if the value is a known constant, otherwise * don't return anything.
val to_bool : t -> bool option
Give 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.
Creates an exclusion set from a given list of integers.
val is_excl_list : t -> bool
Checks if the element is an exclusion set.
Gives a list representation of the included values if possible.
Cast
val of_bool : GoblintCil.Cil.ikind -> bool -> t
Transform 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 is_top_of : GoblintCil.Cil.ikind -> t -> bool
val invariant_ikind :
GoblintCil.Cil.exp ->
GoblintCil.Cil.ikind ->
t ->
Invariant.t
val project : GoblintCil.Cil.ikind -> PrecisionUtil.int_precision -> t -> t
val arbitrary : GoblintCil.Cil.ikind -> t QCheck.arbitrary
val add : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> t * overflow_info
val sub : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> t * overflow_info
val mul : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> t * overflow_info
val div : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t -> t * overflow_info
val neg : ?no_ov:bool -> GoblintCil.Cil.ikind -> t -> t * overflow_info
val cast_to :
?suppress_ovwarn:bool ->
?torg:GoblintCil.Cil.typ ->
?no_ov:bool ->
GoblintCil.Cil.ikind ->
t ->
t * overflow_info
val of_int : GoblintCil.Cil.ikind -> int_t -> t * overflow_info
val of_interval :
?suppress_ovwarn:bool ->
GoblintCil.Cil.ikind ->
(int_t * int_t) ->
t * overflow_info
val starting :
?suppress_ovwarn:bool ->
GoblintCil.Cil.ikind ->
int_t ->
t * overflow_info
val ending :
?suppress_ovwarn:bool ->
GoblintCil.Cil.ikind ->
int_t ->
t * overflow_info
val shift_left : GoblintCil.Cil.ikind -> t -> t -> t * overflow_info
val shift_right : GoblintCil.Cil.ikind -> t -> t -> t * overflow_info