Open CASCADE Technology
6.5.4
|
This algorithm uses a sample of the function to find
all intervals on which the function is null, and afterwards
uses the FunctionRoots algorithm to find the points
where the function is null outside the "null intervals".
Knowledge of the derivative is required.
#include <math_FunctionAllRoots.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | math_FunctionAllRoots (math_FunctionWithDerivative &F, const math_FunctionSample &S, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Real EpsNul) |
The algorithm uses the sample to find intervals on which the function is null. An interval is found if, for at least two consecutive points of the sample, Ui and Ui+1, we get |F(Ui)|<=EpsNul and |F(Ui+1)|<=EpsNul. The real bounds of an interval are computed with the FunctionRoots. algorithm. Between two intervals, the roots of the function F are calculated using the FunctionRoots algorithm. | |
Standard_Boolean | IsDone () const |
Returns True if the computation has been done successfully. | |
Standard_Integer | NbIntervals () const |
Returns the number of intervals on which the function is Null. An exception is raised if IsDone returns False. | |
void | GetInterval (const Standard_Integer Index, Standard_Real &A, Standard_Real &B) const |
Returns the interval of parameter of range Index. An exception is raised if IsDone returns False; An exception is raised if Index<=0 or Index >Nbintervals. | |
void | GetIntervalState (const Standard_Integer Index, Standard_Integer &IFirst, Standard_Integer &ILast) const |
returns the State Number associated to the interval Index. An exception is raised if IsDone returns False; An exception is raised if Index<=0 or Index >Nbintervals. | |
Standard_Integer | NbPoints () const |
returns the number of points where the function is Null. An exception is raised if IsDone returns False. | |
Standard_Real | GetPoint (const Standard_Integer Index) const |
Returns the parameter of the point of range Index. An exception is raised if IsDone returns False; An exception is raised if Index<=0 or Index >NbPoints. | |
Standard_Integer | GetPointState (const Standard_Integer Index) const |
returns the State Number associated to the point Index. An exception is raised if IsDone returns False; An exception is raised if Index<=0 or Index >Nbintervals. | |
void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. |
DEFINE_STANDARD_ALLOC math_FunctionAllRoots::math_FunctionAllRoots | ( | math_FunctionWithDerivative & | F, |
const math_FunctionSample & | S, | ||
const Standard_Real | EpsX, | ||
const Standard_Real | EpsF, | ||
const Standard_Real | EpsNul | ||
) |
void math_FunctionAllRoots::Dump | ( | Standard_OStream & | o | ) | const |
void math_FunctionAllRoots::GetInterval | ( | const Standard_Integer | Index, |
Standard_Real & | A, | ||
Standard_Real & | B | ||
) | const |
void math_FunctionAllRoots::GetIntervalState | ( | const Standard_Integer | Index, |
Standard_Integer & | IFirst, | ||
Standard_Integer & | ILast | ||
) | const |
Standard_Real math_FunctionAllRoots::GetPoint | ( | const Standard_Integer | Index | ) | const |