[Pure] public bool TryIntersection(LongitudeDegreeRange other, out LongitudeDegreeRange result)
 {
     if (Intersects(other))
     {
         result = new LongitudeDegreeRange(
             Math.Max(Start, other.Start),
             Math.Min(End, other.End));
         return(true);
     }
     result = default(LongitudeDegreeRange);
     return(false);
 }
 [Pure] public bool Within(LongitudeDegreeRange r)
 {
     return(DefaultPeriodicOperations.Contains(r.Start, r.End, Start, End));
 }
 [Pure] public bool Equals(LongitudeDegreeRange r)
 {
     // ReSharper disable CompareOfFloatsByEqualityOperator
     return(Start == r.Start && End == r.End);
     // ReSharper restore CompareOfFloatsByEqualityOperator
 }
 [Pure] public bool Intersects(LongitudeDegreeRange r)
 {
     return(DefaultPeriodicOperations.Intersects(Start, End, r.Start, r.End));
 }