BDM's exception-throwing macros. More...
#include <sstream>
#include <string>
Go to the source code of this file.
Defines | |
#define | bdm_assert(t, s) |
Throw std::runtime_exception if t is not true. | |
#define | bdm_assert_debug(t, s) bdm_assert(t, s) |
Throw std::runtime_exception if t is not true and NDEBUG is not defined. | |
#define | bdm_error(s) |
Unconditionally throw std::runtime_error. | |
#define | bdm_warning(s) |
Display a warning message. | |
Functions | |
void | bdm::bdm_assert_f (const std::string &ass, const std::string &msg, const std::string &file, int line) |
Helper function for the bdm_assert and bdm_assert_debug macros. | |
void | bdm::bdm_error_f (const std::string &msg, const std::string &file, int line) |
Helper function for the bdm_error macro. | |
void | bdm::bdm_warning_f (const std::string &msg, const std::string &file, int line) |
Helper function for the bdm_warning macro. |
BDM's exception-throwing macros.
----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty
Using IT++ for numerical operations -----------------------------------
#define bdm_assert | ( | t, | |||
s | ) |
if (!(t)) { \ std::ostringstream bdm_out; \ bdm_out << s; \ bdm::bdm_assert_f(#t, bdm_out.str(), __FILE__, __LINE__); \ } else ((void) 0)
Throw std::runtime_exception if t
is not true.
Referenced by bdm::EpdfDS::from_setting(), bdm::datalink_buffered::set_history(), bdm::merger_base::validate(), and bdm::euni::validate().
#define bdm_error | ( | s | ) |
if (true) { \ std::ostringstream bdm_out; \ bdm_out << s; \ bdm::bdm_error_f(bdm_out.str(), __FILE__, __LINE__); \ } else ((void) 0)
Unconditionally throw std::runtime_error.
Referenced by bdm::BMEF::_copy_(), bdm::Designer::apply(), bdm::MultiModel::bayes(), bdm::chmat::chmat(), bdm::BM::condition(), bdm::mpdf_internal< enorm< chmat > >::condition(), bdm::BM::epredictor(), bdm::egiw::est_theta(), bdm::egiw::est_theta_cov(), bdm::eEmp::evallog(), bdm::epdf::evallog(), bdm::eEF::evallog_nn(), bdm::mpdf::evallogcond(), bdm::mpdf::evallogcond_m(), bdm::BMEF::flatten(), bdm::MpdfDS::from_setting(), bdm::fsqmat::fsqmat(), bdm::DS::getdata(), bdm::logger::logit(), bdm::BM::logpred(), bdm::epdf::mean(), bdm::merger_base::merge(), bdm::mratio::mratio(), bdm::eEF::pow(), bdm::BM::predictor(), bdm::Designer::redesign(), bdm::eEmp::resample(), bdm::eEmp::sample(), bdm::eDirich::sample(), bdm::epdf::sample(), bdm::mpdf::samplecond(), bdm::UIFile::save(), bdm::egiwmix::set_parameters(), bdm::BMEF::set_statistics(), bdm::memlog::step(), bdm::logger::step(), bdm::UIFile::UIFile(), bdm::egiw::variance(), bdm::epdf::variance(), bdm::MemDS::write(), and bdm::DS::write().
#define bdm_warning | ( | s | ) |
if (true) { \ std::ostringstream bdm_out; \ bdm_out << s; \ bdm::bdm_warning_f(bdm_out.str(), __FILE__, __LINE__); \ } else ((void) 0)
Display a warning message.
Referenced by bdm::chmat::add(), bdm::EKFCh::bayes(), bdm::KalmanCh::bayes(), bdm::epdf::condition(), bdm::epdf::marginal(), bdm::chmat::mult_sym(), bdm::chmat::mult_sym_t(), bdm::LQG::ricatti_step(), and bdm::egiw::sample().