Esempio n. 1
0
 public static NumericRangeInfo Calculate(Range<double>? dataRange, double? minimum, double? maximum, bool includeZero, double? interval = null)
 {
     NumericRangeInfo numericRangeInfo = new NumericRangeInfo();
     numericRangeInfo.HasDataRange = dataRange.HasValue && dataRange.Value.HasData;
     numericRangeInfo.HasMin = minimum.HasValue;
     numericRangeInfo.HasMax = maximum.HasValue;
     double num1 = numericRangeInfo.HasDataRange ? dataRange.Value.Minimum : double.MaxValue;
     double num2 = numericRangeInfo.HasDataRange ? dataRange.Value.Maximum : double.MinValue;
     double num3 = numericRangeInfo.HasMin ? minimum.Value : double.MaxValue;
     double num4 = numericRangeInfo.HasMax ? maximum.Value : double.MinValue;
     if (numericRangeInfo.HasMin && numericRangeInfo.HasMax)
     {
         numericRangeInfo.Minimum = (DoubleR10)num3;
         numericRangeInfo.Maximum = (DoubleR10)num4;
     }
     else if (numericRangeInfo.HasMin)
     {
         numericRangeInfo.Minimum = numericRangeInfo.Maximum = (DoubleR10)num3;
         if (num3 <= num2)
             numericRangeInfo.Maximum = (DoubleR10)num2;
     }
     else if (numericRangeInfo.HasMax)
     {
         numericRangeInfo.Minimum = numericRangeInfo.Maximum = (DoubleR10)num4;
         if (num4 >= num1)
             numericRangeInfo.Minimum = (DoubleR10)num1;
     }
     else if (numericRangeInfo.HasDataRange)
     {
         numericRangeInfo.Minimum = (DoubleR10)num1;
         numericRangeInfo.Maximum = (DoubleR10)num2;
     }
     else
         numericRangeInfo.Minimum = numericRangeInfo.Maximum = (DoubleR10)0;
     if (includeZero)
         numericRangeInfo.IncludeZero();
     numericRangeInfo.FixIfEmpty(interval, includeZero);
     numericRangeInfo.FixDirection();
     if (includeZero)
     {
         if (numericRangeInfo.Minimum == 0)
             numericRangeInfo.HasMin = true;
         if (numericRangeInfo.Maximum == 0)
             numericRangeInfo.HasMax = true;
     }
     return numericRangeInfo;
 }
Esempio n. 2
0
 public static NumericRangeInfo Calculate(Range<double>? dataRange, double? minimum, double? maximum, bool includeZero, double? interval = null)
 {
     NumericRangeInfo numericRangeInfo = new NumericRangeInfo();
     numericRangeInfo.HasDataRange = dataRange.HasValue && dataRange.Value.HasData;
     numericRangeInfo.HasMin = minimum.HasValue;
     numericRangeInfo.HasMax = maximum.HasValue;
     double num1 = numericRangeInfo.HasDataRange ? dataRange.Value.Minimum : double.MaxValue;
     double num2 = numericRangeInfo.HasDataRange ? dataRange.Value.Maximum : double.MinValue;
     double num3 = numericRangeInfo.HasMin ? minimum.Value : double.MaxValue;
     double num4 = numericRangeInfo.HasMax ? maximum.Value : double.MinValue;
     if (numericRangeInfo.HasMin && numericRangeInfo.HasMax)
     {
         numericRangeInfo.Minimum = (DoubleR10)num3;
         numericRangeInfo.Maximum = (DoubleR10)num4;
     }
     else if (numericRangeInfo.HasMin)
     {
         numericRangeInfo.Minimum = numericRangeInfo.Maximum = (DoubleR10)num3;
         if (num3 <= num2)
             numericRangeInfo.Maximum = (DoubleR10)num2;
     }
     else if (numericRangeInfo.HasMax)
     {
         numericRangeInfo.Minimum = numericRangeInfo.Maximum = (DoubleR10)num4;
         if (num4 >= num1)
             numericRangeInfo.Minimum = (DoubleR10)num1;
     }
     else if (numericRangeInfo.HasDataRange)
     {
         numericRangeInfo.Minimum = (DoubleR10)num1;
         numericRangeInfo.Maximum = (DoubleR10)num2;
     }
     else
         numericRangeInfo.Minimum = numericRangeInfo.Maximum = (DoubleR10)0;
     if (includeZero)
         numericRangeInfo.IncludeZero();
     numericRangeInfo.FixIfEmpty(interval, includeZero);
     numericRangeInfo.FixDirection();
     if (includeZero)
     {
         if (numericRangeInfo.Minimum == 0)
             numericRangeInfo.HasMin = true;
         if (numericRangeInfo.Maximum == 0)
             numericRangeInfo.HasMax = true;
     }
     return numericRangeInfo;
 }