Module Cvalue_forward

module Cvalue_forward: sig .. end
Forward operations on Cvalue.V.t

val are_comparable : Abstract_interp.Comp.t -> Cvalue.V.t -> Cvalue.V.t -> bool
val assume_non_zero : Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
val assume_bounded : Abstract_value.bound_kind ->
Abstract_value.bound -> Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
val assume_not_nan : assume_finite:bool ->
Cil_types.fkind -> Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
val assume_pointer : Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
val assume_comparable : Abstract_value.pointer_comparison ->
Cvalue.V.t -> Cvalue.V.t -> (Cvalue.V.t * Cvalue.V.t) Abstract_value.truth
val forward_binop_int : typ:Cil_types.typ ->
Cvalue.V.t -> Cil_types.binop -> Cvalue.V.t -> Cvalue.V.t
val forward_binop_float : Fval.kind -> Cvalue.V.t -> Cil_types.binop -> Cvalue.V.t -> Cvalue.V.t
val forward_unop : Cil_types.typ -> Cil_types.unop -> Cvalue.V.t -> Cvalue.V.t
val rewrap_integer : Eval_typ.integer_range -> Cvalue.V.t -> Cvalue.V.t
val reinterpret : Cil_types.typ -> Cvalue.V.t -> Cvalue.V.t
val cast_float_to_int : Eval_typ.integer_range -> Cvalue.V.t -> Cvalue.V.t
val forward_cast : src_type:Eval_typ.scalar_typ ->
dst_type:Eval_typ.scalar_typ -> Cvalue.V.t -> Cvalue.V.t
val make_volatile : ?typ:Cil_types.typ -> Cvalue.V.t -> Cvalue.V.t
make_volatile ?typ v makes the value v more general (to account for external modifications), whenever typ is None or when it has type qualifier volatile.
val eval_float_constant : float -> Cil_types.fkind -> string option -> Cvalue.V.t