Example #1
0
        public List <Range> Subtract(Range range)
        {
            List <Range> result = new List <Range>();

            if (Includes(range._lower) && Serial.Le(_lower, range._lower - 1))
            {
                result.Add(new Range(_lower, range._lower - 1));
            }

            if (Includes(range._upper) && Serial.Le(range._upper + 1, _upper))
            {
                result.Add(new Range(range._upper + 1, _upper));
            }

            if (result.Count == 0 && !range.Includes(this))
            {
                result.Add(this);
            }

            return(result);
        }
Example #2
0
 public bool Touches(Range range)
 {
     return(Intersects(range) ||
            Includes(range._upper + 1) || Includes(range._lower - 1) ||
            range.Includes(_upper + 1) || range.Includes(_lower - 1));
 }
Example #3
0
 public bool Intersects(Range range)
 {
     return(Includes(range._lower) || Includes(range._upper) ||
            range.Includes(_lower) || range.Includes(_upper));
 }
Example #4
0
        public List<Range> Subtract(Range range)
        {
            List<Range> result = new List<Range>();

            if (Includes(range._lower) && Serial.Le(_lower, range._lower - 1))
            {
                result.Add(new Range(_lower, range._lower - 1));
            }

            if (Includes(range._upper) && Serial.Le(range._upper + 1, _upper))
            {
                result.Add(new Range(range._upper + 1, _upper));
            }

            if (result.Count == 0 && !range.Includes(this))
            {
                result.Add(this);
            }

            return result;
        }
Example #5
0
 public bool Touches(Range range)
 {
     return (Intersects(range) ||
             Includes(range._upper + 1) || Includes(range._lower - 1) ||
             range.Includes(_upper + 1) || range.Includes(_lower - 1));
 }
Example #6
0
 public bool Intersects(Range range)
 {
     return (Includes(range._lower) || Includes(range._upper) ||
             range.Includes(_lower) || range.Includes(_upper));
 }