Lucene.Net.Util.OpenBitSet.Equals C# (CSharp) Method

Equals() public method

returns true if both sets have the same bits set
public Equals ( System o ) : bool
o System
return bool
		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;
		}

Usage Example

コード例 #1
0
        public virtual void TestEquals()
        {
            rand = NewRandom();
            OpenBitSet b1 = new OpenBitSet(1111);
            OpenBitSet b2 = new OpenBitSet(2222);
            Assert.IsTrue(b1.Equals(b2));
            Assert.IsTrue(b2.Equals(b1));
            b1.Set(10);
            Assert.IsFalse(b1.Equals(b2));
            Assert.IsFalse(b2.Equals(b1));
            b2.Set(10);
            Assert.IsTrue(b1.Equals(b2));
            Assert.IsTrue(b2.Equals(b1));
            b2.Set(2221);
            Assert.IsFalse(b1.Equals(b2));
            Assert.IsFalse(b2.Equals(b1));
            b1.Set(2221);
            Assert.IsTrue(b1.Equals(b2));
            Assert.IsTrue(b2.Equals(b1));

            // try different type of object
            Assert.IsFalse(b1.Equals(new System.Object()));
        }
All Usage Examples Of Lucene.Net.Util.OpenBitSet::Equals