Exemple #1
0
        public override bool Equals(Object?obj)
        {
            BitVectorAsSet v = (BitVectorAsSet)obj !;

            Ensure.That(v).IsNotNull();

            return(bits.SetEquals(v.bits));
        }
        public void BitwiseSubtract(IBitVector u)
        {
            BitVectorAsSet v = (BitVectorAsSet)u;

            Ensure.That(v).IsNotNull();

            foreach (ulong b in v.bits)
            {
                bits.Remove(b);
            }
        }
        public void BitwiseOr(IBitVector u)
        {
            BitVectorAsSet v = (BitVectorAsSet)u;

            Ensure.That(v).IsNotNull();

            foreach (ulong b in v.bits)
            {
                bits.Add(b);
            }
        }
        public IBitVector BitwiseSubtract(IBitVector x, IBitVector y)
        {
            BitVectorAsSet v1 = (BitVectorAsSet)x;
            BitVectorAsSet v2 = (BitVectorAsSet)y;

            Ensure.That(v1).IsNotNull();
            Ensure.That(v2).IsNotNull();

            SortedSet <ulong> zBits = new(v1.bits.Except(v2.bits));

            return(new BitVectorAsSet(zBits));
        }
Exemple #5
0
        public BitVectorAsSet(BitVectorAsSet s)
        {
            Ensure.That(s.Size).Is(maxSize);

            bits = new SortedSet <ulong>(s.bits);
        }