BitSetEfficient bit sets.
A bitset is an array of boolean values that can be accessed with indexes like an array but provides a better memory usage (divided by 8) for a very small speed trade-off.
When a negative bit value is used for one of the BitSet functions, this exception is raised with the name of the function.
val empty : unit -> tCreate an empty bitset of size 0, the bitset will automatically expand when needed.
val create : int -> tCreate an empty bitset with an initial size (in number of bits).
val set : t -> int -> unitset s n sets the nth-bit in the bitset s to true.
val unset : t -> int -> unitunset s n sets the nth-bit in the bitset s to false.
val put : t -> bool -> int -> unitput s v n sets the nth-bit in the bitset s to v.
val toggle : t -> int -> unittoggle s n changes the nth-bit value in the bitset s.
val is_set : t -> int -> boolis_set s n returns true if nth-bit in the bitset s is set, or false otherwise.
compare s1 s2 compares two bitsets. Highest bit indexes are compared first.
equals s1 s2 returns true if, and only if, all bits values in s1 are the same as in s2.
val count : t -> intcount s returns the number of bits set in the bitset s.
differentiate_sym s t sets s to the symmetrical difference of the sets s and t.