/// <summary> /// this = this AND NOT other </summary> public void AndNot(FixedBitSet other) { AndNot(other.bits, other.bits.Length); }
/// <summary> /// this = this AND other </summary> public void And(FixedBitSet other) { And(other.bits, other.numWords); }
/// <summary> /// Creates an iterator over the given <see cref="FixedBitSet"/>. </summary> public FixedBitSetIterator(FixedBitSet bits) : this(bits.bits, bits.numBits, bits.numWords) { }
/// <summary> /// this = this OR other </summary> public void Or(FixedBitSet other) { Or(other.bits, other.numWords); }
/// <summary> /// Returns the popcount or cardinality of the intersection of the two sets. /// Neither set is modified. /// </summary> public static long IntersectionCount(FixedBitSet a, FixedBitSet b) { return(BitUtil.Pop_Intersect(a.bits, b.bits, 0, Math.Min(a.numWords, b.numWords))); }
public static int Cardinality(this FixedBitSet set) { return(set.Cardinality); }