51 #ifndef __vtkPolynomialSolversUnivariate_h
52 #define __vtkPolynomialSolversUnivariate_h
62 static ostream& PrintPolynomial( ostream& os,
double* P,
int degP );
92 static int HabichtBisectionSolve(
93 double* P,
int d,
double* a,
double* upperBnds,
double tol );
94 static int HabichtBisectionSolve(
95 double* P,
int d,
double* a,
double* upperBnds,
double tol,
97 static int HabichtBisectionSolve(
98 double* P,
int d,
double* a,
double* upperBnds,
double tol,
99 int intervalType,
bool divideGCD );
124 static int SturmBisectionSolve(
125 double* P,
int d,
double* a,
double* upperBnds,
double tol );
126 static int SturmBisectionSolve(
127 double* P,
int d,
double* a,
double* upperBnds,
double tol,
129 static int SturmBisectionSolve(
130 double* P,
int d,
double* a,
double* upperBnds,
double tol,
131 int intervalType,
bool divideGCD );
140 static int FilterRoots(
141 double* P,
int d,
double *upperBnds,
int rootcount,
double diameter );
152 static int LinBairstowSolve(
double* c,
int d,
double* r,
double& tolerance );
162 static int FerrariSolve(
double* c,
double* r,
int* m,
double tol );
176 static int TartagliaCardanSolve(
double* c,
double* r,
int* m,
double tol );
184 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
192 static double* SolveQuadratic(
double c0,
double c1,
double c2);
197 static double* SolveLinear(
double c0,
double c1);
211 static int SolveCubic(
double c0,
double c1,
double c2,
double c3,
212 double *r1,
double *r2,
double *r3,
int *num_roots);
220 static int SolveQuadratic(
double c0,
double c1,
double c2,
221 double *r1,
double *r2,
int *num_roots);
229 static int SolveQuadratic(
double* c,
double* r,
int* m );
235 static int SolveLinear(
double c0,
double c1,
double *r1,
int *num_roots);
242 static void SetDivisionTolerance(
double tol );
243 static double GetDivisionTolerance();
250 static double DivisionTolerance;
258 # define VTK_DBL_EPSILON 2.2204460492503131e-16
260 # define VTK_DBL_EPSILON DBL_EPSILON
261 #endif // DBL_EPSILON
264 # define VTK_DBL_MIN 2.2250738585072014e-308
266 # define VTK_DBL_MIN DBL_MIN
abstract base class for most VTK objects
vtkPolynomialSolversUnivariate()
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
~vtkPolynomialSolversUnivariate()