module Make: functor (
V
:
Lattice_With_Isotropy.S
) ->
sig
.. end
Parameters: |
V |
: |
Lattice_With_Isotropy.S
|
|
type
t
type
y
val empty : t
val is_empty : t -> bool
val equal_vv : New_offsetmap.Int.t * New_offsetmap.Int.t * V.t ->
New_offsetmap.Int.t * New_offsetmap.Int.t * V.t -> bool
val equal : t -> t -> bool
val get_max : t -> New_offsetmap.Int.t
exception Empty_tree
val fold_offset : (New_offsetmap.Int.t ->
int64 -> New_offsetmap.Int.t -> New_offsetmap.Int.t -> V.t -> 'a -> 'a) ->
New_offsetmap.Int.t -> t -> 'a -> 'a
val fold : (New_offsetmap.Int.t ->
int64 -> New_offsetmap.Int.t -> New_offsetmap.Int.t -> V.t -> 'a -> 'a) ->
t -> 'a -> 'a
val iter_offset : (New_offsetmap.Int.t ->
int64 -> New_offsetmap.Int.t -> New_offsetmap.Int.t -> V.t -> 'a) ->
New_offsetmap.Int.t -> t -> unit
val iter : (New_offsetmap.Int.t ->
int64 -> New_offsetmap.Int.t -> New_offsetmap.Int.t -> V.t -> 'a) ->
t -> unit
Common folding and iteration operations
val pretty_node : Format.formatter -> int64 -> int64 -> int64 -> int64 -> V.t -> unit
val pretty_offset : int64 -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val pretty_debug_offset : int64 -> Format.formatter -> t -> unit
val pretty_debug : Format.formatter -> t -> unit
val print_offset : int64 -> t -> unit
val fprint : Format.formatter -> t -> unit
val print : t -> unit
exception Interval_not_found of New_offsetmap.Int.t * New_offsetmap.Int.t
val subtree_from_interval : New_offsetmap.Int.t ->
New_offsetmap.Int.t ->
New_offsetmap.Int.t ->
t -> New_offsetmap.Int.t * t
val make_node : int64 ->
New_offsetmap.Int.t ->
New_offsetmap.Int.t ->
t ->
New_offsetmap.Int.t ->
t ->
New_offsetmap.Int.t ->
New_offsetmap.Int.t -> V.t -> int64 * t
val add_node : int64 ->
int64 ->
int64 ->
New_offsetmap.Int.t ->
V.t -> int64 -> t -> int64 * t
val is_included_generic_exn : (V.t -> V.t -> 'a) ->
New_offsetmap.Int.t ->
t -> New_offsetmap.Int.t -> t -> unit
val is_included : New_offsetmap.Int.t ->
t -> New_offsetmap.Int.t -> t -> bool
val join : t -> t -> int64 * t
val find_ival : validity:Base.validity ->
with_alarms:CilE.warn_mode ->
Ival.t -> t -> Abstract_interp.Int.t -> V.t
Find a set of intervals in a given rangemap
val update_ival : int64 ->
int64 ->
exact:bool ->
mn:New_offsetmap.Int.t ->
mx:New_offsetmap.Int.t ->
period:New_offsetmap.Int.t ->
size:New_offsetmap.Int.t ->
New_offsetmap.Int.t ->
t -> V.t -> New_offsetmap.Int.t * t
Update a set of intervals in a given rangemap rooted a given offset.
all offsets starting from mn ending in mx must be updated
with value v, every period with a given size.
Exact or imprecise update can be requested.
Return a pair: offset, tree where the tree root begins at offset