49 #ifndef vtkPolynomialSolversUnivariate_h 50 #define vtkPolynomialSolversUnivariate_h 52 #include "vtkCommonMathModule.h" 61 static ostream& PrintPolynomial( ostream& os,
double* P,
int degP );
103 static int HabichtBisectionSolve(
104 double* P,
int d,
double* a,
double* upperBnds,
double tol );
105 static int HabichtBisectionSolve(
106 double* P,
int d,
double* a,
double* upperBnds,
double tol,
108 static int HabichtBisectionSolve(
109 double* P,
int d,
double* a,
double* upperBnds,
double tol,
110 int intervalType,
bool divideGCD );
144 static int SturmBisectionSolve(
145 double* P,
int d,
double* a,
double* upperBnds,
double tol );
146 static int SturmBisectionSolve(
147 double* P,
int d,
double* a,
double* upperBnds,
double tol,
149 static int SturmBisectionSolve(
150 double* P,
int d,
double* a,
double* upperBnds,
double tol,
151 int intervalType,
bool divideGCD );
161 static int FilterRoots(
162 double* P,
int d,
double *upperBnds,
int rootcount,
double diameter );
175 static int LinBairstowSolve(
double* c,
int d,
double* r,
double& tolerance );
187 static int FerrariSolve(
double* c,
double* r,
int* m,
double tol );
204 static int TartagliaCardanSolve(
double* c,
double* r,
int* m,
double tol );
214 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
224 static double* SolveQuadratic(
double c0,
double c1,
double c2);
231 static double* SolveLinear(
double c0,
double c1);
246 static int SolveCubic(
double c0,
double c1,
double c2,
double c3,
247 double *r1,
double *r2,
double *r3,
int *num_roots);
256 static int SolveQuadratic(
double c0,
double c1,
double c2,
257 double *r1,
double *r2,
int *num_roots);
266 static int SolveQuadratic(
double* c,
double* r,
int* m );
274 static int SolveLinear(
double c0,
double c1,
double *r1,
int *num_roots);
283 static void SetDivisionTolerance(
double tol );
284 static double GetDivisionTolerance();
~vtkPolynomialSolversUnivariate() override
static double DivisionTolerance
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolynomialSolversUnivariate()
a simple class to control print indentation
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.