Ejemplo n.º 1
0
    static void constraints()
    {
        typedef typename Distribution::value_type value_type;

        const Distribution& dist = DistributionConcept<Distribution>::get_object();

        value_type x = 0;
        // The result values are ignored in all these checks.
        check_result<value_type>(cdf(dist, x));
        check_result<value_type>(cdf(complement(dist, x)));
        check_result<value_type>(pdf(dist, x));
        check_result<value_type>(quantile(dist, x));
        check_result<value_type>(quantile(complement(dist, x)));
        check_result<value_type>(mean(dist));
        check_result<value_type>(mode(dist));
        check_result<value_type>(standard_deviation(dist));
        check_result<value_type>(variance(dist));
        check_result<value_type>(hazard(dist, x));
        check_result<value_type>(chf(dist, x));
        check_result<value_type>(coefficient_of_variation(dist));
        check_result<value_type>(skewness(dist));
        check_result<value_type>(kurtosis(dist));
        check_result<value_type>(kurtosis_excess(dist));
        check_result<value_type>(median(dist));
        //
        // we can't actually test that at std::pair is returned from these
        // because that would mean including some std lib headers....
        //
        range(dist);
        support(dist);

        check_result<value_type>(cdf(dist, f));
        check_result<value_type>(cdf(complement(dist, f)));
        check_result<value_type>(pdf(dist, f));
        check_result<value_type>(quantile(dist, f));
        check_result<value_type>(quantile(complement(dist, f)));
        check_result<value_type>(hazard(dist, f));
        check_result<value_type>(chf(dist, f));
        check_result<value_type>(cdf(dist, d));
        check_result<value_type>(cdf(complement(dist, d)));
        check_result<value_type>(pdf(dist, d));
        check_result<value_type>(quantile(dist, d));
        check_result<value_type>(quantile(complement(dist, d)));
        check_result<value_type>(hazard(dist, d));
        check_result<value_type>(chf(dist, d));
        check_result<value_type>(cdf(dist, l));
        check_result<value_type>(cdf(complement(dist, l)));
        check_result<value_type>(pdf(dist, l));
        check_result<value_type>(quantile(dist, l));
        check_result<value_type>(quantile(complement(dist, l)));
        check_result<value_type>(hazard(dist, l));
        check_result<value_type>(chf(dist, l));
        check_result<value_type>(cdf(dist, i));
        check_result<value_type>(cdf(complement(dist, i)));
        check_result<value_type>(pdf(dist, i));
        check_result<value_type>(quantile(dist, i));
        check_result<value_type>(quantile(complement(dist, i)));
        check_result<value_type>(hazard(dist, i));
        check_result<value_type>(chf(dist, i));
        unsigned long li = 1;
        check_result<value_type>(cdf(dist, li));
        check_result<value_type>(cdf(complement(dist, li)));
        check_result<value_type>(pdf(dist, li));
        check_result<value_type>(quantile(dist, li));
        check_result<value_type>(quantile(complement(dist, li)));
        check_result<value_type>(hazard(dist, li));
        check_result<value_type>(chf(dist, li));
    }
Ejemplo n.º 2
0
 inline RealType kurtosis(const hypergeometric_distribution<RealType, Policy>& dist)
 {
    return kurtosis_excess(dist) + 3;
 } // RealType kurtosis_excess(const hypergeometric_distribution<RealType, Policy>& dist)