Module Location.LSetInEx


module LSetInEx: LowerUpperNeg.S 
  with type elm = LSet.t
Module that is the image of location set variables. You can collect positive, negative and upper bound locations. The module will merge then as needed using the union function.

type elm 
type t = [ `Lower of elm
| `LowerNeg of elm * elm
| `LowerUpper of elm * elm
| `Neg of elm
| `Upper of elm ]
These are the alternatives of a lower-upper value
val create_lower : elm -> t
create a lower bound
val create_upper : elm -> t
creates an upper bound
val create_neg : elm -> t
creates a negative information
val create_lowerupper : elm -> elm -> t
create a lower and an upper bound
val create_lowerneg : elm -> elm -> t
create a lower bound and a negative information
val compare : t -> t -> int
compare to values
val merge : t -> t -> t
unions two LSetInEx.t values
val get_exact : t -> elm option
If the upper and lower bound are equal, then the exact value is returned. Otherwise, None indicates that there are more than one possibilities for this binding.
val string_of : t -> string
Returns a string representation of a LSetInEx.t value