Lines Matching refs:Bits
30 static T getValue(const BitVectorTy &Bits, unsigned Idx) {
33 val = T(val | ((Bits[(Idx << (BitNum-1)) + i] ? 1UL : 0UL) << i));
37 static void setValue(BitVectorTy &Bits, unsigned Idx, T val) {
40 Bits[(Idx << (BitNum-1)) + i] = val & (T(1) << i);
47 static T getValue(const BitVectorTy &Bits, unsigned Idx) {
50 val = T(val | ((Bits[(Idx << (BitNum-1)) + i] ? 1UL : 0UL) << i));
51 if (Bits[(Idx << (BitNum-1)) + BitNum-1])
56 static void setValue(BitVectorTy &Bits, unsigned Idx, T val) {
59 Bits.set((Idx << (BitNum-1)) + BitNum-1);
63 Bits[(Idx << (BitNum-1)) + i] = val & (T(1) << i);
77 BitVectorTy Bits;
91 Vec.setValue(Vec.Bits, Idx, val);
95 return Vec.getValue(Vec.Bits, Idx);
100 explicit PackedVector(unsigned size) : Bits(size << (BitNum-1)) { }
102 bool empty() const { return Bits.empty(); }
104 unsigned size() const { return Bits.size() >> (BitNum - 1); }
106 void clear() { Bits.clear(); }
108 void resize(unsigned N) { Bits.resize(N << (BitNum - 1)); }
110 void reserve(unsigned N) { Bits.reserve(N << (BitNum-1)); }
113 Bits.reset();
127 return base::getValue(Bits, Idx);
131 return Bits == RHS.Bits;
135 return Bits != RHS.Bits;
139 Bits |= RHS.Bits;