Sarek_codegen.Sarek_ir_int_range
Interval arithmetic on int32 values (specs/f16-narrowing-barrier.md §2.1). A range contains every value an int32 expression can take; an operation that may wrap gives full.
full
type range = {
lo : int;
hi : int;
}
val full : range
Every int32 value.
val point : int -> range
val join_range : range -> range -> range
val binop_range : Sarek_ir_types.binop -> range -> range -> range
val unop_range : Sarek_ir_types.unop -> range -> range