Functor Offsetmap_sig.Make_Narrow

module Make_Narrow: 
functor (X : sig
include Lattice_type.With_Top
include Lattice_type.With_Narrow
end-> sig .. end
Parameters:
X : sig include Lattice_type.With_Top with type t := v include Lattice_type.With_Narrow with type t := v end

val narrow : t -> t -> t
Over-approximation of the intersection of abstract values, without considering (bitwise) reinterpretations. In particular, values with equivalent representations (e.g. -1 and 0xFF on 8 bits) may be considered different, leading to empty intersections. This may result in unsound results; the function narrow_reinterpret below should be preferred in general.
val narrow_reinterpret : t -> t -> t
Variant of the function above that bitwise-reinterprets values before performing the intersection (in order to get normal forms). This may lead to situations where the result is not included in the arguments, but this function should be preferred to narrow.