public void WinsorizedHarrellDavisQuantileEstimatorTest1()
        {
            var randomGenerator = NormalDistribution.Standard.Random(42);

            double[] values = randomGenerator.Next(10);
            values[0] = 1_000_000;
            var    sample       = values.ToSample();
            var    hdEstimator  = new HarrellDavisQuantileEstimator();
            var    whdEstimator = new WinsorizedHarrellDavisQuantileEstimator(0.01);
            double hdMedian     = hdEstimator.GetMedian(sample);
            double whdMedian    = whdEstimator.GetMedian(sample);

            output.WriteLine("Median-HD  = " + hdMedian.ToStringInvariant());
            output.WriteLine("Median-WHD = " + whdMedian.ToStringInvariant());

            Assert.True(Math.Abs(whdMedian) < 4);
        }
        public void WinsorizedIntervals(double trimPercent)
        {
            var estimator = new WinsorizedHarrellDavisQuantileEstimator(trimPercent);

            output.WriteLine("| n | winsorized | breakdown |");
            var ns = Enumerable.Range(2, 49).Concat(new[] { 100, 500, 1_000, 10_000, 100_000 });