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(
double* P,
int d,
double* a,
double* upperBnds,
double tol);
104 static int HabichtBisectionSolve(
105 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType);
106 static int HabichtBisectionSolve(
107 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType,
bool divideGCD);
141 static int SturmBisectionSolve(
double* P,
int d,
double* a,
double* upperBnds,
double tol);
142 static int SturmBisectionSolve(
143 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType);
144 static int SturmBisectionSolve(
145 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType,
bool divideGCD);
155 static int FilterRoots(
double* P,
int d,
double* upperBnds,
int rootcount,
double diameter);
168 static int LinBairstowSolve(
double* c,
int d,
double* r,
double& tolerance);
180 static int FerrariSolve(
double* c,
double* r,
int* m,
double tol);
197 static int TartagliaCardanSolve(
double* c,
double* r,
int* m,
double tol);
207 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
217 static double* SolveQuadratic(
double c0,
double c1,
double c2);
224 static double* SolveLinear(
double c0,
double c1);
239 static int SolveCubic(
240 double c0,
double c1,
double c2,
double c3,
double* r1,
double* r2,
double* r3,
int* num_roots);
249 static int SolveQuadratic(
250 double c0,
double c1,
double c2,
double* r1,
double* r2,
int* num_roots);
259 static int SolveQuadratic(
double* c,
double* r,
int* m);
267 static int SolveLinear(
double c0,
double c1,
double* r1,
int* num_roots);
276 static void SetDivisionTolerance(
double tol);
277 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...