sig
type precise_offset
val pretty_offset : Format.formatter -> Precise_locs.precise_offset -> unit
val offset_zero : Precise_locs.precise_offset
val offset_bottom : Precise_locs.precise_offset
val offset_top : Precise_locs.precise_offset
val is_bottom_offset : Precise_locs.precise_offset -> bool
val imprecise_offset : Precise_locs.precise_offset -> Ival.t
val shift_offset_by_singleton :
Integer.t -> Precise_locs.precise_offset -> Precise_locs.precise_offset
val shift_offset :
Ival.t -> Precise_locs.precise_offset -> Precise_locs.precise_offset
type precise_location_bits
val pretty_loc_bits :
Format.formatter -> Precise_locs.precise_location_bits -> unit
val bottom_location_bits : Precise_locs.precise_location_bits
val inject_location_bits :
Locations.Location_Bits.t -> Precise_locs.precise_location_bits
val combine_base_precise_offset :
Base.t ->
Precise_locs.precise_offset -> Precise_locs.precise_location_bits
val combine_loc_precise_offset :
Locations.Location_Bits.t ->
Precise_locs.precise_offset -> Precise_locs.precise_location_bits
val imprecise_location_bits :
Precise_locs.precise_location_bits -> Locations.Location_Bits.t
type precise_location
val loc_size : Precise_locs.precise_location -> Int_Base.t
val make_precise_loc :
Precise_locs.precise_location_bits ->
size:Int_Base.t -> Precise_locs.precise_location
val imprecise_location :
Precise_locs.precise_location -> Locations.location
val loc_bottom : Precise_locs.precise_location
val is_bottom_loc : Precise_locs.precise_location -> bool
val fold :
(Locations.location -> 'a -> 'a) ->
Precise_locs.precise_location -> 'a -> 'a
val enumerate_valid_bits :
for_writing:bool -> Precise_locs.precise_location -> Locations.Zone.t
val valid_cardinal_zero_or_one :
for_writing:bool -> Precise_locs.precise_location -> bool
val cardinal_zero_or_one : Precise_locs.precise_location -> bool
val pretty_loc : Precise_locs.precise_location Pretty_utils.formatter
end