Returns true iff iset
is empty.
Create a new iset cursor pointing to the first element of iset, with an optional stack argument.
Return a new iset cursor pointing to the next element of
iset
after cur
. If cur
is already at
end-of-iset?
, the resulting cursor is as well.
Return the element of iset iset
at cursor cur
. If the
cursor is at end-of-iset?
, raises an error.
Returns true iff cur
is at the end of iset, such that
iset-ref
is no longer valid.
Returns the rank (i.e. index within the iset) of the given element, a number in [0, size). This can be used to compress an integer set to a minimal consecutive set of integets. Can also be thought of as the number of elements in iset smaller than element.
Selects the index-th element of iset starting at 0. The inverse
operation of iset-rank
.
Returns true iff all arguments contain the same elements. Always returns true if there are less than two arguments.
Returns true iff the arguments are monotonically increasing, that is each argument contains every element of all preceding arguments. Always returns true if there are less than two arguments.
Returns true iff the arguments are monotonically decreasing, that is each argument contains every element of all succeeding arguments. Always returns true if there are less than two arguments.
The fundamental iset iterator. Applies kons
to every
element of iset
along with an accumulator, starting with
knil
. Returns knil
if iset
is empty.
Runs proc
on every element of iset, discarding the results.
Returns a list of every integer in iset
in sorted
(increasing) order.
Returns the number of elements in iset
.