1 #ifndef STAN_MATH_PRIM_SCAL_PROB_SCALED_INV_CHI_SQUARE_RNG_HPP 2 #define STAN_MATH_PRIM_SCAL_PROB_SCALED_INV_CHI_SQUARE_RNG_HPP 8 #include <boost/random/chi_squared_distribution.hpp> 9 #include <boost/random/variate_generator.hpp> 33 template <
typename T_deg,
typename T_scale,
class RNG>
36 using boost::random::chi_squared_distribution;
37 using boost::variate_generator;
39 static const char*
function =
"scaled_inv_chi_square_rng";
51 for (
size_t n = 0; n < N; ++n) {
52 variate_generator<RNG&, chi_squared_distribution<> >
chi_square_rng(
53 rng, chi_squared_distribution<>(nu_vec[n]));
scalar_seq_view provides a uniform sequence-like wrapper around either a scalar or a sequence of scal...
VectorBuilder< true, double, T_deg, T_scale >::type scaled_inv_chi_square_rng(const T_deg &nu, const T_scale &s, RNG &rng)
Return a scaled chi square random variate for the given number of degrees of freedom and scale using ...
void check_positive_finite(const char *function, const char *name, const T_y &y)
Check if y is positive and finite.
size_t max_size(const T1 &x1, const T2 &x2)
VectorBuilder allocates type T1 values to be used as intermediate values.
void check_consistent_sizes(const char *function, const char *name1, const T1 &x1, const char *name2, const T2 &x2)
Check if the dimension of x1 is consistent with x2.
VectorBuilder< true, double, T_deg >::type chi_square_rng(const T_deg &nu, RNG &rng)
Return a chi squared random variate with nu degrees of freedom using the specified random number gene...