1 #ifndef STAN_MODEL_LOG_PROB_PROPTO_HPP 2 #define STAN_MODEL_LOG_PROB_PROPTO_HPP 4 #include <stan/math/rev/mat.hpp> 32 template <
bool jacobian_adjust_transform,
class M>
34 std::vector<double>& params_r,
35 std::vector<int>& params_i,
36 std::ostream* msgs = 0) {
37 using stan::math::var;
39 vector<var> ad_params_r;
40 ad_params_r.reserve(model.num_params_r());
41 for (
size_t i = 0; i < model.num_params_r(); ++i)
42 ad_params_r.push_back(params_r[i]);
45 = model.template log_prob<true, jacobian_adjust_transform>
46 (ad_params_r, params_i, msgs).val();
47 stan::math::recover_memory();
49 }
catch (std::exception &ex) {
50 stan::math::recover_memory();
75 template <
bool jacobian_adjust_transform,
class M>
77 Eigen::VectorXd& params_r,
78 std::ostream* msgs = 0) {
79 using stan::math::var;
81 vector<int> params_i(0);
85 vector<var> ad_params_r;
86 ad_params_r.reserve(model.num_params_r());
87 for (
size_t i = 0; i < model.num_params_r(); ++i)
88 ad_params_r.push_back(params_r(i));
91 .template log_prob<
true,
92 jacobian_adjust_transform>(ad_params_r, params_i,
95 }
catch (std::exception &ex) {
96 stan::math::recover_memory();
99 stan::math::recover_memory();
Probability, optimization and sampling library.
double log_prob_propto(const M &model, std::vector< double > ¶ms_r, std::vector< int > ¶ms_i, std::ostream *msgs=0)
Helper function to calculate log probability for double scalars up to a proportion.