Back to Chi-squared-distributed random numbers
#ifndef PASTELSYS_RANDOM_CHISQUARED_HPP
#define PASTELSYS_RANDOM_CHISQUARED_HPP
#include "pastel/sys/random/random_chisquared.h"
#include "pastel/sys/random/random_gamma.h"
namespace Pastel
{
    template <typename Real>
    Real randomChiSquared(integer k)
    {
        PENSURE_OP(k, >, 0);
        return randomGamma<Real>((Real)k / 2, 2);
    }
    template <typename Real>
    Real chiSquaredPdf(
        const NoDeduction<Real>& x,
        integer k)
    {
        PENSURE_OP(k, >, 0);
        return gammaPdf<Real>(x, (Real)k / 2, 2);
    }
}
#endif