예제 #1
0
        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));
        }
예제 #2
0
        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)));
        }
예제 #3
0
        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));
        }