module Int_set:sig
..end
Note that when n gets very large, in addition to poor performance, this behavior may
throw exceptions since some of the code is not tail-recursive.
type
t
val empty : t
val to_string : t -> string
val add_range : t -> int -> int -> t
add_range t i j
add all the numbers between i
and j
(inclusive) to the set. Note
that it doesn't matter which order i
and j
are specified in, the effect is the
same.val add : t -> int -> t
add t i
add i
to the setval mem : t -> int -> bool
mem t i
test whether i
is a member of the setval ranges : t -> (int * int) list
ranges t
return a list of all ranges that make up the setval max : t -> int option
max t
the biggest number in the set (if it exists)val min : t -> int option
min t
the smallest number in the set (if it exists)