61 if(
auto p =
dynamic_cast<const TimeAdvanced<EmitterT>*
>(&e))
63 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"time advanced " << p->Get().LatestTime();
66 else if (
auto p =
dynamic_cast<const SampleRefined<EmitterT>*
>(&e))
68 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"refined a sample, huzzah";
73 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"advanced around the circle, to " << p->NewSample()<<
" at time " << p->NewTime();
76 else if (
auto p =
dynamic_cast<const ClosedLoop<EmitterT>*
>(&e))
78 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"closed a loop, cycle number " << p->Get().CycleNumber();
80 else if (
auto p =
dynamic_cast<const ApproximatedRoot<EmitterT>*
>(&e))
82 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"approximated the target root. approximation " << p->Get().template FinalApproximation<BCT>() <<
" with error " << p->Get().ApproximateError();
85 else if (
auto p =
dynamic_cast<const PrecisionChanged<AMPEndgame>*
>(&e))
87 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"precision changed from " << p->Previous() <<
" to " << p->Next();
90 else if (
auto p =
dynamic_cast<const InEGOperatingZone<EmitterT>*
>(&e))
92 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"made it to the endgame operating zone at time " << p->Get().LatestTime();
95 else if(
auto p =
dynamic_cast<const Converged<EmitterT>*
>(&e))
97 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"converged at time " << p->Get().LatestTime() <<
" with result " << p->Get().template FinalApproximation<BCT>() <<
" and residual " << p->Get().ApproximateError();
99 else if (
auto p =
dynamic_cast<const Initializing<EmitterT>*
>(&e))
101 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"starting running " << boost::typeindex::type_id<EmitterT>().pretty_name();
105 BOOST_LOG_TRIVIAL(severity_level::debug) <<
"unprogrammed response for event of type " << boost::typeindex::type_id_runtime(e).pretty_name();