Exemple #1
0
        internal double Probability(TestType type)
        {
            switch (type)
            {
            case TestType.LeftTailed:
                return(distribution.LeftExclusiveProbability(value) + 0.5 * distribution.ProbabilityMass(value));

            case TestType.RightTailed:
                return(distribution.RightExclusiveProbability(value) + 0.5 * distribution.ProbabilityMass(value));

            case TestType.TwoTailed:
                if (distribution.Skewness == 0.0)
                {
                    if (value < distribution.Mean)
                    {
                        return(2.0 * (distribution.LeftExclusiveProbability(value) + 0.5 * distribution.ProbabilityMass(value)));
                    }
                    else
                    {
                        return(2.0 * (distribution.RightExclusiveProbability(value) + 0.5 * distribution.ProbabilityMass(value)));
                    }
                }
                else
                {
                    throw new NotImplementedException();
                }

            default:
                throw new NotSupportedException();
            }
        }