13#ifndef OPTIMIST_ROOTFINDER_BRACKTING_HH
14#define OPTIMIST_ROOTFINDER_BRACKTING_HH
19 namespace RootFinder {
37 template <
typename Scalar,
typename DerivedSolver>
65 return static_cast<const DerivedSolver *
>(
this)->
name_impl();
77 this->m_tolerance_bracketing = t_tolerance;
89 template <
typename FunctionLambda>
93#define CMD "Optimist::RootFinder::Bracketing::solve_impl(...): "
111 CMD "function evaluation failed at the lower bound.");
119 CMD "function evaluation failed at the upper bound.");
125 x_sol = this->
find_root(std::forward<FunctionLambda>(function));
147 template <
typename FunctionLambda>
149 return static_cast<DerivedSolver *
>(
this)->find_root_impl(
150 std::forward<FunctionLambda>(function));
#define OPTIMIST_BASIC_CONSTANTS(Scalar)
Definition Optimist.hh:69
#define OPTIMIST_ASSERT(COND, MSG)
Definition Optimist.hh:47
Scalar m_mu
Definition Bracketing.hh:45
Scalar m_fa
Definition Bracketing.hh:48
Scalar find_root(FunctionLambda &&function)
Definition Bracketing.hh:148
Scalar m_fd
Definition Bracketing.hh:51
Scalar m_c
Definition Bracketing.hh:50
Scalar m_e
Definition Bracketing.hh:52
void tolerance_bracketing(Scalar t_tolerance)
Definition Bracketing.hh:76
Scalar m_a
Definition Bracketing.hh:48
Scalar m_b
Definition Bracketing.hh:49
Scalar m_fc
Definition Bracketing.hh:50
Bracketing()
Definition Bracketing.hh:58
bool solve_impl(FunctionLambda &&function, Scalar, Scalar &x_sol)
Definition Bracketing.hh:90
Scalar m_d
Definition Bracketing.hh:51
Scalar m_fe
Definition Bracketing.hh:52
Scalar m_interval_shink
Definition Bracketing.hh:46
Scalar m_fb
Definition Bracketing.hh:49
constexpr std::string name_impl() const
Definition Bracketing.hh:64
Scalar m_tolerance_bracketing
Definition Bracketing.hh:43
typename TypeTrait< Scalar >::Scalar Scalar
Definition RootFinder.hh:53
RootFinder()
Definition RootFinder.hh:66
bool evaluate_function(FunctionLambda &&function, const Scalar &x, Scalar &out)
Definition SolverBase.hh:1040
void header()
Definition SolverBase.hh:1168
Scalar m_lower_bound
Definition SolverBase.hh:101
void reset_counters()
Definition SolverBase.hh:1022
Scalar m_upper_bound
Definition SolverBase.hh:102
bool m_verbose
Definition SolverBase.hh:130
bool m_converged
Definition SolverBase.hh:136
void bottom()
Definition SolverBase.hh:1204
Namespace for the Optimist library.
Definition Optimist.hh:89