Module Lattice_Interval_Set.Int_Intervals

module Int_Intervals: sig .. end

include Lattice_type.Full_Lattice
include Lattice_type.With_Error_Top
val id : t -> int
val is_top : t -> bool
val inject_bounds : Abstract_interp.Int.t -> Abstract_interp.Int.t -> t
val inject : Lattice_Interval_Set.itv list -> t
val from_ival_size : Ival.t -> Int_Base.t -> t
Conversion from an ival, which represents the beginning of each interval. The size if taken from the Int_Base.t argument. If the result contains more than -plevel arguments, it is automatically approximated.
exception Not_a_set
val project_set : t -> Lattice_Interval_Set.itv list
may raise Not_a_set
val project_singleton : t -> Lattice_Interval_Set.itv option
val fold : (Lattice_Interval_Set.itv -> 'a -> 'a) -> t -> 'a -> 'a
Iterators
val pretty_typ : Cil_types.typ option -> t Pretty_utils.formatter
Pretty-printer that supposes the intervals are subranges of a C type, and use the type to print nice offsets
val compare_itvs : t -> t -> int
Comparison that lifts the standard order between two intervals to lattices. If you want constant-time comparison, use compare.