// Code generated by stanc v2.24.1 #include namespace cmdstanr_test_model_namespace { inline void validate_positive_index(const char* var_name, const char* expr, int val) { if (val < 1) { std::stringstream msg; msg << "Found dimension size less than one in simplex declaration" << "; variable=" << var_name << "; dimension size expression=" << expr << "; expression value=" << val; std::string msg_str(msg.str()); throw std::invalid_argument(msg_str.c_str()); } } inline void validate_unit_vector_index(const char* var_name, const char* expr, int val) { if (val <= 1) { std::stringstream msg; if (val == 1) { msg << "Found dimension size one in unit vector declaration." << " One-dimensional unit vector is discrete" << " but the target distribution must be continuous." << " variable=" << var_name << "; dimension size expression=" << expr; } else { msg << "Found dimension size less than one in unit vector declaration" << "; variable=" << var_name << "; dimension size expression=" << expr << "; expression value=" << val; } std::string msg_str(msg.str()); throw std::invalid_argument(msg_str.c_str()); } } using std::istream; using std::string; using std::stringstream; using std::vector; using std::pow; using stan::io::dump; using stan::math::lgamma; using stan::model::model_base_crtp; using stan::model::rvalue; using stan::model::cons_list; using stan::model::index_uni; using stan::model::index_max; using stan::model::index_min; using stan::model::index_min_max; using stan::model::index_multi; using stan::model::index_omni; using stan::model::nil_index_list; using namespace stan::math; using stan::math::pow; static int current_statement__ = 0; static const std::vector locations_array__ = {" (found before start of program)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 120, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 121, column 2 to column 28)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 122, column 2 to column 30)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 123, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 124, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 125, column 2 to column 22)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 126, column 2 to column 28)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 127, column 2 to column 23)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 128, column 2 to column 32)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 131, column 2 to column 23)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 133, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 134, column 2 to column 27)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 135, column 2 to column 28)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 136, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 137, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 139, column 2 to column 46)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 140, column 2 to column 25)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 141, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 142, column 2 to column 27)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 143, column 2 to column 25)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 144, column 2 to column 25)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 202, column 2 to column 66)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 203, column 2 to column 39)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 207, column 6 to column 48)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 206, column 25 to line 208, column 5)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 206, column 4 to line 208, column 5)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 205, column 19 to line 209, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 205, column 2 to line 209, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 148, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 148, column 2 to column 42)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 150, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 150, column 2 to column 45)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 152, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 152, column 2 to column 48)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 154, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 154, column 2 to column 42)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 156, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 156, column 2 to column 42)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 158, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 158, column 2 to column 15)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 161, column 4 to column 57)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 159, column 17 to line 162, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 159, column 2 to line 162, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 165, column 4 to column 60)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 163, column 17 to line 166, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 163, column 2 to line 166, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 169, column 4 to column 63)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 167, column 17 to line 170, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 167, column 2 to line 170, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 173, column 4 to column 57)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 171, column 17 to line 174, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 171, column 2 to line 174, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 177, column 4 to column 57)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 175, column 17 to line 178, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 175, column 2 to line 178, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 181, column 4 to column 276)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 179, column 17 to line 182, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 179, column 2 to line 182, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 184, column 2 to column 43)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 185, column 2 to column 46)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 186, column 2 to column 44)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 187, column 2 to column 43)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 188, column 2 to column 41)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 189, column 2 to line 190, column 37)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 191, column 2 to line 192, column 35)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 193, column 2 to column 44)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 194, column 2 to column 44)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 197, column 4 to column 41)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 196, column 19 to line 198, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 196, column 2 to line 198, column 3)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 73, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 74, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 74, column 2 to column 14)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 75, column 2 to column 23)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 76, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 76, column 12 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 76, column 2 to column 29)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 77, column 2 to column 24)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 78, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 78, column 12 to column 20)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 78, column 2 to column 31)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 79, column 2 to column 25)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 80, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 80, column 12 to column 21)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 80, column 2 to column 33)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 81, column 2 to column 23)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 82, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 82, column 12 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 82, column 2 to column 29)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 83, column 2 to column 23)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 84, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 84, column 12 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 84, column 2 to column 29)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 86, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 86, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 87, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 87, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 88, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 88, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 89, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 89, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 90, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 90, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 91, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 91, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 92, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 92, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 93, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 93, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 94, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 94, column 2 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 95, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 95, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 96, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 96, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 97, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 97, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 98, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 98, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 99, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 99, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 100, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 100, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 101, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 101, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 102, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 102, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 103, column 11 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 103, column 2 to column 14)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 105, column 2 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 106, column 2 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 107, column 19 to column 20)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 107, column 2 to column 22)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 109, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 109, column 2 to column 24)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 110, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 110, column 2 to column 25)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 111, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 111, column 2 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 112, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 112, column 2 to column 24)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 113, column 9 to column 10)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 113, column 2 to column 24)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 114, column 2 to column 20)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 115, column 2 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 120, column 9 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 121, column 9 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 122, column 9 to column 18)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 123, column 9 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 124, column 9 to column 16)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 126, column 18 to column 21)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 127, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 127, column 14 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 128, column 23 to column 26)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 131, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 131, column 14 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 133, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 134, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 135, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 136, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 137, column 9 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 202, column 14 to column 17)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 203, column 27 to column 31)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 16, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 17, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 18, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 19, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 20, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 21, column 4 to column 13)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 22, column 4 to column 14)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 24, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 25, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 26, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 27, column 4 to column 12)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 28, column 4 to column 14)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 30, column 4 to column 20)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 31, column 4 to column 22)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 32, column 4 to column 24)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 33, column 4 to column 20)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 34, column 4 to column 20)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 36, column 4 to column 18)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 37, column 4 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 39, column 4 to column 69)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 40, column 4 to column 69)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 42, column 4 to column 41)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 43, column 4 to column 41)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 45, column 4 to column 19)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 47, column 4 to line 68, column 74)", " (in '/home/granville/Repositories/Multilevel_TCM/R/Sim_data_model/Rok_Testing/cmdstan_test/cmdstanr_test.stan', line 13, column 36 to line 69, column 1)"}; template stan::promote_args_t>>>> twotcm_log_stan(const T0__& logk1, const T1__& logvnd, const T2__& logbpnd, const T3__& logk4, const T4__& logvb, const T5__& MidTime, const T6__& b_pfc, const T7__& lambda1_pfc, const T8__& lambda2_pfc, const T9__& lambda3_pfc, const T10__& A1_pfc, const T11__& A2_pfc, const T12__& A3_pfc, const T13__& tstar_pfc, const T14__& b_tot, const T15__& lambda1_tot, const T16__& lambda2_tot, const T17__& lambda3_tot, const T18__& A1_tot, const T19__& A2_tot, const T20__& A3_tot, const T21__& tstar_tot, const int& indicator, std::ostream* pstream__) { using local_scalar_t__ = stan::promote_args_t>>>>; const static bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { local_scalar_t__ k1; k1 = DUMMY_VAR__; local_scalar_t__ k2; k2 = DUMMY_VAR__; local_scalar_t__ k3; k3 = DUMMY_VAR__; local_scalar_t__ k4; k4 = DUMMY_VAR__; local_scalar_t__ vb; vb = DUMMY_VAR__; local_scalar_t__ vnd; vnd = DUMMY_VAR__; local_scalar_t__ bpnd; bpnd = DUMMY_VAR__; local_scalar_t__ R1; R1 = DUMMY_VAR__; local_scalar_t__ R2; R2 = DUMMY_VAR__; local_scalar_t__ L1; L1 = DUMMY_VAR__; local_scalar_t__ L2; L2 = DUMMY_VAR__; local_scalar_t__ time; time = DUMMY_VAR__; current_statement__ = 176; k1 = stan::math::exp(logk1); current_statement__ = 177; vnd = stan::math::exp(logvnd); current_statement__ = 178; bpnd = stan::math::exp(logbpnd); current_statement__ = 179; k4 = stan::math::exp(logk4); current_statement__ = 180; vb = stan::math::exp(logvb); current_statement__ = 181; k2 = (k1 / vnd); current_statement__ = 182; k3 = (bpnd * k4); current_statement__ = 183; R1 = (0.5 * (((k2 + k3) + k4) + stan::math::sqrt((pow(((k2 + k3) + k4), 2) - ((4 * k2) * k4))))); current_statement__ = 184; R2 = (0.5 * (((k2 + k3) + k4) - stan::math::sqrt((pow(((k2 + k3) + k4), 2) - ((4 * k2) * k4))))); current_statement__ = 185; L1 = ((k1 * ((R1 - k3) - k4)) / (R1 - R2)); current_statement__ = 186; L2 = ((k1 * ((k3 + k4) - R2)) / (R1 - R2)); current_statement__ = 187; time = MidTime; current_statement__ = 188; return (((1 - vb) * ((indicator * (((b_pfc * L1) * (((stan::math::exp((-R1 * time)) / pow(R1, 2)) + (time / R1)) - (1 / pow(R1, 2)))) + ((b_pfc * L2) * (((stan::math::exp((-R2 * time)) / pow(R2, 2)) + (time / R2)) - (1 / pow(R2, 2)))))) + ((-1 * (indicator - 1)) * ((((((((((b_pfc * L1) * stan::math::exp((-R1 * time))) * ((((tstar_pfc / R1) * stan::math::exp((R1 * tstar_pfc))) - ((1 / pow(R1, 2)) * stan::math::exp((R1 * tstar_pfc)))) + (1 / pow(R1, 2)))) + ((L1 * A1_pfc) * ((stan::math::exp((-lambda1_pfc * time)) / (R1 - lambda1_pfc)) - (stan::math::exp( (((R1 * tstar_pfc) - (R1 * time)) - (lambda1_pfc * tstar_pfc))) / (R1 - lambda1_pfc))))) + ((L1 * A2_pfc) * ((stan::math::exp((-lambda2_pfc * time)) / (R1 - lambda2_pfc)) - (stan::math::exp( (((R1 * tstar_pfc) - (R1 * time)) - (lambda2_pfc * tstar_pfc))) / (R1 - lambda2_pfc))))) + ((L1 * A3_pfc) * ((stan::math::exp((-lambda3_pfc * time)) / (R1 - lambda3_pfc)) - (stan::math::exp( (((R1 * tstar_pfc) - (R1 * time)) - (lambda3_pfc * tstar_pfc))) / (R1 - lambda3_pfc))))) + (((b_pfc * L2) * stan::math::exp((-R2 * time))) * ((((tstar_pfc / R2) * stan::math::exp((R2 * tstar_pfc))) - ((1 / pow(R2, 2)) * stan::math::exp((R2 * tstar_pfc)))) + (1 / pow(R2, 2))))) + ((L2 * A1_pfc) * ((stan::math::exp((-lambda1_pfc * time)) / (R2 - lambda1_pfc)) - (stan::math::exp( (((R2 * tstar_pfc) - (R2 * time)) - (lambda1_pfc * tstar_pfc))) / (R2 - lambda1_pfc))))) + ((L2 * A2_pfc) * ((stan::math::exp((-lambda2_pfc * time)) / (R2 - lambda2_pfc)) - (stan::math::exp( (((R2 * tstar_pfc) - (R2 * time)) - (lambda2_pfc * tstar_pfc))) / (R2 - lambda2_pfc))))) + ((L2 * A3_pfc) * ((stan::math::exp((-lambda3_pfc * time)) / (R2 - lambda3_pfc)) - (stan::math::exp( (((R2 * tstar_pfc) - (R2 * time)) - (lambda3_pfc * tstar_pfc))) / (R2 - lambda3_pfc)))))))) + (vb * (((indicator * b_tot) * time) + ((-1 * (indicator - 1)) * (((A1_tot * stan::math::exp((-lambda1_tot * time))) + (A2_tot * stan::math::exp((-lambda2_tot * time)))) + (A3_tot * stan::math::exp((-lambda3_tot * time)))))))); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } } struct twotcm_log_stan_functor__ { template stan::promote_args_t>>>> operator()(const T0__& logk1, const T1__& logvnd, const T2__& logbpnd, const T3__& logk4, const T4__& logvb, const T5__& MidTime, const T6__& b_pfc, const T7__& lambda1_pfc, const T8__& lambda2_pfc, const T9__& lambda3_pfc, const T10__& A1_pfc, const T11__& A2_pfc, const T12__& A3_pfc, const T13__& tstar_pfc, const T14__& b_tot, const T15__& lambda1_tot, const T16__& lambda2_tot, const T17__& lambda3_tot, const T18__& A1_tot, const T19__& A2_tot, const T20__& A3_tot, const T21__& tstar_tot, const int& indicator, std::ostream* pstream__) const { return twotcm_log_stan(logk1, logvnd, logbpnd, logk4, logvb, MidTime, b_pfc, lambda1_pfc, lambda2_pfc, lambda3_pfc, A1_pfc, A2_pfc, A3_pfc, tstar_pfc, b_tot, lambda1_tot, lambda2_tot, lambda3_tot, A1_tot, A2_tot, A3_tot, tstar_tot, indicator, pstream__); } }; class cmdstanr_test_model final : public model_base_crtp { private: int N; Eigen::Matrix Y; int K_logk1; Eigen::Matrix X_logk1; int K_logvnd; Eigen::Matrix X_logvnd; int K_logbpnd; Eigen::Matrix X_logbpnd; int K_logk4; Eigen::Matrix X_logk4; int K_logvb; Eigen::Matrix X_logvb; Eigen::Matrix C_1; Eigen::Matrix C_2; Eigen::Matrix C_3; Eigen::Matrix C_4; Eigen::Matrix C_5; Eigen::Matrix C_6; Eigen::Matrix C_7; Eigen::Matrix C_8; Eigen::Matrix C_9; Eigen::Matrix C_10; Eigen::Matrix C_11; Eigen::Matrix C_12; Eigen::Matrix C_13; Eigen::Matrix C_14; Eigen::Matrix C_15; Eigen::Matrix C_16; Eigen::Matrix C_17; std::vector C_18; int N_1; int M_1; std::vector J_1; Eigen::Matrix Z_1_logk1_1; Eigen::Matrix Z_1_logvnd_2; Eigen::Matrix Z_1_logbpnd_3; Eigen::Matrix Z_1_logk4_4; Eigen::Matrix Z_1_logvb_5; int NC_1; int prior_only; public: ~cmdstanr_test_model() final { } std::string model_name() const final { return "cmdstanr_test_model"; } std::vector model_compile_info() const { std::vector stanc_info; stanc_info.push_back("stanc_version = stanc3 v2.24.1"); stanc_info.push_back("stancflags = "); return stanc_info; } cmdstanr_test_model(stan::io::var_context& context__, unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); (void) base_rng__; // suppress unused var warning static const char* function__ = "cmdstanr_test_model_namespace::cmdstanr_test_model"; (void) function__; // suppress unused var warning local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; current_statement__ = 71; context__.validate_dims("data initialization","N","int", context__.to_vec()); N = std::numeric_limits::min(); current_statement__ = 71; N = context__.vals_i("N")[(1 - 1)]; current_statement__ = 71; current_statement__ = 71; check_greater_or_equal(function__, "N", N, 1); current_statement__ = 72; validate_non_negative_index("Y", "N", N); current_statement__ = 73; context__.validate_dims("data initialization","Y","double", context__.to_vec(N)); Y = Eigen::Matrix(N); stan::math::fill(Y, std::numeric_limits::quiet_NaN()); { std::vector Y_flat__; current_statement__ = 73; assign(Y_flat__, nil_index_list(), context__.vals_r("Y"), "assigning variable Y_flat__"); current_statement__ = 73; pos__ = 1; current_statement__ = 73; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 73; assign(Y, cons_list(index_uni(sym1__), nil_index_list()), Y_flat__[(pos__ - 1)], "assigning variable Y"); current_statement__ = 73; pos__ = (pos__ + 1);} } current_statement__ = 74; context__.validate_dims("data initialization","K_logk1","int", context__.to_vec()); K_logk1 = std::numeric_limits::min(); current_statement__ = 74; K_logk1 = context__.vals_i("K_logk1")[(1 - 1)]; current_statement__ = 74; current_statement__ = 74; check_greater_or_equal(function__, "K_logk1", K_logk1, 1); current_statement__ = 75; validate_non_negative_index("X_logk1", "N", N); current_statement__ = 76; validate_non_negative_index("X_logk1", "K_logk1", K_logk1); current_statement__ = 77; context__.validate_dims("data initialization","X_logk1","double", context__.to_vec(N, K_logk1)); X_logk1 = Eigen::Matrix(N, K_logk1); stan::math::fill(X_logk1, std::numeric_limits::quiet_NaN()); { std::vector X_logk1_flat__; current_statement__ = 77; assign(X_logk1_flat__, nil_index_list(), context__.vals_r("X_logk1"), "assigning variable X_logk1_flat__"); current_statement__ = 77; pos__ = 1; current_statement__ = 77; for (int sym1__ = 1; sym1__ <= K_logk1; ++sym1__) { current_statement__ = 77; for (int sym2__ = 1; sym2__ <= N; ++sym2__) { current_statement__ = 77; assign(X_logk1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), X_logk1_flat__[(pos__ - 1)], "assigning variable X_logk1"); current_statement__ = 77; pos__ = (pos__ + 1);}} } current_statement__ = 78; context__.validate_dims("data initialization","K_logvnd","int", context__.to_vec()); K_logvnd = std::numeric_limits::min(); current_statement__ = 78; K_logvnd = context__.vals_i("K_logvnd")[(1 - 1)]; current_statement__ = 78; current_statement__ = 78; check_greater_or_equal(function__, "K_logvnd", K_logvnd, 1); current_statement__ = 79; validate_non_negative_index("X_logvnd", "N", N); current_statement__ = 80; validate_non_negative_index("X_logvnd", "K_logvnd", K_logvnd); current_statement__ = 81; context__.validate_dims("data initialization","X_logvnd","double", context__.to_vec(N, K_logvnd)); X_logvnd = Eigen::Matrix(N, K_logvnd); stan::math::fill(X_logvnd, std::numeric_limits::quiet_NaN()); { std::vector X_logvnd_flat__; current_statement__ = 81; assign(X_logvnd_flat__, nil_index_list(), context__.vals_r("X_logvnd"), "assigning variable X_logvnd_flat__"); current_statement__ = 81; pos__ = 1; current_statement__ = 81; for (int sym1__ = 1; sym1__ <= K_logvnd; ++sym1__) { current_statement__ = 81; for (int sym2__ = 1; sym2__ <= N; ++sym2__) { current_statement__ = 81; assign(X_logvnd, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), X_logvnd_flat__[(pos__ - 1)], "assigning variable X_logvnd"); current_statement__ = 81; pos__ = (pos__ + 1);}} } current_statement__ = 82; context__.validate_dims("data initialization","K_logbpnd","int", context__.to_vec()); K_logbpnd = std::numeric_limits::min(); current_statement__ = 82; K_logbpnd = context__.vals_i("K_logbpnd")[(1 - 1)]; current_statement__ = 82; current_statement__ = 82; check_greater_or_equal(function__, "K_logbpnd", K_logbpnd, 1); current_statement__ = 83; validate_non_negative_index("X_logbpnd", "N", N); current_statement__ = 84; validate_non_negative_index("X_logbpnd", "K_logbpnd", K_logbpnd); current_statement__ = 85; context__.validate_dims("data initialization","X_logbpnd","double", context__.to_vec(N, K_logbpnd)); X_logbpnd = Eigen::Matrix(N, K_logbpnd); stan::math::fill(X_logbpnd, std::numeric_limits::quiet_NaN()); { std::vector X_logbpnd_flat__; current_statement__ = 85; assign(X_logbpnd_flat__, nil_index_list(), context__.vals_r("X_logbpnd"), "assigning variable X_logbpnd_flat__"); current_statement__ = 85; pos__ = 1; current_statement__ = 85; for (int sym1__ = 1; sym1__ <= K_logbpnd; ++sym1__) { current_statement__ = 85; for (int sym2__ = 1; sym2__ <= N; ++sym2__) { current_statement__ = 85; assign(X_logbpnd, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), X_logbpnd_flat__[(pos__ - 1)], "assigning variable X_logbpnd"); current_statement__ = 85; pos__ = (pos__ + 1);}} } current_statement__ = 86; context__.validate_dims("data initialization","K_logk4","int", context__.to_vec()); K_logk4 = std::numeric_limits::min(); current_statement__ = 86; K_logk4 = context__.vals_i("K_logk4")[(1 - 1)]; current_statement__ = 86; current_statement__ = 86; check_greater_or_equal(function__, "K_logk4", K_logk4, 1); current_statement__ = 87; validate_non_negative_index("X_logk4", "N", N); current_statement__ = 88; validate_non_negative_index("X_logk4", "K_logk4", K_logk4); current_statement__ = 89; context__.validate_dims("data initialization","X_logk4","double", context__.to_vec(N, K_logk4)); X_logk4 = Eigen::Matrix(N, K_logk4); stan::math::fill(X_logk4, std::numeric_limits::quiet_NaN()); { std::vector X_logk4_flat__; current_statement__ = 89; assign(X_logk4_flat__, nil_index_list(), context__.vals_r("X_logk4"), "assigning variable X_logk4_flat__"); current_statement__ = 89; pos__ = 1; current_statement__ = 89; for (int sym1__ = 1; sym1__ <= K_logk4; ++sym1__) { current_statement__ = 89; for (int sym2__ = 1; sym2__ <= N; ++sym2__) { current_statement__ = 89; assign(X_logk4, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), X_logk4_flat__[(pos__ - 1)], "assigning variable X_logk4"); current_statement__ = 89; pos__ = (pos__ + 1);}} } current_statement__ = 90; context__.validate_dims("data initialization","K_logvb","int", context__.to_vec()); K_logvb = std::numeric_limits::min(); current_statement__ = 90; K_logvb = context__.vals_i("K_logvb")[(1 - 1)]; current_statement__ = 90; current_statement__ = 90; check_greater_or_equal(function__, "K_logvb", K_logvb, 1); current_statement__ = 91; validate_non_negative_index("X_logvb", "N", N); current_statement__ = 92; validate_non_negative_index("X_logvb", "K_logvb", K_logvb); current_statement__ = 93; context__.validate_dims("data initialization","X_logvb","double", context__.to_vec(N, K_logvb)); X_logvb = Eigen::Matrix(N, K_logvb); stan::math::fill(X_logvb, std::numeric_limits::quiet_NaN()); { std::vector X_logvb_flat__; current_statement__ = 93; assign(X_logvb_flat__, nil_index_list(), context__.vals_r("X_logvb"), "assigning variable X_logvb_flat__"); current_statement__ = 93; pos__ = 1; current_statement__ = 93; for (int sym1__ = 1; sym1__ <= K_logvb; ++sym1__) { current_statement__ = 93; for (int sym2__ = 1; sym2__ <= N; ++sym2__) { current_statement__ = 93; assign(X_logvb, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), X_logvb_flat__[(pos__ - 1)], "assigning variable X_logvb"); current_statement__ = 93; pos__ = (pos__ + 1);}} } current_statement__ = 94; validate_non_negative_index("C_1", "N", N); current_statement__ = 95; context__.validate_dims("data initialization","C_1","double", context__.to_vec(N)); C_1 = Eigen::Matrix(N); stan::math::fill(C_1, std::numeric_limits::quiet_NaN()); { std::vector C_1_flat__; current_statement__ = 95; assign(C_1_flat__, nil_index_list(), context__.vals_r("C_1"), "assigning variable C_1_flat__"); current_statement__ = 95; pos__ = 1; current_statement__ = 95; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 95; assign(C_1, cons_list(index_uni(sym1__), nil_index_list()), C_1_flat__[(pos__ - 1)], "assigning variable C_1"); current_statement__ = 95; pos__ = (pos__ + 1);} } current_statement__ = 96; validate_non_negative_index("C_2", "N", N); current_statement__ = 97; context__.validate_dims("data initialization","C_2","double", context__.to_vec(N)); C_2 = Eigen::Matrix(N); stan::math::fill(C_2, std::numeric_limits::quiet_NaN()); { std::vector C_2_flat__; current_statement__ = 97; assign(C_2_flat__, nil_index_list(), context__.vals_r("C_2"), "assigning variable C_2_flat__"); current_statement__ = 97; pos__ = 1; current_statement__ = 97; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 97; assign(C_2, cons_list(index_uni(sym1__), nil_index_list()), C_2_flat__[(pos__ - 1)], "assigning variable C_2"); current_statement__ = 97; pos__ = (pos__ + 1);} } current_statement__ = 98; validate_non_negative_index("C_3", "N", N); current_statement__ = 99; context__.validate_dims("data initialization","C_3","double", context__.to_vec(N)); C_3 = Eigen::Matrix(N); stan::math::fill(C_3, std::numeric_limits::quiet_NaN()); { std::vector C_3_flat__; current_statement__ = 99; assign(C_3_flat__, nil_index_list(), context__.vals_r("C_3"), "assigning variable C_3_flat__"); current_statement__ = 99; pos__ = 1; current_statement__ = 99; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 99; assign(C_3, cons_list(index_uni(sym1__), nil_index_list()), C_3_flat__[(pos__ - 1)], "assigning variable C_3"); current_statement__ = 99; pos__ = (pos__ + 1);} } current_statement__ = 100; validate_non_negative_index("C_4", "N", N); current_statement__ = 101; context__.validate_dims("data initialization","C_4","double", context__.to_vec(N)); C_4 = Eigen::Matrix(N); stan::math::fill(C_4, std::numeric_limits::quiet_NaN()); { std::vector C_4_flat__; current_statement__ = 101; assign(C_4_flat__, nil_index_list(), context__.vals_r("C_4"), "assigning variable C_4_flat__"); current_statement__ = 101; pos__ = 1; current_statement__ = 101; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 101; assign(C_4, cons_list(index_uni(sym1__), nil_index_list()), C_4_flat__[(pos__ - 1)], "assigning variable C_4"); current_statement__ = 101; pos__ = (pos__ + 1);} } current_statement__ = 102; validate_non_negative_index("C_5", "N", N); current_statement__ = 103; context__.validate_dims("data initialization","C_5","double", context__.to_vec(N)); C_5 = Eigen::Matrix(N); stan::math::fill(C_5, std::numeric_limits::quiet_NaN()); { std::vector C_5_flat__; current_statement__ = 103; assign(C_5_flat__, nil_index_list(), context__.vals_r("C_5"), "assigning variable C_5_flat__"); current_statement__ = 103; pos__ = 1; current_statement__ = 103; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 103; assign(C_5, cons_list(index_uni(sym1__), nil_index_list()), C_5_flat__[(pos__ - 1)], "assigning variable C_5"); current_statement__ = 103; pos__ = (pos__ + 1);} } current_statement__ = 104; validate_non_negative_index("C_6", "N", N); current_statement__ = 105; context__.validate_dims("data initialization","C_6","double", context__.to_vec(N)); C_6 = Eigen::Matrix(N); stan::math::fill(C_6, std::numeric_limits::quiet_NaN()); { std::vector C_6_flat__; current_statement__ = 105; assign(C_6_flat__, nil_index_list(), context__.vals_r("C_6"), "assigning variable C_6_flat__"); current_statement__ = 105; pos__ = 1; current_statement__ = 105; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 105; assign(C_6, cons_list(index_uni(sym1__), nil_index_list()), C_6_flat__[(pos__ - 1)], "assigning variable C_6"); current_statement__ = 105; pos__ = (pos__ + 1);} } current_statement__ = 106; validate_non_negative_index("C_7", "N", N); current_statement__ = 107; context__.validate_dims("data initialization","C_7","double", context__.to_vec(N)); C_7 = Eigen::Matrix(N); stan::math::fill(C_7, std::numeric_limits::quiet_NaN()); { std::vector C_7_flat__; current_statement__ = 107; assign(C_7_flat__, nil_index_list(), context__.vals_r("C_7"), "assigning variable C_7_flat__"); current_statement__ = 107; pos__ = 1; current_statement__ = 107; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 107; assign(C_7, cons_list(index_uni(sym1__), nil_index_list()), C_7_flat__[(pos__ - 1)], "assigning variable C_7"); current_statement__ = 107; pos__ = (pos__ + 1);} } current_statement__ = 108; validate_non_negative_index("C_8", "N", N); current_statement__ = 109; context__.validate_dims("data initialization","C_8","double", context__.to_vec(N)); C_8 = Eigen::Matrix(N); stan::math::fill(C_8, std::numeric_limits::quiet_NaN()); { std::vector C_8_flat__; current_statement__ = 109; assign(C_8_flat__, nil_index_list(), context__.vals_r("C_8"), "assigning variable C_8_flat__"); current_statement__ = 109; pos__ = 1; current_statement__ = 109; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 109; assign(C_8, cons_list(index_uni(sym1__), nil_index_list()), C_8_flat__[(pos__ - 1)], "assigning variable C_8"); current_statement__ = 109; pos__ = (pos__ + 1);} } current_statement__ = 110; validate_non_negative_index("C_9", "N", N); current_statement__ = 111; context__.validate_dims("data initialization","C_9","double", context__.to_vec(N)); C_9 = Eigen::Matrix(N); stan::math::fill(C_9, std::numeric_limits::quiet_NaN()); { std::vector C_9_flat__; current_statement__ = 111; assign(C_9_flat__, nil_index_list(), context__.vals_r("C_9"), "assigning variable C_9_flat__"); current_statement__ = 111; pos__ = 1; current_statement__ = 111; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 111; assign(C_9, cons_list(index_uni(sym1__), nil_index_list()), C_9_flat__[(pos__ - 1)], "assigning variable C_9"); current_statement__ = 111; pos__ = (pos__ + 1);} } current_statement__ = 112; validate_non_negative_index("C_10", "N", N); current_statement__ = 113; context__.validate_dims("data initialization","C_10","double", context__.to_vec(N)); C_10 = Eigen::Matrix(N); stan::math::fill(C_10, std::numeric_limits::quiet_NaN()); { std::vector C_10_flat__; current_statement__ = 113; assign(C_10_flat__, nil_index_list(), context__.vals_r("C_10"), "assigning variable C_10_flat__"); current_statement__ = 113; pos__ = 1; current_statement__ = 113; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 113; assign(C_10, cons_list(index_uni(sym1__), nil_index_list()), C_10_flat__[(pos__ - 1)], "assigning variable C_10"); current_statement__ = 113; pos__ = (pos__ + 1);} } current_statement__ = 114; validate_non_negative_index("C_11", "N", N); current_statement__ = 115; context__.validate_dims("data initialization","C_11","double", context__.to_vec(N)); C_11 = Eigen::Matrix(N); stan::math::fill(C_11, std::numeric_limits::quiet_NaN()); { std::vector C_11_flat__; current_statement__ = 115; assign(C_11_flat__, nil_index_list(), context__.vals_r("C_11"), "assigning variable C_11_flat__"); current_statement__ = 115; pos__ = 1; current_statement__ = 115; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 115; assign(C_11, cons_list(index_uni(sym1__), nil_index_list()), C_11_flat__[(pos__ - 1)], "assigning variable C_11"); current_statement__ = 115; pos__ = (pos__ + 1);} } current_statement__ = 116; validate_non_negative_index("C_12", "N", N); current_statement__ = 117; context__.validate_dims("data initialization","C_12","double", context__.to_vec(N)); C_12 = Eigen::Matrix(N); stan::math::fill(C_12, std::numeric_limits::quiet_NaN()); { std::vector C_12_flat__; current_statement__ = 117; assign(C_12_flat__, nil_index_list(), context__.vals_r("C_12"), "assigning variable C_12_flat__"); current_statement__ = 117; pos__ = 1; current_statement__ = 117; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 117; assign(C_12, cons_list(index_uni(sym1__), nil_index_list()), C_12_flat__[(pos__ - 1)], "assigning variable C_12"); current_statement__ = 117; pos__ = (pos__ + 1);} } current_statement__ = 118; validate_non_negative_index("C_13", "N", N); current_statement__ = 119; context__.validate_dims("data initialization","C_13","double", context__.to_vec(N)); C_13 = Eigen::Matrix(N); stan::math::fill(C_13, std::numeric_limits::quiet_NaN()); { std::vector C_13_flat__; current_statement__ = 119; assign(C_13_flat__, nil_index_list(), context__.vals_r("C_13"), "assigning variable C_13_flat__"); current_statement__ = 119; pos__ = 1; current_statement__ = 119; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 119; assign(C_13, cons_list(index_uni(sym1__), nil_index_list()), C_13_flat__[(pos__ - 1)], "assigning variable C_13"); current_statement__ = 119; pos__ = (pos__ + 1);} } current_statement__ = 120; validate_non_negative_index("C_14", "N", N); current_statement__ = 121; context__.validate_dims("data initialization","C_14","double", context__.to_vec(N)); C_14 = Eigen::Matrix(N); stan::math::fill(C_14, std::numeric_limits::quiet_NaN()); { std::vector C_14_flat__; current_statement__ = 121; assign(C_14_flat__, nil_index_list(), context__.vals_r("C_14"), "assigning variable C_14_flat__"); current_statement__ = 121; pos__ = 1; current_statement__ = 121; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 121; assign(C_14, cons_list(index_uni(sym1__), nil_index_list()), C_14_flat__[(pos__ - 1)], "assigning variable C_14"); current_statement__ = 121; pos__ = (pos__ + 1);} } current_statement__ = 122; validate_non_negative_index("C_15", "N", N); current_statement__ = 123; context__.validate_dims("data initialization","C_15","double", context__.to_vec(N)); C_15 = Eigen::Matrix(N); stan::math::fill(C_15, std::numeric_limits::quiet_NaN()); { std::vector C_15_flat__; current_statement__ = 123; assign(C_15_flat__, nil_index_list(), context__.vals_r("C_15"), "assigning variable C_15_flat__"); current_statement__ = 123; pos__ = 1; current_statement__ = 123; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 123; assign(C_15, cons_list(index_uni(sym1__), nil_index_list()), C_15_flat__[(pos__ - 1)], "assigning variable C_15"); current_statement__ = 123; pos__ = (pos__ + 1);} } current_statement__ = 124; validate_non_negative_index("C_16", "N", N); current_statement__ = 125; context__.validate_dims("data initialization","C_16","double", context__.to_vec(N)); C_16 = Eigen::Matrix(N); stan::math::fill(C_16, std::numeric_limits::quiet_NaN()); { std::vector C_16_flat__; current_statement__ = 125; assign(C_16_flat__, nil_index_list(), context__.vals_r("C_16"), "assigning variable C_16_flat__"); current_statement__ = 125; pos__ = 1; current_statement__ = 125; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 125; assign(C_16, cons_list(index_uni(sym1__), nil_index_list()), C_16_flat__[(pos__ - 1)], "assigning variable C_16"); current_statement__ = 125; pos__ = (pos__ + 1);} } current_statement__ = 126; validate_non_negative_index("C_17", "N", N); current_statement__ = 127; context__.validate_dims("data initialization","C_17","double", context__.to_vec(N)); C_17 = Eigen::Matrix(N); stan::math::fill(C_17, std::numeric_limits::quiet_NaN()); { std::vector C_17_flat__; current_statement__ = 127; assign(C_17_flat__, nil_index_list(), context__.vals_r("C_17"), "assigning variable C_17_flat__"); current_statement__ = 127; pos__ = 1; current_statement__ = 127; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 127; assign(C_17, cons_list(index_uni(sym1__), nil_index_list()), C_17_flat__[(pos__ - 1)], "assigning variable C_17"); current_statement__ = 127; pos__ = (pos__ + 1);} } current_statement__ = 128; validate_non_negative_index("C_18", "N", N); current_statement__ = 129; context__.validate_dims("data initialization","C_18","int", context__.to_vec(N)); C_18 = std::vector(N, std::numeric_limits::min()); current_statement__ = 129; assign(C_18, nil_index_list(), context__.vals_i("C_18"), "assigning variable C_18"); current_statement__ = 130; context__.validate_dims("data initialization","N_1","int", context__.to_vec()); N_1 = std::numeric_limits::min(); current_statement__ = 130; N_1 = context__.vals_i("N_1")[(1 - 1)]; current_statement__ = 130; current_statement__ = 130; check_greater_or_equal(function__, "N_1", N_1, 1); current_statement__ = 131; context__.validate_dims("data initialization","M_1","int", context__.to_vec()); M_1 = std::numeric_limits::min(); current_statement__ = 131; M_1 = context__.vals_i("M_1")[(1 - 1)]; current_statement__ = 131; current_statement__ = 131; check_greater_or_equal(function__, "M_1", M_1, 1); current_statement__ = 132; validate_non_negative_index("J_1", "N", N); current_statement__ = 133; context__.validate_dims("data initialization","J_1","int", context__.to_vec(N)); J_1 = std::vector(N, std::numeric_limits::min()); current_statement__ = 133; assign(J_1, nil_index_list(), context__.vals_i("J_1"), "assigning variable J_1"); current_statement__ = 133; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 133; current_statement__ = 133; check_greater_or_equal(function__, "J_1[sym1__]", J_1[(sym1__ - 1)], 1);} current_statement__ = 134; validate_non_negative_index("Z_1_logk1_1", "N", N); current_statement__ = 135; context__.validate_dims("data initialization","Z_1_logk1_1","double", context__.to_vec(N)); Z_1_logk1_1 = Eigen::Matrix(N); stan::math::fill(Z_1_logk1_1, std::numeric_limits::quiet_NaN()); { std::vector Z_1_logk1_1_flat__; current_statement__ = 135; assign(Z_1_logk1_1_flat__, nil_index_list(), context__.vals_r("Z_1_logk1_1"), "assigning variable Z_1_logk1_1_flat__"); current_statement__ = 135; pos__ = 1; current_statement__ = 135; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 135; assign(Z_1_logk1_1, cons_list(index_uni(sym1__), nil_index_list()), Z_1_logk1_1_flat__[(pos__ - 1)], "assigning variable Z_1_logk1_1"); current_statement__ = 135; pos__ = (pos__ + 1);} } current_statement__ = 136; validate_non_negative_index("Z_1_logvnd_2", "N", N); current_statement__ = 137; context__.validate_dims("data initialization","Z_1_logvnd_2","double", context__.to_vec(N)); Z_1_logvnd_2 = Eigen::Matrix(N); stan::math::fill(Z_1_logvnd_2, std::numeric_limits::quiet_NaN()); { std::vector Z_1_logvnd_2_flat__; current_statement__ = 137; assign(Z_1_logvnd_2_flat__, nil_index_list(), context__.vals_r("Z_1_logvnd_2"), "assigning variable Z_1_logvnd_2_flat__"); current_statement__ = 137; pos__ = 1; current_statement__ = 137; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 137; assign(Z_1_logvnd_2, cons_list(index_uni(sym1__), nil_index_list()), Z_1_logvnd_2_flat__[(pos__ - 1)], "assigning variable Z_1_logvnd_2"); current_statement__ = 137; pos__ = (pos__ + 1);} } current_statement__ = 138; validate_non_negative_index("Z_1_logbpnd_3", "N", N); current_statement__ = 139; context__.validate_dims("data initialization","Z_1_logbpnd_3","double", context__.to_vec(N)); Z_1_logbpnd_3 = Eigen::Matrix(N); stan::math::fill(Z_1_logbpnd_3, std::numeric_limits::quiet_NaN()); { std::vector Z_1_logbpnd_3_flat__; current_statement__ = 139; assign(Z_1_logbpnd_3_flat__, nil_index_list(), context__.vals_r("Z_1_logbpnd_3"), "assigning variable Z_1_logbpnd_3_flat__"); current_statement__ = 139; pos__ = 1; current_statement__ = 139; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 139; assign(Z_1_logbpnd_3, cons_list(index_uni(sym1__), nil_index_list()), Z_1_logbpnd_3_flat__[(pos__ - 1)], "assigning variable Z_1_logbpnd_3"); current_statement__ = 139; pos__ = (pos__ + 1);} } current_statement__ = 140; validate_non_negative_index("Z_1_logk4_4", "N", N); current_statement__ = 141; context__.validate_dims("data initialization","Z_1_logk4_4","double", context__.to_vec(N)); Z_1_logk4_4 = Eigen::Matrix(N); stan::math::fill(Z_1_logk4_4, std::numeric_limits::quiet_NaN()); { std::vector Z_1_logk4_4_flat__; current_statement__ = 141; assign(Z_1_logk4_4_flat__, nil_index_list(), context__.vals_r("Z_1_logk4_4"), "assigning variable Z_1_logk4_4_flat__"); current_statement__ = 141; pos__ = 1; current_statement__ = 141; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 141; assign(Z_1_logk4_4, cons_list(index_uni(sym1__), nil_index_list()), Z_1_logk4_4_flat__[(pos__ - 1)], "assigning variable Z_1_logk4_4"); current_statement__ = 141; pos__ = (pos__ + 1);} } current_statement__ = 142; validate_non_negative_index("Z_1_logvb_5", "N", N); current_statement__ = 143; context__.validate_dims("data initialization","Z_1_logvb_5","double", context__.to_vec(N)); Z_1_logvb_5 = Eigen::Matrix(N); stan::math::fill(Z_1_logvb_5, std::numeric_limits::quiet_NaN()); { std::vector Z_1_logvb_5_flat__; current_statement__ = 143; assign(Z_1_logvb_5_flat__, nil_index_list(), context__.vals_r("Z_1_logvb_5"), "assigning variable Z_1_logvb_5_flat__"); current_statement__ = 143; pos__ = 1; current_statement__ = 143; for (int sym1__ = 1; sym1__ <= N; ++sym1__) { current_statement__ = 143; assign(Z_1_logvb_5, cons_list(index_uni(sym1__), nil_index_list()), Z_1_logvb_5_flat__[(pos__ - 1)], "assigning variable Z_1_logvb_5"); current_statement__ = 143; pos__ = (pos__ + 1);} } current_statement__ = 144; context__.validate_dims("data initialization","NC_1","int", context__.to_vec()); NC_1 = std::numeric_limits::min(); current_statement__ = 144; NC_1 = context__.vals_i("NC_1")[(1 - 1)]; current_statement__ = 144; current_statement__ = 144; check_greater_or_equal(function__, "NC_1", NC_1, 1); current_statement__ = 145; context__.validate_dims("data initialization","prior_only","int", context__.to_vec()); prior_only = std::numeric_limits::min(); current_statement__ = 145; prior_only = context__.vals_i("prior_only")[(1 - 1)]; current_statement__ = 146; validate_non_negative_index("b_logk1", "K_logk1", K_logk1); current_statement__ = 147; validate_non_negative_index("b_logvnd", "K_logvnd", K_logvnd); current_statement__ = 148; validate_non_negative_index("b_logbpnd", "K_logbpnd", K_logbpnd); current_statement__ = 149; validate_non_negative_index("b_logk4", "K_logk4", K_logk4); current_statement__ = 150; validate_non_negative_index("b_logvb", "K_logvb", K_logvb); current_statement__ = 151; validate_non_negative_index("sd_1", "M_1", M_1); current_statement__ = 152; validate_non_negative_index("z_1", "M_1", M_1); current_statement__ = 153; validate_non_negative_index("z_1", "N_1", N_1); current_statement__ = 154; validate_non_negative_index("L_1", "M_1", M_1); current_statement__ = 154; validate_non_negative_index("L_1", "M_1", M_1); current_statement__ = 155; validate_non_negative_index("r_1", "N_1", N_1); current_statement__ = 156; validate_non_negative_index("r_1", "M_1", M_1); current_statement__ = 157; validate_non_negative_index("r_1_logk1_1", "N_1", N_1); current_statement__ = 158; validate_non_negative_index("r_1_logvnd_2", "N_1", N_1); current_statement__ = 159; validate_non_negative_index("r_1_logbpnd_3", "N_1", N_1); current_statement__ = 160; validate_non_negative_index("r_1_logk4_4", "N_1", N_1); current_statement__ = 161; validate_non_negative_index("r_1_logvb_5", "N_1", N_1); current_statement__ = 162; validate_non_negative_index("Cor_1", "M_1", M_1); current_statement__ = 162; validate_non_negative_index("Cor_1", "M_1", M_1); current_statement__ = 163; validate_non_negative_index("cor_1", "NC_1", NC_1); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } num_params_r__ = 0U; try { num_params_r__ += K_logk1; num_params_r__ += K_logvnd; num_params_r__ += K_logbpnd; num_params_r__ += K_logk4; num_params_r__ += K_logvb; num_params_r__ += 1; num_params_r__ += M_1; num_params_r__ += M_1 * N_1; num_params_r__ += ((M_1 * (M_1 - 1)) / 2); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } } template inline T__ log_prob(std::vector& params_r__, std::vector& params_i__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = T__; T__ lp__(0.0); stan::math::accumulator lp_accum__; static const char* function__ = "cmdstanr_test_model_namespace::log_prob"; (void) function__; // suppress unused var warning stan::io::reader in__(params_r__, params_i__); local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { Eigen::Matrix b_logk1; b_logk1 = Eigen::Matrix(K_logk1); stan::math::fill(b_logk1, DUMMY_VAR__); current_statement__ = 1; b_logk1 = in__.vector(K_logk1); Eigen::Matrix b_logvnd; b_logvnd = Eigen::Matrix(K_logvnd); stan::math::fill(b_logvnd, DUMMY_VAR__); current_statement__ = 2; b_logvnd = in__.vector(K_logvnd); Eigen::Matrix b_logbpnd; b_logbpnd = Eigen::Matrix(K_logbpnd); stan::math::fill(b_logbpnd, DUMMY_VAR__); current_statement__ = 3; b_logbpnd = in__.vector(K_logbpnd); Eigen::Matrix b_logk4; b_logk4 = Eigen::Matrix(K_logk4); stan::math::fill(b_logk4, DUMMY_VAR__); current_statement__ = 4; b_logk4 = in__.vector(K_logk4); Eigen::Matrix b_logvb; b_logvb = Eigen::Matrix(K_logvb); stan::math::fill(b_logvb, DUMMY_VAR__); current_statement__ = 5; b_logvb = in__.vector(K_logvb); local_scalar_t__ sigma; sigma = DUMMY_VAR__; current_statement__ = 6; sigma = in__.scalar(); current_statement__ = 6; if (jacobian__) { current_statement__ = 6; sigma = stan::math::lb_constrain(sigma, 0, lp__); } else { current_statement__ = 6; sigma = stan::math::lb_constrain(sigma, 0); } Eigen::Matrix sd_1; sd_1 = Eigen::Matrix(M_1); stan::math::fill(sd_1, DUMMY_VAR__); current_statement__ = 7; sd_1 = in__.vector(M_1); current_statement__ = 7; for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { current_statement__ = 7; if (jacobian__) { current_statement__ = 7; assign(sd_1, cons_list(index_uni(sym1__), nil_index_list()), stan::math::lb_constrain(sd_1[(sym1__ - 1)], 0, lp__), "assigning variable sd_1"); } else { current_statement__ = 7; assign(sd_1, cons_list(index_uni(sym1__), nil_index_list()), stan::math::lb_constrain(sd_1[(sym1__ - 1)], 0), "assigning variable sd_1"); }} Eigen::Matrix z_1; z_1 = Eigen::Matrix(M_1, N_1); stan::math::fill(z_1, DUMMY_VAR__); current_statement__ = 8; z_1 = in__.matrix(M_1, N_1); Eigen::Matrix L_1; L_1 = Eigen::Matrix(M_1, M_1); stan::math::fill(L_1, DUMMY_VAR__); Eigen::Matrix L_1_in__; L_1_in__ = Eigen::Matrix(((M_1 * (M_1 - 1)) / 2)); stan::math::fill(L_1_in__, DUMMY_VAR__); current_statement__ = 9; L_1_in__ = in__.vector(((M_1 * (M_1 - 1)) / 2)); current_statement__ = 9; if (jacobian__) { current_statement__ = 9; assign(L_1, nil_index_list(), stan::math::cholesky_corr_constrain(L_1_in__, M_1, lp__), "assigning variable L_1"); } else { current_statement__ = 9; assign(L_1, nil_index_list(), stan::math::cholesky_corr_constrain(L_1_in__, M_1), "assigning variable L_1"); } Eigen::Matrix r_1; r_1 = Eigen::Matrix(N_1, M_1); stan::math::fill(r_1, DUMMY_VAR__); Eigen::Matrix r_1_logk1_1; r_1_logk1_1 = Eigen::Matrix(N_1); stan::math::fill(r_1_logk1_1, DUMMY_VAR__); Eigen::Matrix r_1_logvnd_2; r_1_logvnd_2 = Eigen::Matrix(N_1); stan::math::fill(r_1_logvnd_2, DUMMY_VAR__); Eigen::Matrix r_1_logbpnd_3; r_1_logbpnd_3 = Eigen::Matrix(N_1); stan::math::fill(r_1_logbpnd_3, DUMMY_VAR__); Eigen::Matrix r_1_logk4_4; r_1_logk4_4 = Eigen::Matrix(N_1); stan::math::fill(r_1_logk4_4, DUMMY_VAR__); Eigen::Matrix r_1_logvb_5; r_1_logvb_5 = Eigen::Matrix(N_1); stan::math::fill(r_1_logvb_5, DUMMY_VAR__); current_statement__ = 16; assign(r_1, nil_index_list(), transpose(multiply(diag_pre_multiply(sd_1, L_1), z_1)), "assigning variable r_1"); current_statement__ = 17; assign(r_1_logk1_1, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(1), nil_index_list())), "r_1"), "assigning variable r_1_logk1_1"); current_statement__ = 18; assign(r_1_logvnd_2, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(2), nil_index_list())), "r_1"), "assigning variable r_1_logvnd_2"); current_statement__ = 19; assign(r_1_logbpnd_3, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(3), nil_index_list())), "r_1"), "assigning variable r_1_logbpnd_3"); current_statement__ = 20; assign(r_1_logk4_4, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(4), nil_index_list())), "r_1"), "assigning variable r_1_logk4_4"); current_statement__ = 21; assign(r_1_logvb_5, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(5), nil_index_list())), "r_1"), "assigning variable r_1_logvb_5"); { current_statement__ = 29; validate_non_negative_index("nlp_logk1", "N", N); Eigen::Matrix nlp_logk1; nlp_logk1 = Eigen::Matrix(N); stan::math::fill(nlp_logk1, DUMMY_VAR__); current_statement__ = 30; assign(nlp_logk1, nil_index_list(), multiply(X_logk1, b_logk1), "assigning variable nlp_logk1"); current_statement__ = 31; validate_non_negative_index("nlp_logvnd", "N", N); Eigen::Matrix nlp_logvnd; nlp_logvnd = Eigen::Matrix(N); stan::math::fill(nlp_logvnd, DUMMY_VAR__); current_statement__ = 32; assign(nlp_logvnd, nil_index_list(), multiply(X_logvnd, b_logvnd), "assigning variable nlp_logvnd"); current_statement__ = 33; validate_non_negative_index("nlp_logbpnd", "N", N); Eigen::Matrix nlp_logbpnd; nlp_logbpnd = Eigen::Matrix(N); stan::math::fill(nlp_logbpnd, DUMMY_VAR__); current_statement__ = 34; assign(nlp_logbpnd, nil_index_list(), multiply(X_logbpnd, b_logbpnd), "assigning variable nlp_logbpnd"); current_statement__ = 35; validate_non_negative_index("nlp_logk4", "N", N); Eigen::Matrix nlp_logk4; nlp_logk4 = Eigen::Matrix(N); stan::math::fill(nlp_logk4, DUMMY_VAR__); current_statement__ = 36; assign(nlp_logk4, nil_index_list(), multiply(X_logk4, b_logk4), "assigning variable nlp_logk4"); current_statement__ = 37; validate_non_negative_index("nlp_logvb", "N", N); Eigen::Matrix nlp_logvb; nlp_logvb = Eigen::Matrix(N); stan::math::fill(nlp_logvb, DUMMY_VAR__); current_statement__ = 38; assign(nlp_logvb, nil_index_list(), multiply(X_logvb, b_logvb), "assigning variable nlp_logvb"); current_statement__ = 39; validate_non_negative_index("mu", "N", N); Eigen::Matrix mu; mu = Eigen::Matrix(N); stan::math::fill(mu, DUMMY_VAR__); current_statement__ = 43; for (int n = 1; n <= N; ++n) { current_statement__ = 41; assign(nlp_logk1, cons_list(index_uni(n), nil_index_list()), (nlp_logk1[(n - 1)] + (r_1_logk1_1[(J_1[(n - 1)] - 1)] * Z_1_logk1_1[(n - 1)])), "assigning variable nlp_logk1");} current_statement__ = 46; for (int n = 1; n <= N; ++n) { current_statement__ = 44; assign(nlp_logvnd, cons_list(index_uni(n), nil_index_list()), (nlp_logvnd[(n - 1)] + (r_1_logvnd_2[(J_1[(n - 1)] - 1)] * Z_1_logvnd_2[(n - 1)])), "assigning variable nlp_logvnd");} current_statement__ = 49; for (int n = 1; n <= N; ++n) { current_statement__ = 47; assign(nlp_logbpnd, cons_list(index_uni(n), nil_index_list()), (nlp_logbpnd[(n - 1)] + (r_1_logbpnd_3[(J_1[(n - 1)] - 1)] * Z_1_logbpnd_3[(n - 1)])), "assigning variable nlp_logbpnd");} current_statement__ = 52; for (int n = 1; n <= N; ++n) { current_statement__ = 50; assign(nlp_logk4, cons_list(index_uni(n), nil_index_list()), (nlp_logk4[(n - 1)] + (r_1_logk4_4[(J_1[(n - 1)] - 1)] * Z_1_logk4_4[(n - 1)])), "assigning variable nlp_logk4");} current_statement__ = 55; for (int n = 1; n <= N; ++n) { current_statement__ = 53; assign(nlp_logvb, cons_list(index_uni(n), nil_index_list()), (nlp_logvb[(n - 1)] + (r_1_logvb_5[(J_1[(n - 1)] - 1)] * Z_1_logvb_5[(n - 1)])), "assigning variable nlp_logvb");} current_statement__ = 58; for (int n = 1; n <= N; ++n) { current_statement__ = 56; assign(mu, cons_list(index_uni(n), nil_index_list()), twotcm_log_stan(nlp_logk1[(n - 1)], nlp_logvnd[(n - 1)], nlp_logbpnd[(n - 1)], nlp_logk4[(n - 1)], nlp_logvb[(n - 1)], C_1[(n - 1)], C_2[(n - 1)], C_3[(n - 1)], C_4[(n - 1)], C_5[(n - 1)], C_6[(n - 1)], C_7[(n - 1)], C_8[(n - 1)], C_9[(n - 1)], C_10[(n - 1)], C_11[(n - 1)], C_12[(n - 1)], C_13[(n - 1)], C_14[(n - 1)], C_15[(n - 1)], C_16[(n - 1)], C_17[(n - 1)], C_18[(n - 1)], pstream__), "assigning variable mu");} current_statement__ = 59; lp_accum__.add(normal_lpdf(b_logk1, -3, 0.2)); current_statement__ = 60; lp_accum__.add(normal_lpdf(b_logvnd, -1.5, 0.2)); current_statement__ = 61; lp_accum__.add(normal_lpdf(b_logbpnd, 1, 0.2)); current_statement__ = 62; lp_accum__.add(normal_lpdf(b_logk4, -4, 0.2)); current_statement__ = 63; lp_accum__.add(normal_lpdf(b_logvb, -2, 1)); current_statement__ = 64; lp_accum__.add( (normal_lpdf(sigma, 0, 0.005) - (1 * normal_lccdf(0, 0, 0.005)))); current_statement__ = 65; lp_accum__.add( (normal_lpdf(sd_1, 0, 0.2) - (5 * normal_lccdf(0, 0, 0.2)))); current_statement__ = 66; lp_accum__.add(std_normal_lpdf(to_vector(z_1))); current_statement__ = 67; lp_accum__.add(lkj_corr_cholesky_lpdf(L_1, 1)); current_statement__ = 70; if (logical_negation(prior_only)) { current_statement__ = 68; lp_accum__.add(normal_lpdf(Y, mu, sigma)); } } } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } lp_accum__.add(lp__); return lp_accum__.sum(); } // log_prob() template inline void write_array(RNG& base_rng__, std::vector& params_r__, std::vector& params_i__, std::vector& vars__, bool emit_transformed_parameters__ = true, bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; vars__.resize(0); stan::io::reader in__(params_r__, params_i__); static const char* function__ = "cmdstanr_test_model_namespace::write_array"; (void) function__; // suppress unused var warning (void) function__; // suppress unused var warning double lp__ = 0.0; (void) lp__; // dummy to suppress unused var warning stan::math::accumulator lp_accum__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { Eigen::Matrix b_logk1; b_logk1 = Eigen::Matrix(K_logk1); stan::math::fill(b_logk1, std::numeric_limits::quiet_NaN()); current_statement__ = 1; b_logk1 = in__.vector(K_logk1); Eigen::Matrix b_logvnd; b_logvnd = Eigen::Matrix(K_logvnd); stan::math::fill(b_logvnd, std::numeric_limits::quiet_NaN()); current_statement__ = 2; b_logvnd = in__.vector(K_logvnd); Eigen::Matrix b_logbpnd; b_logbpnd = Eigen::Matrix(K_logbpnd); stan::math::fill(b_logbpnd, std::numeric_limits::quiet_NaN()); current_statement__ = 3; b_logbpnd = in__.vector(K_logbpnd); Eigen::Matrix b_logk4; b_logk4 = Eigen::Matrix(K_logk4); stan::math::fill(b_logk4, std::numeric_limits::quiet_NaN()); current_statement__ = 4; b_logk4 = in__.vector(K_logk4); Eigen::Matrix b_logvb; b_logvb = Eigen::Matrix(K_logvb); stan::math::fill(b_logvb, std::numeric_limits::quiet_NaN()); current_statement__ = 5; b_logvb = in__.vector(K_logvb); double sigma; sigma = std::numeric_limits::quiet_NaN(); current_statement__ = 6; sigma = in__.scalar(); current_statement__ = 6; sigma = stan::math::lb_constrain(sigma, 0); Eigen::Matrix sd_1; sd_1 = Eigen::Matrix(M_1); stan::math::fill(sd_1, std::numeric_limits::quiet_NaN()); current_statement__ = 7; sd_1 = in__.vector(M_1); current_statement__ = 7; for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { current_statement__ = 7; assign(sd_1, cons_list(index_uni(sym1__), nil_index_list()), stan::math::lb_constrain(sd_1[(sym1__ - 1)], 0), "assigning variable sd_1");} Eigen::Matrix z_1; z_1 = Eigen::Matrix(M_1, N_1); stan::math::fill(z_1, std::numeric_limits::quiet_NaN()); current_statement__ = 8; z_1 = in__.matrix(M_1, N_1); Eigen::Matrix L_1; L_1 = Eigen::Matrix(M_1, M_1); stan::math::fill(L_1, std::numeric_limits::quiet_NaN()); Eigen::Matrix L_1_in__; L_1_in__ = Eigen::Matrix(((M_1 * (M_1 - 1)) / 2)); stan::math::fill(L_1_in__, DUMMY_VAR__); current_statement__ = 9; L_1_in__ = in__.vector(((M_1 * (M_1 - 1)) / 2)); current_statement__ = 9; assign(L_1, nil_index_list(), stan::math::cholesky_corr_constrain(L_1_in__, M_1), "assigning variable L_1"); Eigen::Matrix r_1; r_1 = Eigen::Matrix(N_1, M_1); stan::math::fill(r_1, std::numeric_limits::quiet_NaN()); Eigen::Matrix r_1_logk1_1; r_1_logk1_1 = Eigen::Matrix(N_1); stan::math::fill(r_1_logk1_1, std::numeric_limits::quiet_NaN()); Eigen::Matrix r_1_logvnd_2; r_1_logvnd_2 = Eigen::Matrix(N_1); stan::math::fill(r_1_logvnd_2, std::numeric_limits::quiet_NaN()); Eigen::Matrix r_1_logbpnd_3; r_1_logbpnd_3 = Eigen::Matrix(N_1); stan::math::fill(r_1_logbpnd_3, std::numeric_limits::quiet_NaN()); Eigen::Matrix r_1_logk4_4; r_1_logk4_4 = Eigen::Matrix(N_1); stan::math::fill(r_1_logk4_4, std::numeric_limits::quiet_NaN()); Eigen::Matrix r_1_logvb_5; r_1_logvb_5 = Eigen::Matrix(N_1); stan::math::fill(r_1_logvb_5, std::numeric_limits::quiet_NaN()); for (int sym1__ = 1; sym1__ <= K_logk1; ++sym1__) { vars__.emplace_back(b_logk1[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logvnd; ++sym1__) { vars__.emplace_back(b_logvnd[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logbpnd; ++sym1__) { vars__.emplace_back(b_logbpnd[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logk4; ++sym1__) { vars__.emplace_back(b_logk4[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logvb; ++sym1__) { vars__.emplace_back(b_logvb[(sym1__ - 1)]);} vars__.emplace_back(sigma); for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { vars__.emplace_back(sd_1[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { vars__.emplace_back( rvalue(z_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), "z_1"));}} for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { vars__.emplace_back( rvalue(L_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), "L_1"));}} if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } current_statement__ = 16; assign(r_1, nil_index_list(), transpose(multiply(diag_pre_multiply(sd_1, L_1), z_1)), "assigning variable r_1"); current_statement__ = 17; assign(r_1_logk1_1, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(1), nil_index_list())), "r_1"), "assigning variable r_1_logk1_1"); current_statement__ = 18; assign(r_1_logvnd_2, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(2), nil_index_list())), "r_1"), "assigning variable r_1_logvnd_2"); current_statement__ = 19; assign(r_1_logbpnd_3, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(3), nil_index_list())), "r_1"), "assigning variable r_1_logbpnd_3"); current_statement__ = 20; assign(r_1_logk4_4, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(4), nil_index_list())), "r_1"), "assigning variable r_1_logk4_4"); current_statement__ = 21; assign(r_1_logvb_5, nil_index_list(), rvalue(r_1, cons_list(index_omni(), cons_list(index_uni(5), nil_index_list())), "r_1"), "assigning variable r_1_logvb_5"); if (emit_transformed_parameters__) { for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { for (int sym2__ = 1; sym2__ <= N_1; ++sym2__) { vars__.emplace_back( rvalue(r_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), "r_1"));}} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { vars__.emplace_back(r_1_logk1_1[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { vars__.emplace_back(r_1_logvnd_2[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { vars__.emplace_back(r_1_logbpnd_3[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { vars__.emplace_back(r_1_logk4_4[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { vars__.emplace_back(r_1_logvb_5[(sym1__ - 1)]);} } if (logical_negation(emit_generated_quantities__)) { return ; } Eigen::Matrix Cor_1; Cor_1 = Eigen::Matrix(M_1, M_1); stan::math::fill(Cor_1, std::numeric_limits::quiet_NaN()); current_statement__ = 22; assign(Cor_1, nil_index_list(), multiply_lower_tri_self_transpose(L_1), "assigning variable Cor_1"); Eigen::Matrix cor_1; cor_1 = Eigen::Matrix(NC_1); stan::math::fill(cor_1, std::numeric_limits::quiet_NaN()); current_statement__ = 28; for (int k = 1; k <= M_1; ++k) { current_statement__ = 26; for (int j = 1; j <= (k - 1); ++j) { current_statement__ = 24; assign(cor_1, cons_list(index_uni((choose((k - 1), 2) + j)), nil_index_list()), rvalue(Cor_1, cons_list(index_uni(j), cons_list(index_uni(k), nil_index_list())), "Cor_1"), "assigning variable cor_1");}} current_statement__ = 22; current_statement__ = 22; check_corr_matrix(function__, "Cor_1", Cor_1); current_statement__ = 23; for (int sym1__ = 1; sym1__ <= NC_1; ++sym1__) { current_statement__ = 23; current_statement__ = 23; check_greater_or_equal(function__, "cor_1[sym1__]", cor_1[(sym1__ - 1)], -1);} current_statement__ = 23; for (int sym1__ = 1; sym1__ <= NC_1; ++sym1__) { current_statement__ = 23; current_statement__ = 23; check_less_or_equal(function__, "cor_1[sym1__]", cor_1[(sym1__ - 1)], 1);} for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { vars__.emplace_back( rvalue(Cor_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), "Cor_1"));}} for (int sym1__ = 1; sym1__ <= NC_1; ++sym1__) { vars__.emplace_back(cor_1[(sym1__ - 1)]);} } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } } // write_array() inline void transform_inits(const stan::io::var_context& context__, std::vector& params_i__, std::vector& vars__, std::ostream* pstream__) const final { using local_scalar_t__ = double; vars__.clear(); vars__.reserve(num_params_r__); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; Eigen::Matrix b_logk1; b_logk1 = Eigen::Matrix(K_logk1); stan::math::fill(b_logk1, std::numeric_limits::quiet_NaN()); { std::vector b_logk1_flat__; current_statement__ = 1; assign(b_logk1_flat__, nil_index_list(), context__.vals_r("b_logk1"), "assigning variable b_logk1_flat__"); current_statement__ = 1; pos__ = 1; current_statement__ = 1; for (int sym1__ = 1; sym1__ <= K_logk1; ++sym1__) { current_statement__ = 1; assign(b_logk1, cons_list(index_uni(sym1__), nil_index_list()), b_logk1_flat__[(pos__ - 1)], "assigning variable b_logk1"); current_statement__ = 1; pos__ = (pos__ + 1);} } Eigen::Matrix b_logvnd; b_logvnd = Eigen::Matrix(K_logvnd); stan::math::fill(b_logvnd, std::numeric_limits::quiet_NaN()); { std::vector b_logvnd_flat__; current_statement__ = 2; assign(b_logvnd_flat__, nil_index_list(), context__.vals_r("b_logvnd"), "assigning variable b_logvnd_flat__"); current_statement__ = 2; pos__ = 1; current_statement__ = 2; for (int sym1__ = 1; sym1__ <= K_logvnd; ++sym1__) { current_statement__ = 2; assign(b_logvnd, cons_list(index_uni(sym1__), nil_index_list()), b_logvnd_flat__[(pos__ - 1)], "assigning variable b_logvnd"); current_statement__ = 2; pos__ = (pos__ + 1);} } Eigen::Matrix b_logbpnd; b_logbpnd = Eigen::Matrix(K_logbpnd); stan::math::fill(b_logbpnd, std::numeric_limits::quiet_NaN()); { std::vector b_logbpnd_flat__; current_statement__ = 3; assign(b_logbpnd_flat__, nil_index_list(), context__.vals_r("b_logbpnd"), "assigning variable b_logbpnd_flat__"); current_statement__ = 3; pos__ = 1; current_statement__ = 3; for (int sym1__ = 1; sym1__ <= K_logbpnd; ++sym1__) { current_statement__ = 3; assign(b_logbpnd, cons_list(index_uni(sym1__), nil_index_list()), b_logbpnd_flat__[(pos__ - 1)], "assigning variable b_logbpnd"); current_statement__ = 3; pos__ = (pos__ + 1);} } Eigen::Matrix b_logk4; b_logk4 = Eigen::Matrix(K_logk4); stan::math::fill(b_logk4, std::numeric_limits::quiet_NaN()); { std::vector b_logk4_flat__; current_statement__ = 4; assign(b_logk4_flat__, nil_index_list(), context__.vals_r("b_logk4"), "assigning variable b_logk4_flat__"); current_statement__ = 4; pos__ = 1; current_statement__ = 4; for (int sym1__ = 1; sym1__ <= K_logk4; ++sym1__) { current_statement__ = 4; assign(b_logk4, cons_list(index_uni(sym1__), nil_index_list()), b_logk4_flat__[(pos__ - 1)], "assigning variable b_logk4"); current_statement__ = 4; pos__ = (pos__ + 1);} } Eigen::Matrix b_logvb; b_logvb = Eigen::Matrix(K_logvb); stan::math::fill(b_logvb, std::numeric_limits::quiet_NaN()); { std::vector b_logvb_flat__; current_statement__ = 5; assign(b_logvb_flat__, nil_index_list(), context__.vals_r("b_logvb"), "assigning variable b_logvb_flat__"); current_statement__ = 5; pos__ = 1; current_statement__ = 5; for (int sym1__ = 1; sym1__ <= K_logvb; ++sym1__) { current_statement__ = 5; assign(b_logvb, cons_list(index_uni(sym1__), nil_index_list()), b_logvb_flat__[(pos__ - 1)], "assigning variable b_logvb"); current_statement__ = 5; pos__ = (pos__ + 1);} } double sigma; sigma = std::numeric_limits::quiet_NaN(); current_statement__ = 6; sigma = context__.vals_r("sigma")[(1 - 1)]; current_statement__ = 6; sigma = stan::math::lb_free(sigma, 0); Eigen::Matrix sd_1; sd_1 = Eigen::Matrix(M_1); stan::math::fill(sd_1, std::numeric_limits::quiet_NaN()); { std::vector sd_1_flat__; current_statement__ = 7; assign(sd_1_flat__, nil_index_list(), context__.vals_r("sd_1"), "assigning variable sd_1_flat__"); current_statement__ = 7; pos__ = 1; current_statement__ = 7; for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { current_statement__ = 7; assign(sd_1, cons_list(index_uni(sym1__), nil_index_list()), sd_1_flat__[(pos__ - 1)], "assigning variable sd_1"); current_statement__ = 7; pos__ = (pos__ + 1);} } current_statement__ = 7; for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { current_statement__ = 7; assign(sd_1, cons_list(index_uni(sym1__), nil_index_list()), stan::math::lb_free(sd_1[(sym1__ - 1)], 0), "assigning variable sd_1");} Eigen::Matrix z_1; z_1 = Eigen::Matrix(M_1, N_1); stan::math::fill(z_1, std::numeric_limits::quiet_NaN()); { std::vector z_1_flat__; current_statement__ = 8; assign(z_1_flat__, nil_index_list(), context__.vals_r("z_1"), "assigning variable z_1_flat__"); current_statement__ = 8; pos__ = 1; current_statement__ = 8; for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { current_statement__ = 8; for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { current_statement__ = 8; assign(z_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), z_1_flat__[(pos__ - 1)], "assigning variable z_1"); current_statement__ = 8; pos__ = (pos__ + 1);}} } Eigen::Matrix L_1; L_1 = Eigen::Matrix(M_1, M_1); stan::math::fill(L_1, std::numeric_limits::quiet_NaN()); { std::vector L_1_flat__; current_statement__ = 9; assign(L_1_flat__, nil_index_list(), context__.vals_r("L_1"), "assigning variable L_1_flat__"); current_statement__ = 9; pos__ = 1; current_statement__ = 9; for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { current_statement__ = 9; for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { current_statement__ = 9; assign(L_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), L_1_flat__[(pos__ - 1)], "assigning variable L_1"); current_statement__ = 9; pos__ = (pos__ + 1);}} } Eigen::Matrix L_1_free__; L_1_free__ = Eigen::Matrix(((M_1 * (M_1 - 1)) / 2)); stan::math::fill(L_1_free__, std::numeric_limits::quiet_NaN()); current_statement__ = 9; assign(L_1_free__, nil_index_list(), stan::math::cholesky_corr_free(L_1), "assigning variable L_1_free__"); for (int sym1__ = 1; sym1__ <= K_logk1; ++sym1__) { vars__.emplace_back(b_logk1[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logvnd; ++sym1__) { vars__.emplace_back(b_logvnd[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logbpnd; ++sym1__) { vars__.emplace_back(b_logbpnd[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logk4; ++sym1__) { vars__.emplace_back(b_logk4[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= K_logvb; ++sym1__) { vars__.emplace_back(b_logvb[(sym1__ - 1)]);} vars__.emplace_back(sigma); for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { vars__.emplace_back(sd_1[(sym1__ - 1)]);} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { vars__.emplace_back( rvalue(z_1, cons_list(index_uni(sym2__), cons_list(index_uni(sym1__), nil_index_list())), "z_1"));}} for (int sym1__ = 1; sym1__ <= ((M_1 * (M_1 - 1)) / 2); ++sym1__) { vars__.emplace_back(L_1_free__[(sym1__ - 1)]);} } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } } // transform_inits() inline void get_param_names(std::vector& names__) const { names__.clear(); names__.emplace_back("b_logk1"); names__.emplace_back("b_logvnd"); names__.emplace_back("b_logbpnd"); names__.emplace_back("b_logk4"); names__.emplace_back("b_logvb"); names__.emplace_back("sigma"); names__.emplace_back("sd_1"); names__.emplace_back("z_1"); names__.emplace_back("L_1"); names__.emplace_back("r_1"); names__.emplace_back("r_1_logk1_1"); names__.emplace_back("r_1_logvnd_2"); names__.emplace_back("r_1_logbpnd_3"); names__.emplace_back("r_1_logk4_4"); names__.emplace_back("r_1_logvb_5"); names__.emplace_back("Cor_1"); names__.emplace_back("cor_1"); } // get_param_names() inline void get_dims(std::vector>& dimss__) const final { dimss__.clear(); dimss__.emplace_back(std::vector{static_cast(K_logk1)}); dimss__.emplace_back(std::vector{static_cast(K_logvnd)}); dimss__.emplace_back(std::vector{static_cast(K_logbpnd)}); dimss__.emplace_back(std::vector{static_cast(K_logk4)}); dimss__.emplace_back(std::vector{static_cast(K_logvb)}); dimss__.emplace_back(std::vector{}); dimss__.emplace_back(std::vector{static_cast(M_1)}); dimss__.emplace_back(std::vector{static_cast(M_1), static_cast(N_1)}); dimss__.emplace_back(std::vector{static_cast(M_1), static_cast(M_1)}); dimss__.emplace_back(std::vector{static_cast(N_1), static_cast(M_1)}); dimss__.emplace_back(std::vector{static_cast(N_1)}); dimss__.emplace_back(std::vector{static_cast(N_1)}); dimss__.emplace_back(std::vector{static_cast(N_1)}); dimss__.emplace_back(std::vector{static_cast(N_1)}); dimss__.emplace_back(std::vector{static_cast(N_1)}); dimss__.emplace_back(std::vector{static_cast(M_1), static_cast(M_1)}); dimss__.emplace_back(std::vector{static_cast(NC_1)}); } // get_dims() inline void constrained_param_names( std::vector& param_names__, bool emit_transformed_parameters__ = true, bool emit_generated_quantities__ = true) const final { for (int sym1__ = 1; sym1__ <= K_logk1; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logk1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logvnd; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logvnd" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logbpnd; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logbpnd" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logk4; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logk4" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logvb; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logvb" + '.' + std::to_string(sym1__)); }} param_names__.emplace_back(std::string() + "sigma"); for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { { param_names__.emplace_back(std::string() + "sd_1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { { param_names__.emplace_back(std::string() + "z_1" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); }} }} for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { { param_names__.emplace_back(std::string() + "L_1" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); }} }} if (emit_transformed_parameters__) { for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { { for (int sym2__ = 1; sym2__ <= N_1; ++sym2__) { { param_names__.emplace_back(std::string() + "r_1" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); }} }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logk1_1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logvnd_2" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logbpnd_3" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logk4_4" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logvb_5" + '.' + std::to_string(sym1__)); }} } if (emit_generated_quantities__) { for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { { param_names__.emplace_back(std::string() + "Cor_1" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); }} }} for (int sym1__ = 1; sym1__ <= NC_1; ++sym1__) { { param_names__.emplace_back(std::string() + "cor_1" + '.' + std::to_string(sym1__)); }} } } // constrained_param_names() inline void unconstrained_param_names( std::vector& param_names__, bool emit_transformed_parameters__ = true, bool emit_generated_quantities__ = true) const final { for (int sym1__ = 1; sym1__ <= K_logk1; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logk1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logvnd; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logvnd" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logbpnd; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logbpnd" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logk4; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logk4" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= K_logvb; ++sym1__) { { param_names__.emplace_back(std::string() + "b_logvb" + '.' + std::to_string(sym1__)); }} param_names__.emplace_back(std::string() + "sigma"); for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { { param_names__.emplace_back(std::string() + "sd_1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { for (int sym2__ = 1; sym2__ <= M_1; ++sym2__) { { param_names__.emplace_back(std::string() + "z_1" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); }} }} for (int sym1__ = 1; sym1__ <= ((M_1 * (M_1 - 1)) / 2); ++sym1__) { { param_names__.emplace_back(std::string() + "L_1" + '.' + std::to_string(sym1__)); }} if (emit_transformed_parameters__) { for (int sym1__ = 1; sym1__ <= M_1; ++sym1__) { { for (int sym2__ = 1; sym2__ <= N_1; ++sym2__) { { param_names__.emplace_back(std::string() + "r_1" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); }} }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logk1_1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logvnd_2" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logbpnd_3" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logk4_4" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= N_1; ++sym1__) { { param_names__.emplace_back(std::string() + "r_1_logvb_5" + '.' + std::to_string(sym1__)); }} } if (emit_generated_quantities__) { for (int sym1__ = 1; sym1__ <= ((M_1 * (M_1 - 1)) / 2); ++sym1__) { { param_names__.emplace_back(std::string() + "Cor_1" + '.' + std::to_string(sym1__)); }} for (int sym1__ = 1; sym1__ <= NC_1; ++sym1__) { { param_names__.emplace_back(std::string() + "cor_1" + '.' + std::to_string(sym1__)); }} } } // unconstrained_param_names() inline std::string get_constrained_sizedtypes() const { stringstream s__; s__ << "[{\"name\":\"b_logk1\",\"type\":{\"name\":\"vector\",\"length\":" << K_logk1 << "},\"block\":\"parameters\"},{\"name\":\"b_logvnd\",\"type\":{\"name\":\"vector\",\"length\":" << K_logvnd << "},\"block\":\"parameters\"},{\"name\":\"b_logbpnd\",\"type\":{\"name\":\"vector\",\"length\":" << K_logbpnd << "},\"block\":\"parameters\"},{\"name\":\"b_logk4\",\"type\":{\"name\":\"vector\",\"length\":" << K_logk4 << "},\"block\":\"parameters\"},{\"name\":\"b_logvb\",\"type\":{\"name\":\"vector\",\"length\":" << K_logvb << "},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sd_1\",\"type\":{\"name\":\"vector\",\"length\":" << M_1 << "},\"block\":\"parameters\"},{\"name\":\"z_1\",\"type\":{\"name\":\"matrix\",\"rows\":" << M_1 << ",\"cols\":" << N_1 << "},\"block\":\"parameters\"},{\"name\":\"L_1\",\"type\":{\"name\":\"matrix\",\"rows\":" << M_1 << ",\"cols\":" << M_1 << "},\"block\":\"parameters\"},{\"name\":\"r_1\",\"type\":{\"name\":\"matrix\",\"rows\":" << N_1 << ",\"cols\":" << M_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logk1_1\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logvnd_2\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logbpnd_3\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logk4_4\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logvb_5\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"Cor_1\",\"type\":{\"name\":\"matrix\",\"rows\":" << M_1 << ",\"cols\":" << M_1 << "},\"block\":\"generated_quantities\"},{\"name\":\"cor_1\",\"type\":{\"name\":\"vector\",\"length\":" << NC_1 << "},\"block\":\"generated_quantities\"}]"; return s__.str(); } // get_constrained_sizedtypes() inline std::string get_unconstrained_sizedtypes() const { stringstream s__; s__ << "[{\"name\":\"b_logk1\",\"type\":{\"name\":\"vector\",\"length\":" << K_logk1 << "},\"block\":\"parameters\"},{\"name\":\"b_logvnd\",\"type\":{\"name\":\"vector\",\"length\":" << K_logvnd << "},\"block\":\"parameters\"},{\"name\":\"b_logbpnd\",\"type\":{\"name\":\"vector\",\"length\":" << K_logbpnd << "},\"block\":\"parameters\"},{\"name\":\"b_logk4\",\"type\":{\"name\":\"vector\",\"length\":" << K_logk4 << "},\"block\":\"parameters\"},{\"name\":\"b_logvb\",\"type\":{\"name\":\"vector\",\"length\":" << K_logvb << "},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sd_1\",\"type\":{\"name\":\"vector\",\"length\":" << M_1 << "},\"block\":\"parameters\"},{\"name\":\"z_1\",\"type\":{\"name\":\"matrix\",\"rows\":" << M_1 << ",\"cols\":" << N_1 << "},\"block\":\"parameters\"},{\"name\":\"L_1\",\"type\":{\"name\":\"vector\",\"length\":" << ((M_1 * (M_1 - 1)) / 2) << "},\"block\":\"parameters\"},{\"name\":\"r_1\",\"type\":{\"name\":\"matrix\",\"rows\":" << N_1 << ",\"cols\":" << M_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logk1_1\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logvnd_2\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logbpnd_3\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logk4_4\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"r_1_logvb_5\",\"type\":{\"name\":\"vector\",\"length\":" << N_1 << "},\"block\":\"transformed_parameters\"},{\"name\":\"Cor_1\",\"type\":{\"name\":\"vector\",\"length\":" << ((M_1 * (M_1 - 1)) / 2) << "},\"block\":\"generated_quantities\"},{\"name\":\"cor_1\",\"type\":{\"name\":\"vector\",\"length\":" << NC_1 << "},\"block\":\"generated_quantities\"}]"; return s__.str(); } // get_unconstrained_sizedtypes() // Begin method overload boilerplate template inline void write_array(RNG& base_rng__, Eigen::Matrix& params_r, Eigen::Matrix& vars, bool emit_transformed_parameters__ = true, bool emit_generated_quantities__ = true, std::ostream* pstream = nullptr) const { std::vector params_r_vec(params_r.size()); for (int i = 0; i < params_r.size(); ++i) params_r_vec[i] = params_r(i); std::vector vars_vec; std::vector params_i_vec; write_array(base_rng__, params_r_vec, params_i_vec, vars_vec, emit_transformed_parameters__, emit_generated_quantities__, pstream); vars.resize(vars_vec.size()); for (int i = 0; i < vars.size(); ++i) vars(i) = vars_vec[i]; } template inline T_ log_prob(Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const { std::vector vec_params_r; vec_params_r.reserve(params_r.size()); for (int i = 0; i < params_r.size(); ++i) vec_params_r.push_back(params_r(i)); std::vector vec_params_i; return log_prob(vec_params_r, vec_params_i, pstream); } inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream__ = nullptr) const { std::vector params_r_vec; std::vector params_i_vec; transform_inits(context, params_i_vec, params_r_vec, pstream__); params_r.resize(params_r_vec.size()); for (int i = 0; i < params_r.size(); ++i) params_r(i) = params_r_vec[i]; } }; } using stan_model = cmdstanr_test_model_namespace::cmdstanr_test_model; #ifndef USING_R // Boilerplate stan::model::model_base& new_model( stan::io::var_context& data_context, unsigned int seed, std::ostream* msg_stream) { stan_model* m = new stan_model(data_context, seed, msg_stream); return *m; } #endif