Memory_sig.With_Fixed_Size_Value
A fixed-size value is the type of values returned by C expressions or held in machine code registers, i.e. it is a bitvector containing an integer, pointer, floating point value, or contenation or extraction of other fixed-size values.
As it can both be an address or a bitvector, it contains the union of both interfaces.
include With_Address
module Context : Domain_sig.Context
module Scalar : Domain_sig.Base with module Context = Context
val satisfiable : Context.t -> boolean -> Smtbackend.Smtlib_sig.sat
val serialize :
size:int ->
Context.t ->
binary ->
Context.t ->
binary ->
'a Context.in_acc ->
(binary, 'a) Context.result
val bchoose :
size:int ->
Transfer_functions.Choice.t ->
Context.t ->
binary ->
binary
val bindex : size:int -> int -> Context.t -> binary -> Scalar.binary -> binary
val bisub : size:int -> Context.t -> binary -> binary -> Scalar.binary
val binary_unknown_typed : size:int -> Context.t -> Types.Ctypes.typ -> binary
val has_type : size:int -> Context.t -> Types.Ctypes.typ -> binary -> bool
val binary2scalar_binary : size:int -> Context.t -> binary -> Scalar.binary
val assume_type : size:int -> Context.t -> binary -> Types.Ctypes.typ -> unit
val add_global_scalar_symbol :
size:int ->
Context.t ->
string ->
Scalar.binary ->
unit
module Query : sig ... end
include Domain_sig.With_Binary
with type boolean := boolean
and type binary := binary
and module Context := Context
module Binary : Datatype_sig.S with type t = binary
val serialize_binary :
size:int ->
Context.t ->
binary ->
Context.t ->
binary ->
'a Context.in_acc ->
(binary, 'a) Context.result
include Domain_sig.With_Binary_Forward
with module Context := Context
and type binary := binary
and type boolean := boolean
module Binary_Forward :
Transfer_functions.Binary_Forward
with module Arity := Domain_sig.Context_Arity_Forward(Context)
and type boolean := boolean
and type binary := binary
val union :
Transfer_functions.Condition.t ->
Context.t ->
'a Context.in_tuple ->
'a Context.out_tuple