package frama-c
Install
dune-project
Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
TTristan Le Gall
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=9c1b14a689ac8ccda9e827c2eede13bb8d781fb8e4e33c1b5360408e312127d2
doc/frama-c.kernel/Frama_c_kernel/Abstract_interp/Int/index.html
Module Abstract_interp.Int
include module type of Integer with type t = Integer.t
type 'a formatter = Format.formatter -> 'a -> unittype 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 to_int : t -> intval to_int64 : t -> int64val to_int32 : t -> int32val 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 : int -> int -> tExponentiation
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 preffixed 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 : 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