Module type Mvalues.Values


module type Values = sig .. end

include Mvalues.Model

type value =
| V_int of Ctypes.c_int * F.integer
| V_float of Ctypes.c_float * F.real
| V_pointer of Ctypes.c_object * loc
| V_record of Cil_types.compinfo * F.record
| V_union of Cil_types.compinfo * F.urecord
| V_array of Ctypes.arrayinfo * F.array
The internal representation of an ACSL value
val pp_value : Format.formatter -> value -> unit

Conversion between internal representation of ACSL value and FOL term
val equal : Ctypes.c_object -> F.abstract -> F.abstract -> F.pred
val eq_array : Ctypes.arrayinfo -> F.array -> F.array -> F.pred
val eq_record : Cil_types.compinfo -> F.record -> F.record -> F.pred
val logic_of_value : value -> F.abstract
val value_of_logic : Ctypes.c_object -> F.abstract -> value
val tau_of_object : Ctypes.c_object -> Formula.tau
val tau_of_object_array : Ctypes.c_object -> int -> Formula.tau
val tau_of_logic_type : Cil_types.logic_type -> Formula.tau
val pp_tau : Format.formatter -> Formula.tau -> unit
val symb_is_init : Ctypes.c_object -> string option
val symb_is_init_range : Ctypes.c_object -> string option