private double GetCoveragePercentage(IContinuousDistribution distribution, Probability probability, ConfidenceLevel confidenceLevel,
                                             Random random, int sampleSize, int repetitions)
        {
            var    generator = distribution.Random(random);
            var    estimator = HarrellDavisQuantileEstimator.Instance;
            double trueValue = distribution.Quantile(probability);
            int    success   = 0;

            for (int i = 0; i < repetitions; i++)
            {
                var sample      = new Sample(generator.Next(sampleSize));
                var estimatedCi = estimator
                                  .GetQuantileConfidenceIntervalEstimator(sample, probability)
                                  .GetConfidenceInterval(confidenceLevel);
                if (estimatedCi.Contains(trueValue))
                {
                    success++;
                }
            }
            return(success * 1.0 / repetitions);
        }
 public static RandomGenerator Random([NotNull] this IContinuousDistribution distribution, int seed)
 => distribution.Random(new Random(seed));