Frama-C:
Plug-ins:
Libraries:

Frama-C API - Cint

Integer Arithmetic Model

val of_real : Ctypes.c_int -> Lang.F.unop
val convert : Ctypes.c_int -> Lang.F.unop

Independent from model

val to_integer : Lang.F.unop
val of_integer : Ctypes.c_int -> Lang.F.unop
val to_cint : Lang.lfun -> Ctypes.c_int

Raises Not_found if not.

val is_cint : Lang.lfun -> Ctypes.c_int

Raises Not_found if not.

type model =
  1. | Natural
  2. | Machine
val configure : model -> WpContext.rollback
val current : unit -> model

Dependent on model

val downcast : Ctypes.c_int -> Lang.F.unop

Dependent on model

val l_not : Lang.F.unop
val l_and : Lang.F.binop
val l_xor : Lang.F.binop
val l_or : Lang.F.binop
val l_lsl : Lang.F.binop
val l_lsr : Lang.F.binop
val f_lnot : Lang.lfun Lang.extern
val f_land : Lang.lfun Lang.extern
val f_lxor : Lang.lfun Lang.extern
val p_bit_test : Lang.lfun Lang.extern
val f_bitwised : Lang.lfun Lang.extern list

All bitwise operators

val is_bitwised : Lang.lfun -> bool
val bit_test : Lang.F.term -> Lang.F.term -> Lang.F.pred
val bit_testk : Lang.F.term -> int -> Lang.F.pred

Matchers

val match_power2 : Lang.F.term -> Lang.F.term
val match_power2_minus1 : Lang.F.term -> Lang.F.term

Simplifiers

val is_cint_simplifier : Lang.simplifier

Remove the is_cint in formulas that are redundant with other conditions.

val mask_simplifier : Lang.simplifier
val is_positive_or_null : Lang.F.term -> bool