Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/04/19 14:40:48 (4 years ago)
Author:
chaider
Message:

#3032 Added analytical quotient for intervals

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval.cs

    r17305 r17348  
    237237      return new Interval(Math.Min(absLower, absUpper), Math.Max(absLower, absUpper));
    238238    }
     239
     240    public static Interval AnalyticalQuotient(Interval a, Interval b) {
     241      if (b.LowerBound <= 0 && b.UpperBound >= 0) //Second interval goes over zero or is zero
     242        return new Interval(a.LowerBound, a.UpperBound);
     243
     244      var values = new List<double> {
     245        a.LowerBound / Math.Sqrt(Math.Pow(b.LowerBound, 2) + 1),
     246        a.LowerBound / Math.Sqrt(Math.Pow(b.UpperBound, 2) + 1),
     247        a.UpperBound / Math.Sqrt(Math.Pow(b.LowerBound, 2) + 1),
     248        a.UpperBound / Math.Sqrt(Math.Pow(b.UpperBound, 2) + 1)
     249      };
     250
     251      return new Interval(values.Min(), values.Max());
     252    }
    239253    #endregion
    240254  }
Note: See TracChangeset for help on using the changeset viewer.