public TextIndexList SymetricDifference(TextIndexList tl) { int arraySize = Math.Max(this.Bounds.End, tl.Bounds.End); BitArray bArray = this.ToBitArray(arraySize); BitArray btlArray = tl.ToBitArray(arraySize); BitArray bResult = bArray.Xor(btlArray); return(TextIndexList.FromBitArray(bResult)); }
public TextIndexList SubtractedFrom(TextIndexList tl) { int arraySize = Math.Max(this.Bounds.End, tl.Bounds.End); BitArray bArray = this.ToBitArray(arraySize); BitArray btlArray = tl.ToBitArray(arraySize); BitArray bXor = bArray.Xor(btlArray); return(TextIndexList.FromBitArray(btlArray.And(bXor))); }
public TextIndexList Intersection(TextIndexList tl) { int arraySize = Math.Max(this.Bounds.End, tl.Bounds.End); BitArray bArray = this.ToBitArray(arraySize); BitArray btlArray = tl.ToBitArray(arraySize); BitArray bResult = bArray.And(btlArray); return(TextIndexList.FromBitArray(bResult)); }