Up
# Module Int_set

### Signature

An implementation of compressed integer sets using lists of integer ranges. Operations such as adding and membership are O(n) where n is the number of contigous ranges in the set. For data that is mostly serial, n should remain very small.

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.

val
empty : t

val
to_string : t -> string

val
mem : t -> int -> bool

`mem t i`

test whether `i`

is a member of the set

val
ranges : t -> (int
* int) list

`ranges t`

return a list of all ranges that make up the set

val
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)