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); }
public bool Touches(Range range) { return(Intersects(range) || Includes(range._upper + 1) || Includes(range._lower - 1) || range.Includes(_upper + 1) || range.Includes(_lower - 1)); }
public bool Intersects(Range range) { return(Includes(range._lower) || Includes(range._upper) || range.Includes(_lower) || range.Includes(_upper)); }
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; }
public bool Touches(Range range) { return (Intersects(range) || Includes(range._upper + 1) || Includes(range._lower - 1) || range.Includes(_upper + 1) || range.Includes(_lower - 1)); }
public bool Intersects(Range range) { return (Includes(range._lower) || Includes(range._upper) || range.Includes(_lower) || range.Includes(_upper)); }