# FoundationClasses
TKMath
math

# math_BracketedRoot Class Reference

This class implements the Brent method to find the root of a function
located within two bounds. No knowledge of the derivative is required.
.

`#include <math_BracketedRoot.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | math_BracketedRoot (math_Function &F, const Standard_Real Bound1, const Standard_Real Bound2, const Standard_Real Tolerance, const Standard_Integer NbIterations=100, const Standard_Real ZEPS=1.0e-12)
| The Brent method is used to find the root of the function F between the bounds Bound1 and Bound2 on the function F. If F(Bound1)*F(Bound2) >0 the Brent method fails. The tolerance required for the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= Tolerance; The maximum number of iterations allowed is given by NbIterations. .
Standard_Boolean | IsDone () const
| Returns true if the computations are successful, otherwise returns false. .
Standard_Real | Root () const
| returns the value of the root. Exception NotDone is raised if the minimum was not found.
Standard_Real | Value () const
| returns the value of the function at the root. Exception NotDone is raised if the minimum was not found.
Standard_Integer | NbIterations () const
| returns the number of iterations really done during the computation of the Root. Exception NotDone is raised if the minimum was not found.
Standard_EXPORT void | Dump (Standard_OStream &o) const
| Prints on the stream o information on the current state of the object. .

## Private Attributes

Standard_Boolean | Done
Standard_Real | TheRoot
Standard_Real | TheError
Standard_Integer | NbIter

## Constructor & Destructor Documentation

Standard_EXPORT math_BracketedRoot::math_BracketedRoot | ( | math_Function & | F,
|  | const Standard_Real | Bound1,
|  | const Standard_Real | Bound2,
|  | const Standard_Real | Tolerance,
|  | const Standard_Integer | NbIterations = `100`,
|  | const Standard_Real | ZEPS = `1.0e-12`
| ) |

## Member Function Documentation

Standard_EXPORT void math_BracketedRoot::Dump | ( | Standard_OStream & | o | ) | const

Standard_Boolean math_BracketedRoot::IsDone | ( |  | ) | const`[inline]`

Standard_Integer math_BracketedRoot::NbIterations | ( |  | ) | const`[inline]`

void math_BracketedRoot::operator delete | ( | void * | anAddress | ) | `[inline]`

void* math_BracketedRoot::operator new | ( | size_t | size | ) | `[inline]`

void* math_BracketedRoot::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Standard_Real math_BracketedRoot::Root | ( |  | ) | const`[inline]`

Standard_Real math_BracketedRoot::Value | ( |  | ) | const`[inline]`

## Field Documentation

Standard_Boolean math_BracketedRoot::Done `[private]`

Standard_Integer math_BracketedRoot::NbIter `[private]`

Standard_Real math_BracketedRoot::TheError `[private]`

Standard_Real math_BracketedRoot::TheRoot `[private]`

The documentation for this class was generated from the following files:

- math_BracketedRoot.hxx
- math_BracketedRoot.lxx