Module Cvalue_type.V


module V: sig .. end

include Locations.Location_Bytes
val pretty_c_assert : 'a -> 'b -> 'c -> 'd -> unit
val project : 'a -> 'a
val is_imprecise : z -> bool
val is_topint : t -> bool
val is_bottom : t -> bool
val is_isotropic : z -> bool
val contains_zero : Locations.Location_Bytes.z -> bool
val contains_non_zero : t -> bool
val of_char : char -> t
exception Not_based_on_null
val project_ival : t -> Ival.t
val subdiv_float_interval : t -> t * t
val compare_bound : (Ival.t -> Ival.t -> 'a) -> t -> t -> 'a
val compare_min_float : t -> t -> int
val compare_max_float : t -> t -> int
val compare_min_int : t -> t -> int
val compare_max_int : t -> t -> int
val filter_comparison : (Ival.t -> Ival.t -> Ival.t) -> z -> cond_expr:t -> z
val filter_comparison_float : (Ival.t -> Ival.t -> Ival.t) -> t -> cond_expr:t -> t
val filter_le : z -> cond_expr:t -> z
val filter_ge : z -> cond_expr:t -> z
val filter_lt : z -> cond_expr:t -> z
val filter_gt : z -> cond_expr:t -> z
val filter_le_float : t -> cond_expr:t -> t
val filter_ge_float : t -> cond_expr:t -> t
val filter_lt_float : bool -> typ_loc:Cil_types.typ -> t -> cond_expr:t -> t
val filter_gt_float : bool -> typ_loc:Cil_types.typ -> t -> cond_expr:t -> t
val pretty : Format.formatter -> z -> unit
val find_exact_base_without_offset : z -> Base.t list * bool
val inject_int : Abstract_interp.Int.t -> t
val interp_boolean : contains_zero:bool -> contains_non_zero:bool -> t
val add : t -> Locations.Location_Bytes.t -> Locations.Location_Bytes.t
val add_untyped : Int_Base.t -> Locations.Location_Bytes.t -> Locations.Location_Bytes.t -> t
val check_equal : bool -> t -> t -> t
val compare_min_max : Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> int
val compare_max_min : Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> int
val do_le : Abstract_interp.Int.t option ->
Abstract_interp.Int.t option ->
Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> t
val do_ge : Abstract_interp.Int.t option ->
Abstract_interp.Int.t option ->
Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> t
val do_lt : Abstract_interp.Int.t option ->
Abstract_interp.Int.t option ->
Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> t
val do_gt : Abstract_interp.Int.t option ->
Abstract_interp.Int.t option ->
Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> t
val comparisons : 'a ->
(Abstract_interp.Int.t option ->
Abstract_interp.Int.t option ->
Abstract_interp.Int.t option -> Abstract_interp.Int.t option -> t) ->
t -> t -> t
val cast_float : t -> bool * bool * t
val cast : with_alarms:CilE.warn_mode ->
size:Abstract_interp.Int.t -> signed:bool -> t -> t
val import_function : topify_arith_origin:(t -> t) ->
with_alarms:CilE.warn_mode ->
string -> (Ival.t -> Ival.t -> Ival.t) -> t -> t -> t
val arithmetic_function : with_alarms:CilE.warn_mode ->
string -> (Ival.t -> Ival.t -> Ival.t) -> t -> t -> t
val unary_arithmetic_function : with_alarms:CilE.warn_mode -> string -> (Ival.t -> Ival.t) -> t -> t
val cast_float_to_int : signed:bool -> size:int -> t -> bool * bool * t
val cast_int_to_float : with_alarms:CilE.warn_mode -> Ival.Float_abstract.rounding_mode -> t -> t
val div : with_alarms:CilE.warn_mode -> t -> t -> t
val c_rem : with_alarms:CilE.warn_mode -> t -> t -> t
val shift_left : with_alarms:CilE.warn_mode -> size:int -> t -> t -> t
val oper_on_values : with_alarms:CilE.warn_mode ->
string ->
(Abstract_interp.Int.t -> Abstract_interp.Int.t -> Abstract_interp.Int.t) ->
t -> t -> t
val shift_right : with_alarms:CilE.warn_mode -> size:int -> signed:'a -> t -> t -> t
val bitwise_and : signed:bool -> size:int -> t -> t -> t
val bitwise_or : size:int -> t -> t -> t
val extract_bits : start:Abstract_interp.Int.t -> stop:Abstract_interp.Int.t -> t -> bool * t
val big_endian_merge_bits : conflate_bottom:'a ->
total_length:int ->
length:Abstract_interp.Int.t ->
value:t -> offset:Abstract_interp.Int.t -> t -> t
val little_endian_merge_bits : conflate_bottom:bool ->
total_length:int -> value:t -> offset:Abstract_interp.Int.t -> t -> t
val all_values : size:Abstract_interp.Int.t -> t -> bool
val anisotropic_cast : size:Abstract_interp.Int.t -> t -> t
val create_all_values : modu:Abstract_interp.Int.t -> signed:bool -> size:int -> t
val bitwise_or : size:int -> t -> t -> t
val shift_left : with_alarms:CilE.warn_mode -> size:int -> t -> t -> t
val has_sign_problems : t -> bool