47 _tol(2.2204460492503131e-16)
65 Double_t fb= (*_function)(&b) - value;
68 <<
a <<
"," << b <<
"), value = " << value <<
" f[xlo] = " << fa <<
" f[xhi] = " << fb << endl;
77 if ((fb < 0 && fc < 0) || (fb > 0 && fc > 0)) {
100 if (fb == 0 ||
fabs(m) <=
tol) {
107 if (fabs (e) < tol || fabs (fa) <= fabs (fb)) {
124 p = s * (2 * m * q * (q -
r) - (b -
a) * (r - 1));
125 q = (q - 1) * (r - 1) * (s - 1);
137 if (2 * p < (min1 < min2 ? min1 : min2)) {
152 if (fabs (
d) > tol) {
156 b += (m > 0 ? +tol : -
tol);
158 fb= (*_function)(&b) - value;
virtual const char * getName() const
virtual void saveXVec() const
RooBrentRootFinder(const RooAbsFunc &function)
Constructor taking function binding as input.
static struct mg_connection * fc(struct mg_context *ctx)
std::map< std::string, std::string >::const_iterator iter
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
void function(const char *name_, T fun, const char *docstring=0)
RooAbsRootFinder is the abstract interface for finding roots of real-valued 1-dimensional function th...
virtual void restoreXVec() const
Implement the abstract 1-dimensional root finding interface using the Brent-Decker method...
const RooAbsFunc * _function
ClassImp(RooBrentRootFinder)
Mother of all ROOT objects.
virtual Bool_t findRoot(Double_t &result, Double_t xlo, Double_t xhi, Double_t value=0) const
Do the root finding using the Brent-Decker method.
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...