public override bool Equals(System.Object o)
{
if (this == o)
return true;
if (!(o is OpenBitSet))
return false;
OpenBitSet a;
OpenBitSet b = (OpenBitSet) o;
// make a the larger set.
if (b.wlen > this.wlen)
{
a = b; b = this;
}
else
{
a = this;
}
// check for any set bits out of the range of b
for (int i = a.wlen - 1; i >= b.wlen; i--)
{
if (a.internalbits[i] != 0)
return false;
}
for (int i = b.wlen - 1; i >= 0; i--)
{
if (a.internalbits[i] != b.internalbits[i])
return false;
}
return true;
}