#include <bitset.h>
Public Member Functions | |
| BitSetBase () | |
| BitSetBase (unsigned long b) | |
| Constructor initializing first word to b and second word to 0. | |
| BitSetBase (unsigned long b[2]) | |
| ~BitSetBase () | |
| template<size_t m> | |
| BitSetBase (const BitSet< m > &b) | |
| template<size_t m> | |
| BitSetBase< 2 > & | operator= (const BitSet< m > &b) |
| bool | operator== (const BitSetBase< 2 > &b) const |
| bool | operator!= (const BitSetBase< 2 > &b) const |
| bool | operator< (const BitSetBase< 2 > &b) const |
| bool | operator[] (size_t j) const |
| bool | any () const |
| bool | any (const BitSetBase< 2 > &b) const |
| iterator | begin () const |
| Not yet implemented. | |
| bool | contains (const BitSetBase< 2 > &b) const |
| size_t | count () const |
| size_t | firstBit () const |
| size_t | lastBit () const |
| bool | none () const |
| size_t | position (size_t j) const |
| Number of set bits in position < j. | |
| bool | scalarProduct (const BitSetBase< 2 > &b) const |
| bool | test (size_t j) const |
| unsigned long | to_ulong () const |
| unsigned long | to_ulong1 () const |
| BitSetBase< 2 > & | operator^= (const BitSetBase< 2 > &b) |
| BitSetBase< 2 > & | operator|= (const BitSetBase< 2 > &b) |
| BitSetBase< 2 > & | operator &= (const BitSetBase< 2 > &b) |
| BitSetBase< 2 > & | operator<<= (size_t c) |
| BitSetBase< 2 > & | operator>>= (size_t c) |
| BitSetBase< 2 > & | andnot (const BitSetBase< 2 > &b) |
| BitSetBase< 2 > & | flip () |
| BitSetBase< 2 > & | flip (size_t j) |
| BitSetBase< 2 > & | permute (const setutils::Permutation &a) |
| BitSetBase< 2 > & | reset () |
| BitSetBase< 2 > & | reset (size_t j) |
| BitSetBase< 2 > & | set () |
| BitSetBase< 2 > & | set (size_t j) |
| BitSetBase< 2 > & | set (size_t j, bool b) |
| BitSetBase< 2 > & | slice (const BitSetBase< 1 > &c) |
| void | swap (BitSetBase< 2 > &source) |
| BitSetBase< 2 > & | truncate (size_t m) |
Private Attributes | |
| unsigned long | d_bits [2] |
| Array of two words that holds the BitSet. | |
The BitSet class BitSet<n>, for n between machine word length + 1 and twice machine word length, is a derived class of BitSetBase<2>. Should not be instantiated on a 32 bit machine with RANK_MAX=16.
Definition at line 400 of file bitset.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not yet implemented.
|
|
||||||||||
|
|
|
|
|
|
|
Constructor initializing first word to b and second word to 0. [added by DV to let the software compile with RANK_MAX equal to the machine word size.] The class BitSet assumes that BitSetBase has a constructor with argument an unsigned long. This is slightly sloppy coding, since BitSetBase<2> is most naturally constructed using an array of two unsigned longs (as in the next constructor). This constructor is actually used in the present software only to initialize the first one or two bits (for example in the definition of the manipulator Status::set(size_t,Value) in gradings.h). So this crude construction seems to work. |
|
|
|
|
|
|
|
|
Definition at line 499 of file bitset.h. References atlas::bits::bitCount(). |
|
|
Definition at line 503 of file bitset.h. References atlas::bits::firstBit(). |
|
|
|
|
|
|
|
|
Definition at line 510 of file bitset.h. References atlas::bits::lastBit(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
Definition at line 458 of file bitset.h. References atlas::bitset::BitSet< n >::to_ulong(), and atlas::bitset::BitSet< n >::to_ulong1(). |
|
|
|
|
|
We have to make sure that shift by constants::longBits yields 0. Copy bottom of d_bits[1] onto top of d_bits[0]. |
|
|
Definition at line 479 of file bitset.h. References test(). |
|
|
|
|
|
|
|
|
|
|
|
Number of set bits in position < j. If j is set, this is the position of j in the collection of set bits. Definition at line 526 of file bitset.h. References atlas::bits::bitCount(). |
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
Definition at line 663 of file bitset.h. References atlas::bitset::set(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Array of two words that holds the BitSet.
|
1.3.9.1