Esempio n. 1
0
 public InnerQuantiles(int quantileCount, CanGetQuantile canGetQuantile)
 {
     if (quantileCount == 0)
     {
         throw new ArgumentException("quantileCount == 0", nameof(quantiles));
     }
     this.quantiles = new double[quantileCount];
     for (int i = 0; i < quantileCount; i++)
     {
         this.quantiles[i] = canGetQuantile.GetQuantile((i + 1.0) / (quantileCount + 1.0));
     }
     OuterQuantiles.AssertFinite(quantiles, nameof(canGetQuantile));
     OuterQuantiles.AssertNondecreasing(quantiles, nameof(canGetQuantile));
     lowerGaussian = GetLowerGaussian(quantiles);
     upperGaussian = GetUpperGaussian(quantiles);
 }
Esempio n. 2
0
 public InnerQuantiles(double[] quantiles)
 {
     if (quantiles == null)
     {
         throw new ArgumentNullException(nameof(quantiles));
     }
     if (quantiles.Length == 0)
     {
         throw new ArgumentException("quantiles array is empty", nameof(quantiles));
     }
     OuterQuantiles.AssertFinite(quantiles, nameof(quantiles));
     OuterQuantiles.AssertNondecreasing(quantiles, nameof(quantiles));
     this.quantiles = quantiles;
     lowerGaussian  = GetLowerGaussian(quantiles);
     upperGaussian  = GetUpperGaussian(quantiles);
 }