Open CASCADE Technology
6.5.4
|
This class implements the calculation of all the real roots of a real
polynomial of degree <= 4 using a direct method. Once found,
the roots are polished using the Newton method.
#include <math_DirectPolynomialRoots.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D, const Standard_Real E) |
computes all the real roots of the polynomial Ax4 + Bx3 + Cx2 + Dx + E using a direct method. | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D) | |
computes all the real roots of the polynomial Ax3 + Bx2 + Cx + D using a direct method. | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C) | |
computes all the real roots of the polynomial Ax2 + Bx + C using a direct method. | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B) | |
computes the real root of the polynomial Ax + B. | |
Standard_Boolean | IsDone () const |
Returns true if the computations are successful, otherwise returns false. | |
Standard_Boolean | InfiniteRoots () const |
Returns true if there is an infinity of roots, otherwise returns false. | |
Standard_Integer | NbSolutions () const |
returns the number of solutions. An exception is raised if there are an infinity of roots. | |
Standard_Real | Value (const Standard_Integer Nieme) const |
returns the value of the Nieme root. An exception is raised if there are an infinity of roots. Exception RangeError is raised if Nieme is < 1 or Nieme > NbSolutions. | |
void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<. | |
Protected Member Functions | |
void | Solve (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D, const Standard_Real E) |
void | Solve (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D) |
void | Solve (const Standard_Real A, const Standard_Real B, const Standard_Real C) |
void | Solve (const Standard_Real A, const Standard_Real B) |
DEFINE_STANDARD_ALLOC math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C, | ||
const Standard_Real | D, | ||
const Standard_Real | E | ||
) |
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C, | ||
const Standard_Real | D | ||
) |
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C | ||
) |
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B | ||
) |
void math_DirectPolynomialRoots::Dump | ( | Standard_OStream & | o | ) | const |
void math_DirectPolynomialRoots::Solve | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C, | ||
const Standard_Real | D, | ||
const Standard_Real | E | ||
) | [protected] |
void math_DirectPolynomialRoots::Solve | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C, | ||
const Standard_Real | D | ||
) | [protected] |
void math_DirectPolynomialRoots::Solve | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C | ||
) | [protected] |
void math_DirectPolynomialRoots::Solve | ( | const Standard_Real | A, |
const Standard_Real | B | ||
) | [protected] |
Standard_Real math_DirectPolynomialRoots::Value | ( | const Standard_Integer | Nieme | ) | const |