31 #ifndef vtkPolynomialSolversUnivariate_h
32 #define vtkPolynomialSolversUnivariate_h
34 #include "vtkCommonMathModule.h"
37 VTK_ABI_NAMESPACE_BEGIN
44 static ostream& PrintPolynomial(ostream& os,
double* P,
int degP);
86 static int HabichtBisectionSolve(
double* P,
int d,
double* a,
double* upperBnds,
double tol);
87 static int HabichtBisectionSolve(
88 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType);
89 static int HabichtBisectionSolve(
90 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType,
bool divideGCD);
124 static int SturmBisectionSolve(
double* P,
int d,
double* a,
double* upperBnds,
double tol);
125 static int SturmBisectionSolve(
126 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType);
127 static int SturmBisectionSolve(
128 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType,
bool divideGCD);
138 static int FilterRoots(
double* P,
int d,
double* upperBnds,
int rootcount,
double diameter);
151 static int LinBairstowSolve(
double* c,
int d,
double* r,
double& tolerance);
163 static int FerrariSolve(
double* c,
double* r,
int* m,
double tol);
180 static int TartagliaCardanSolve(
double* c,
double* r,
int* m,
double tol);
190 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
200 static double* SolveQuadratic(
double c0,
double c1,
double c2);
207 static double* SolveLinear(
double c0,
double c1);
222 static int SolveCubic(
223 double c0,
double c1,
double c2,
double c3,
double* r1,
double* r2,
double* r3,
int* num_roots);
232 static int SolveQuadratic(
233 double c0,
double c1,
double c2,
double* r1,
double* r2,
int* num_roots);
242 static int SolveQuadratic(
double* c,
double* r,
int* m);
250 static int SolveLinear(
double c0,
double c1,
double* r1,
int* num_roots);
259 static void SetDivisionTolerance(
double tol);
260 static double GetDivisionTolerance();
274 VTK_ABI_NAMESPACE_END
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.
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...