Open CASCADE Technology
7.2.0
|
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. More...
#include <math_FunctionAllRoots.hxx>
Public Member Functions | |
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. More... | |
Standard_Boolean | IsDone () const |
Returns True if the computation has been done successfully. More... | |
Standard_Integer | NbIntervals () const |
Returns the number of intervals on which the function is Null. An exception is raised if IsDone returns False. More... | |
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. More... | |
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. More... | |
Standard_Integer | NbPoints () const |
returns the number of points where the function is Null. An exception is raised if IsDone returns False. More... | |
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. More... | |
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. More... | |
void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. More... | |
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.
math_FunctionAllRoots::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.
void math_FunctionAllRoots::Dump | ( | Standard_OStream & | o | ) | const |
Prints on the stream o information on the current state of the object.
void math_FunctionAllRoots::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 math_FunctionAllRoots::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_Real math_FunctionAllRoots::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 math_FunctionAllRoots::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.
Standard_Boolean math_FunctionAllRoots::IsDone | ( | ) | const |
Returns True if the computation has been done successfully.
Standard_Integer math_FunctionAllRoots::NbIntervals | ( | ) | const |
Returns the number of intervals on which the function is Null. An exception is raised if IsDone returns False.
Standard_Integer math_FunctionAllRoots::NbPoints | ( | ) | const |
returns the number of points where the function is Null. An exception is raised if IsDone returns False.