8 #include "spdlog/spdlog.h" 11 #include "core/OutputStreamHandler.h" 14 #include "master/AbstractMaster.h" 16 #include "ABCRejectionController.h" 20 m_number_accept(input_obj.number_accept),
21 m_epsilon(input_obj.epsilon),
22 m_prior_sampler(input_obj.prior_sampler),
23 m_parameter_names(input_obj.parameter_names),
24 m_simulator(input_obj.simulator)
37 && m_prmtr_accepted.size() < m_number_accept)
52 std::string raw_parameter;
58 std::getline(input_sstrm, raw_parameter);
61 std::getline(input_sstrm, raw_parameter);
64 m_prmtr_accepted.push_back(std::move(raw_parameter));
70 std::runtime_error e(
"Task finished with error!");
80 if (m_prmtr_accepted.size() == m_number_accept)
83 spdlog::info(
"Accepted/simulated: {}/{} ({:5.2f}%)",
84 m_number_accept, m_number_simulated, (100.0 * m_number_accept /
85 (
double) m_number_simulated));
89 m_parameter_names, m_prmtr_accepted);
const std::string & str() const
std::string format_simulator_input(const Epsilon &epsilon, const Parameter ¶meter)
std::string getOutputString() const
virtual Command getSimulator() const override
Parameter sample_from_prior(const Command &prior_sampler)
virtual void iterate() override
static OutputStreamHandler * instance()
void write_parameters(std::ostream &ostrm, const std::vector< ParameterName > ¶meter_names, const std::vector< Parameter > ¶meters)
std::string getInputString() const
bool didErrorOccur() const
std::shared_ptr< AbstractMaster > m_p_master
bool parse_simulator_output(const std::string &simulator_output)
ABCRejectionController(const Input &input_obj)