void SetUp() { output.str(""); error.str(""); model_output.str(""); sample_output.str(""); diagnostic_output.str(""); message_output.str(""); writer_output.str(""); sampler = new mock_sampler(&output, &error); std::fstream empty_data_stream(std::string("").c_str()); stan::io::dump empty_data_context(empty_data_stream); empty_data_stream.close(); model = new stan_model(empty_data_context, &model_output); stan::interface::recorder::csv sample_recorder(&sample_output, "# "); stan::interface::recorder::csv diagnostic_recorder(&diagnostic_output, "# "); stan::interface::recorder::messages message_recorder(&message_output, "# "); writer = new stan::io::mcmc_writer<stan_model, stan::interface::recorder::csv, stan::interface::recorder::csv, stan::interface::recorder::messages> (sample_recorder, diagnostic_recorder, message_recorder, &writer_output); base_rng.seed(123456); q = Eigen::VectorXd(0,1); log_prob = 0; stat = 0; }
void SetUp() { model_output.str(""); sample_output.str(""); diagnostic_output.str(""); message_output.str(""); error_output.str(""); sampler = new mock_sampler(); std::fstream empty_data_stream(std::string("").c_str()); stan::io::dump empty_data_context(empty_data_stream); empty_data_stream.close(); model = new stan_model(empty_data_context, &model_output); writer_t sample_writer(sample_output, "# "); writer_t diagnostic_writer(diagnostic_output, "# "); writer = new stan::services::sample::mcmc_writer<stan_model, writer_t, writer_t, writer_t> (sample_writer, diagnostic_writer, message_writer); base_rng.seed(123456); q = Eigen::VectorXd(0,1); log_prob = 0; stat = 0; }
void SetUp() { std::fstream empty_data_stream(std::string("").c_str()); stan::io::dump empty_data_context(empty_data_stream); empty_data_stream.close(); model_output.str(""); model = new Model(empty_data_context, &model_output); base_rng.seed(123456); output.str(""); error.str(""); sampler_ptr = new sampler((*model), base_rng, &output, &error); sampler_ptr->set_nominal_stepsize(1); sampler_ptr->set_stepsize_jitter(0); sampler_ptr->set_max_depth(10); delta = 0.8; gamma = 0.05; kappa = 0.75; t0 = 10; z_0.resize(model->num_params_r()); z_0.fill(0); z_init.resize(model->num_params_r()); z_init.fill(1); }
void SetUp() { std::fstream empty_data_stream(std::string("").c_str()); stan::io::dump empty_data_context(empty_data_stream); empty_data_stream.close(); model_output.str(""); model_ptr = new Model(empty_data_context, &model_output); base_rng.seed(123456); }
TEST(StanCommon, reject_func_call_generated_quantities) { std::string error_msg = "user-specified rejection"; std::fstream empty_data_stream(std::string("").c_str()); stan::io::dump empty_data_context(empty_data_stream); empty_data_stream.close(); std::stringstream model_output; model_output.str(""); // instantiate model reject_func_call_generated_quantities_model_namespace::reject_func_call_generated_quantities_model* model = new reject_func_call_generated_quantities_model_namespace::reject_func_call_generated_quantities_model(empty_data_context, &model_output); // instantiate args to log_prob function Eigen::VectorXd cont_params = Eigen::VectorXd::Zero(model->num_params_r()); std::vector<double> cont_vector(cont_params.size()); for (int i = 0; i < cont_params.size(); ++i) cont_vector.at(i) = cont_params(i); std::vector<int> disc_vector; double lp; boost::ecuyer1988 base_rng; base_rng.seed(123456); lp = model->log_prob<false, false>(cont_vector, disc_vector, &std::cout); try { stan::services::io::write_iteration(model_output, *model, base_rng, lp, cont_vector, disc_vector); } catch (const std::domain_error& e) { if (std::string(e.what()).find(error_msg) == std::string::npos) { FAIL() << std::endl << "---------------------------------" << std::endl << "--- EXPECTED: error_msg=" << error_msg << std::endl << "--- FOUND: e.what()=" << e.what() << std::endl << "--------------------------------*" << std::endl << std::endl; } return; } FAIL() << "model failed to do reject" << std::endl; }