sig
type t = Abstract_interp.Int.t
val pretty : Format.formatter -> Ival.Widen_Hints.V.t -> unit
val compare : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> int
val hash : Ival.Widen_Hints.V.t -> int
module Datatype :
sig
type t = t
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project : ((Project.project -> bool) -> t -> bool) option ref
end
val gt : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> bool
val le : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> bool
val ge : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> bool
val lt : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> bool
val eq : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> bool
val add :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val sub :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val mul :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val native_div :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val rem :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val pos_div :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val c_div :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val c_rem :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val cast :
size:Ival.Widen_Hints.V.t ->
signed:bool -> value:Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val abs : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val zero : Ival.Widen_Hints.V.t
val one : Ival.Widen_Hints.V.t
val two : Ival.Widen_Hints.V.t
val four : Ival.Widen_Hints.V.t
val minus_one : Ival.Widen_Hints.V.t
val is_zero : Ival.Widen_Hints.V.t -> bool
val is_one : Ival.Widen_Hints.V.t -> bool
val equal : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> bool
val pgcd :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val ppcm :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val min :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val max :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val length :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val of_int : int -> Ival.Widen_Hints.V.t
val of_float : float -> Ival.Widen_Hints.V.t
val of_int64 : Int64.t -> Ival.Widen_Hints.V.t
val to_int : Ival.Widen_Hints.V.t -> int
val to_float : Ival.Widen_Hints.V.t -> float
val neg : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val succ : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val pred : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val round_up_to_r :
min:Ival.Widen_Hints.V.t ->
r:Ival.Widen_Hints.V.t ->
modu:Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val round_down_to_r :
max:Ival.Widen_Hints.V.t ->
r:Ival.Widen_Hints.V.t ->
modu:Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val pos_rem :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val shift_left :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val shift_right :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val fold :
(Ival.Widen_Hints.V.t -> 'a -> 'a) ->
inf:Ival.Widen_Hints.V.t ->
sup:Ival.Widen_Hints.V.t -> step:Ival.Widen_Hints.V.t -> 'a -> 'a
val logand :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val logor :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val logxor :
Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val lognot : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val power_two : int -> Ival.Widen_Hints.V.t
val two_power : Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
val extract_bits :
with_alarms:CilE.warn_mode ->
start:Ival.Widen_Hints.V.t ->
stop:Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t -> Ival.Widen_Hints.V.t
end