51 #ifndef vtkPolynomialSolversUnivariate_h
52 #define vtkPolynomialSolversUnivariate_h
63 static ostream& PrintPolynomial( ostream& os,
double* P,
int degP );
93 static int HabichtBisectionSolve(
94 double* P,
int d,
double*
a,
double* upperBnds,
double tol );
95 static int HabichtBisectionSolve(
96 double* P,
int d,
double*
a,
double* upperBnds,
double tol,
98 static int HabichtBisectionSolve(
99 double* P,
int d,
double*
a,
double* upperBnds,
double tol,
100 int intervalType,
bool divideGCD );
125 static int SturmBisectionSolve(
126 double* P,
int d,
double*
a,
double* upperBnds,
double tol );
127 static int SturmBisectionSolve(
128 double* P,
int d,
double*
a,
double* upperBnds,
double tol,
130 static int SturmBisectionSolve(
131 double* P,
int d,
double*
a,
double* upperBnds,
double tol,
132 int intervalType,
bool divideGCD );
141 static int FilterRoots(
142 double* P,
int d,
double *upperBnds,
int rootcount,
double diameter );
153 static int LinBairstowSolve(
double*
c,
int d,
double*
r,
double& tolerance );
163 static int FerrariSolve(
double*
c,
double*
r,
int*
m,
double tol );
177 static int TartagliaCardanSolve(
double*
c,
double*
r,
int*
m,
double tol );
185 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
193 static double* SolveQuadratic(
double c0,
double c1,
double c2);
198 static double* SolveLinear(
double c0,
double c1);
212 static int SolveCubic(
double c0,
double c1,
double c2,
double c3,
213 double *r1,
double *r2,
double *r3,
int *num_roots);
221 static int SolveQuadratic(
double c0,
double c1,
double c2,
222 double *r1,
double *r2,
int *num_roots);
230 static int SolveQuadratic(
double*
c,
double*
r,
int*
m );
236 static int SolveLinear(
double c0,
double c1,
double *r1,
int *num_roots);
243 static void SetDivisionTolerance(
double tol );
244 static double GetDivisionTolerance();
static double DivisionTolerance
abstract base class for most VTK objects
vtkPolynomialSolversUnivariate()
GLdouble GLdouble GLdouble r
#define vtkTypeMacro(thisClass, superclass)
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
~vtkPolynomialSolversUnivariate()
GLboolean GLboolean GLboolean GLboolean a
#define VTKCOMMONMATH_EXPORT