Bit-set. More...
#include <extensional.hh>
Public Member Functions | |
BitSet (Space &home, unsigned int n) | |
Initialize bit set for a number of words n. | |
template<class OldIndexType > | |
BitSet (Space &home, const BitSet< OldIndexType > &bs) | |
Initialize during cloning. | |
BitSet (Space &home, const TinyBitSet< 1U > &tbs) | |
Initialize during cloning (unused) | |
BitSet (Space &home, const TinyBitSet< 2U > &tbs) | |
Initialize during cloning (unused) | |
BitSet (Space &home, const TinyBitSet< 3U > &tbs) | |
Initialize during cloning (unused) | |
BitSet (Space &home, const TinyBitSet< 4U > &tbs) | |
Initialize during cloning (unused) | |
unsigned int | limit (void) const |
Get the limit. | |
bool | empty (void) const |
Check whether the set is empty. | |
void | flush (void) |
Make the set empty. | |
unsigned int | width (void) const |
Return the highest active index. | |
void | clear_mask (BitSetData *mask) const |
Clear the first limit words in mask. | |
void | add_to_mask (const BitSetData *b, BitSetData *mask) const |
Add to mask. | |
template<bool sparse> | |
void | intersect_with_mask (const BitSetData *mask) |
Intersect with mask, sparse mask if sparse is true. | |
void | intersect_with_masks (const BitSetData *a, const BitSetData *b) |
Intersect with the "or" of and b. | |
bool | intersects (const BitSetData *b) const |
Check if has a non-empty intersection with the set. | |
void | nand_with_mask (const BitSetData *b) |
Perform "nand" with b. | |
unsigned long long int | ones (void) const |
Return the number of ones. | |
unsigned long long int | ones (const BitSetData *b) const |
Return the number of ones after intersection with b. | |
unsigned long long int | bits (void) const |
Return an upper bound on the number of bits. | |
unsigned int | words (void) const |
Return the number of required bit set words. | |
unsigned int | size (void) const |
Return the number of required bit set words. | |
Protected Member Functions | |
void | replace_and_decrease (IndexType i, BitSetData w) |
Replace the i th word with w, decrease limit if w is zero. | |
Protected Attributes | |
IndexType | _limit |
Limit. | |
IndexType * | _index |
Indices. | |
BitSetData * | _bits |
Words. | |
Bit-set.
Definition at line 235 of file extensional.hh.
|
inline |
Initialize bit set for a number of words n.
Definition at line 77 of file bit-set.hpp.
|
inline |
Initialize during cloning.
Definition at line 91 of file bit-set.hpp.
|
inline |
Initialize during cloning (unused)
Definition at line 112 of file bit-set.hpp.
|
inline |
Initialize during cloning (unused)
Definition at line 117 of file bit-set.hpp.
|
inline |
Initialize during cloning (unused)
Definition at line 122 of file bit-set.hpp.
|
inline |
Initialize during cloning (unused)
Definition at line 127 of file bit-set.hpp.
|
inlineprotected |
Replace the i th word with w, decrease limit if w is zero.
Definition at line 133 of file bit-set.hpp.
|
inline |
Get the limit.
Definition at line 42 of file bit-set.hpp.
|
inline |
Check whether the set is empty.
Definition at line 48 of file bit-set.hpp.
|
inline |
Make the set empty.
Definition at line 105 of file bit-set.hpp.
|
inline |
Return the highest active index.
Definition at line 66 of file bit-set.hpp.
|
inline |
Clear the first limit words in mask.
Definition at line 149 of file bit-set.hpp.
|
inline |
Add to mask.
Definition at line 159 of file bit-set.hpp.
|
inline |
Intersect with mask, sparse mask if sparse is true.
Definition at line 168 of file bit-set.hpp.
|
inline |
Intersect with the "or" of and b.
Definition at line 191 of file bit-set.hpp.
|
inline |
Check if has a non-empty intersection with the set.
Definition at line 219 of file bit-set.hpp.
|
inline |
Perform "nand" with b.
Definition at line 207 of file bit-set.hpp.
|
inline |
Return the number of ones.
Definition at line 238 of file bit-set.hpp.
|
inline |
Return the number of ones after intersection with b.
Definition at line 228 of file bit-set.hpp.
|
inline |
Return an upper bound on the number of bits.
Definition at line 247 of file bit-set.hpp.
|
inline |
Return the number of required bit set words.
Definition at line 54 of file bit-set.hpp.
|
inline |
Return the number of required bit set words.
Definition at line 60 of file bit-set.hpp.
|
protected |
Limit.
Definition at line 240 of file extensional.hh.
|
protected |
Indices.
Definition at line 242 of file extensional.hh.
|
protected |
Words.
Definition at line 244 of file extensional.hh.