Module InferModules.Itv

module F = Format
module Counter : sig ... end
module Boolean : sig ... end
module Symbol : sig ... end
module SymbolMap : InferStdlib.PrettyPrintable.PPMap with type PPMap.key = Symbol.t
module Bound : sig ... end
module NonNegativePolynomial : sig ... end
module ItvRange : sig ... end
module ItvPure : sig ... end
include module type of sig ... end
val (<=) : lhs:astate ‑> rhs:astate ‑> bool
val join : astate ‑> astate ‑> astate
val widen : prev:astate ‑> next:astate ‑> num_iters:int ‑> astate
val pp : InferModules__AbstractDomain.F.formatter ‑> astate ‑> unit
val empty : astate
val is_empty : astate ‑> bool
type t = astate
include sig ... end
val compare : t ‑> t ‑> int
val bot : t

_|_

val m1_255 : t

-1, 255

val nat : t

0, +oo

val one : t

1

val pos : t

1, +oo

val top : t

-oo, +oo

val zero : t

0

val of_bool : Boolean.t ‑> t
val of_int : int ‑> t
val of_int_lit : InferIR.IntLit.t ‑> t
val of_int64 : InferStdlib.IStd.Int64.t ‑> t
val make_sym : ?⁠unsigned:bool ‑> InferIR.Typ.Procname.t ‑> Counter.t ‑> t
val lb : t ‑> Bound.t
val ub : t ‑> Bound.t
val is_false : t ‑> bool
val neg : t ‑> t
val normalize : t ‑> t
val get_symbols : t ‑> Symbol.t list
val eq : t ‑> t ‑> bool
val le : lhs:t ‑> rhs:t ‑> bool
val (lnot) : t ‑> Boolean.t
val range : t ‑> ItvRange.t
val div : t ‑> t ‑> t
val minus : t ‑> t ‑> t
val mult : t ‑> t ‑> t
val plus : t ‑> t ‑> t
val shiftlt : t ‑> t ‑> t
val shiftrt : t ‑> t ‑> t
val eq_sem : t ‑> t ‑> Boolean.t
val ge_sem : t ‑> t ‑> Boolean.t
val gt_sem : t ‑> t ‑> Boolean.t
val land_sem : t ‑> t ‑> Boolean.t
val le_sem : t ‑> t ‑> Boolean.t
val lor_sem : t ‑> t ‑> Boolean.t
val lt_sem : t ‑> t ‑> Boolean.t
val min_sem : t ‑> t ‑> t
val mod_sem : t ‑> t ‑> t
val ne_sem : t ‑> t ‑> Boolean.t
val prune_eq_zero : t ‑> t
val prune_ne_zero : t ‑> t
val prune_comp : InferIR.Binop.t ‑> t ‑> t ‑> t
val prune_eq : t ‑> t ‑> t
val prune_ne : t ‑> t ‑> t
val subst : t ‑> Bound.t AbstractDomain.Types.bottom_lifted SymbolMap.t ‑> t