52 #ifndef vtkPolynomialSolversUnivariate_h
53 #define vtkPolynomialSolversUnivariate_h
55 #include "vtkCommonMathModule.h"
64 static ostream& PrintPolynomial(ostream& os,
double* P,
int degP);
106 static int HabichtBisectionSolve(
double* P,
int d,
double* a,
double* upperBnds,
double tol);
107 static int HabichtBisectionSolve(
108 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType);
109 static int HabichtBisectionSolve(
110 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType,
bool divideGCD);
144 static int SturmBisectionSolve(
double* P,
int d,
double* a,
double* upperBnds,
double tol);
145 static int SturmBisectionSolve(
146 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType);
147 static int SturmBisectionSolve(
148 double* P,
int d,
double* a,
double* upperBnds,
double tol,
int intervalType,
bool divideGCD);
158 static int FilterRoots(
double* P,
int d,
double* upperBnds,
int rootcount,
double diameter);
171 static int LinBairstowSolve(
double* c,
int d,
double* r,
double& tolerance);
183 static int FerrariSolve(
double* c,
double* r,
int* m,
double tol);
200 static int TartagliaCardanSolve(
double* c,
double* r,
int* m,
double tol);
210 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
220 static double* SolveQuadratic(
double c0,
double c1,
double c2);
227 static double* SolveLinear(
double c0,
double c1);
242 static int SolveCubic(
243 double c0,
double c1,
double c2,
double c3,
double* r1,
double* r2,
double* r3,
int* num_roots);
252 static int SolveQuadratic(
253 double c0,
double c1,
double c2,
double* r1,
double* r2,
int* num_roots);
262 static int SolveQuadratic(
double* c,
double* r,
int* m);
270 static int SolveLinear(
double c0,
double c1,
double* r1,
int* num_roots);
279 static void SetDivisionTolerance(
double tol);
280 static double GetDivisionTolerance();
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...