onbit counts in results of operator&, operator|, operator^, etc. were incorrect

This commit is contained in:
Greg Landrum
2007-03-25 06:45:12 +00:00
parent 0a80d8a9a2
commit 46a9636b42

View File

@@ -79,28 +79,28 @@ ExplicitBitVect::ExplicitBitVect(const char *data,const unsigned int dataLen)
ExplicitBitVect ExplicitBitVect::operator^ (const ExplicitBitVect &other) const {
ExplicitBitVect ans(d_size);
*(ans.dp_bits) = (*dp_bits) ^ *(other.dp_bits);
ans.d_numOnBits=dp_bits->count();
ans.d_numOnBits=ans.dp_bits->count();
return(ans);
};
ExplicitBitVect ExplicitBitVect::operator& (const ExplicitBitVect &other) const {
ExplicitBitVect ans(d_size);
*(ans.dp_bits) = (*dp_bits) & *(other.dp_bits);
ans.d_numOnBits=dp_bits->count();
ans.d_numOnBits=ans.dp_bits->count();
return(ans);
};
ExplicitBitVect ExplicitBitVect::operator| (const ExplicitBitVect &other) const {
ExplicitBitVect ans(d_size);
*(ans.dp_bits) = (*dp_bits) | *(other.dp_bits);
ans.d_numOnBits=dp_bits->count();
ans.d_numOnBits=ans.dp_bits->count();
return(ans);
};
ExplicitBitVect ExplicitBitVect::operator~ () const {
ExplicitBitVect ans(d_size);
*(ans.dp_bits) = ~(*dp_bits);
ans.d_numOnBits=dp_bits->count();
ans.d_numOnBits=ans.dp_bits->count();
return(ans);
};