Frama-C API - Int
include module type of Integer with type t = Integer.t
type t = Integer.tEuclidean division (that returns a positive rem). Implemented by Z.ediv
Equivalent to C division if both operands are positive. Equivalent to a floored division if b > 0 (rounds downwards), otherwise rounds upwards. Note: it is possible that e_div (-a) b <> e_div a (-b).
e_div_rem a b returns (e_div a b, e_rem a b). Implemented by Z.ediv_rem
Remainder of the truncated division towards 0 (like in C99). Implemented by Z.rem
c_div_rem a b returns (c_div a b, c_rem a b). Implemented by Z.div_rem
val is_zero : t -> boolval is_one : t -> boolval is_even : t -> boolval zero : tval one : tval two : tval four : tval eight : tval sixteen : tval thirtytwo : tval onethousand : tval billion_one : tval minus_one : tval max_int64 : tval min_int64 : tval two_power_32 : tval two_power_64 : tval of_int : int -> tval of_int64 : Stdlib.Int64.t -> tval of_int32 : Stdlib.Int32.t -> tval to_int_exn : t -> intval to_int64_exn : t -> int64val to_int32_exn : t -> int32val to_int_opt : t -> int optionReturns Some i if the number can be converted to an int, or None otherwise.
val to_int64_opt : t -> int64 optionReturns Some i if the number can be converted to an int64, or None otherwise.
val to_int32_opt : t -> int32 optionReturns Some i if the number can be converted to an int32, or None otherwise.
val to_float : t -> floatval of_float : float -> tround_up_to_r m r modu is the smallest number n such that n>=m and n = r modulo modu
round_down_to_r m r modu is the largest number n such that n<=m and n = r modulo modu
val two_power_of_int : int -> tComputes 2^n
val power_int_positive_int_opt : int -> int -> t optionExponentiation
val popcount : t -> intval to_string : t -> stringval of_string : string -> tPrints the integer in hexadecimal format (replaces hexa optional argument of pretty from older versions).
Print binary format. Digits are output by blocs of 4 bits separated by ~sep with at least ~nbits total bits. If nbits is non positive, it will be ignored.
Positive values are prefixed with "0b" and negative values are printed as their 2-complement (lnot) with prefix "1b".
Print hexadecimal format. Digits are output by blocs of 16 bits (4 hex digits) separated by ~sep with at least ~nbits total bits. If nbits is non positive, it will be ignored.
Positive values are prefixed with "0x" and negative values are printed as their 2-complement (lnot) with prefix "1x".
include Lattice_type.Lattice_Value with type t := t
include Datatype.S with type t := t
include Datatype.S_no_copy with type t := t
include Datatype.Ty with type t := t
val packed_descr : Structural_descr.packPacked version of the descriptor.
val reprs : t listList of representants of the descriptor.
val hash : t -> intHash function: same spec than Hashtbl.hash.
val pretty : Stdlib.Format.formatter -> t -> unitPretty print each value in an user-friendly way.
val mem_project : (Project_skeleton.t -> bool) -> t -> boolmem_project f x must return true iff there is a value p of type Project.t in x such that f p returns true.
module Set : Datatype.Set with type elt = tmodule Map : Datatype.Map with type key = tmodule Hashtbl : Datatype.Hashtbl with type key = t