private static InfiniteAdaptiveGaussKronrod createDefaultIntegrationMethod()
 {
     var method = new InfiniteAdaptiveGaussKronrod(100);
     method.ToleranceRelative = 1e-5;
     return method;
 }
 /// <summary>
 ///   Creates a new <see cref="GeneralContinuousDistribution"/> 
 ///   using only a cumulative distribution function definition.
 /// </summary>
 /// 
 /// <param name="support">The distribution's support over the real line.</param>
 /// <param name="cdf">A cumulative distribution function.</param>
 /// 
 /// <returns>A <see cref="GeneralContinuousDistribution"/> created from the 
 /// <paramref name="cdf"/> whose measures and functions are computed using 
 /// numerical integration and differentiation.</returns>
 /// 
 public static GeneralContinuousDistribution FromDistributionFunction(
     DoubleRange support, Func<double, double> cdf)
 {
     var method = new InfiniteAdaptiveGaussKronrod(100);
     return FromDistributionFunction(support, cdf, method);
 }