# include <stdhdrs.h> # include "bitarray.h" #define NBW (8 * sizeof(BitArray::BitBlock)) #define MASK (NBW-1) BitArray::BitArray( BitArray::Index nBits ) : w(new BitBlock[1+nBits/NBW]) { BitBlock *s, *e; e = w + 1+nBits/NBW; for (s = w; s < e; ++s) *s = 0; } int BitArray::operator []( BitArray::Index p ) const { BitBlock *bp = w + (p / NBW); return ((((BitBlock)1) << (p & MASK)) & *bp) != 0; } int BitArray::tas( BitArray::Index p ) { BitBlock *bp = w + (p / NBW); BitBlock bit = (((BitBlock)1) << (p & MASK)); if ((bit & *bp) != 0) return 1; *bp |= bit; return 0; } int BitArray::clear( BitArray::Index p ) { BitBlock *bp = w + (p / NBW); BitBlock bit = (((BitBlock)1) << (p & MASK)); int ret; ret = ((bit & *bp) != 0); *bp &= ~bit; return ret; }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 18760 | rlranft |
Populate -o //guest/perforce_software/p4/... //guest/rlranft/p4/.... |
||
//guest/perforce_software/p4/2014-2/support/bitarray.cc | |||||
#1 | 15903 | Matt Attaway | Everything should be happy now between the Workshop and the depot paths | ||
//guest/perforce_software/p4/2014_2/support/bitarray.cc | |||||
#1 | 15901 | Matt Attaway | Clean up code to fit modern Workshop naming standards | ||
//guest/perforce_software/p4/2014.2/support/bitarray.cc | |||||
#1 | 12189 | Matt Attaway | Initial (and much belated) drop of 2014.2 p4 source code |