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(
107 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,
111 static int HabichtBisectionSolve(
112 double* P,
int d,
double* a,
double* upperBnds,
double tol,
113 int intervalType,
bool divideGCD );
147 static int SturmBisectionSolve(
148 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,
152 static int SturmBisectionSolve(
153 double* P,
int d,
double* a,
double* upperBnds,
double tol,
154 int intervalType,
bool divideGCD );
164 static int FilterRoots(
165 double* P,
int d,
double *upperBnds,
int rootcount,
double diameter );
178 static int LinBairstowSolve(
double* c,
int d,
double* r,
double& tolerance );
190 static int FerrariSolve(
double* c,
double* r,
int* m,
double tol );
207 static int TartagliaCardanSolve(
double* c,
double* r,
int* m,
double tol );
217 static double* SolveCubic(
double c0,
double c1,
double c2,
double c3);
227 static double* SolveQuadratic(
double c0,
double c1,
double c2);
234 static double* SolveLinear(
double c0,
double c1);
249 static int SolveCubic(
double c0,
double c1,
double c2,
double c3,
250 double *r1,
double *r2,
double *r3,
int *num_roots);
259 static int SolveQuadratic(
double c0,
double c1,
double c2,
260 double *r1,
double *r2,
int *num_roots);
269 static int SolveQuadratic(
double* c,
double* r,
int* m );
277 static int SolveLinear(
double c0,
double c1,
double *r1,
int *num_roots);
286 static void SetDivisionTolerance(
double tol );
287 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...