This package implements sets of (integer 0 *) as arrays of bitsets. (Inspired by Modula-2 cocktail-9309/reuse/src/Set.md) License: AGPL3 Copyright Pascal J. Bourguignon 2004 - 2015 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>
ASSIGN
ASSIGN-ELEMENT
ASSIGN-EMPTY
bset |
structure |
A set of small integers, implemented as a vector of words.
BSET-TO-LIST
CARDINAL
COMPLEMENT
(copy-bset original) |
function |
RETURN: A new copy of the ORIGINAL bset.
DIFFERENCE
EMPTYP
EXCLUDE
EXISTS
EXISTS-1
EXTRACT
FOR-ALL
FOR-ALL-DO
INCLUDE
INTERSECTION
IS-ELEMENT
IS-EMPTY
IS-EQUAL
IS-NOT-EQUAL
IS-STRICT-SUBSET
IS-SUBSET
(list-to-bset list) |
function |
PRE: LIST is a list of positive integer. RETURN: A new bset containing all the elements in the list.
(make-bset max-size) |
function |
PRE: (<= 0 max-size) POST: (<= max-size (size (make-bset max-size))) RETURN: A new bset allocated to hold at least elements from 0 to max-size.
MAXIMUM
MINIMUM
(read-bset stream bset) |
function |
DO: Accumulate in BSET the elements read from the stream. RETURN: BSET.
(resize-bset bset max-size) |
function |
PRE: (<= 0 max-size) POST: (<= max-size (size (resize-bset bset max-size))) (if (< max-size (size old-bset)) (is-equal bset (intersection old-bset (complement (make-bset max-size)))) (is-equal bset old-bset)) DO: Reallocate bset to have it able to hold at least elements from 0 to max-size. RETURN: bset
SELECT
SIZE
STRICT-SUBSETP
SUBSETP
SYM-DIFF
UNION
(write-bset stream bset) |
function |
DO: Writes to the stream the elements in BSET. RETURN: BSET.