12 #ifndef _UT_RootFinder_h_
13 #define _UT_RootFinder_h_
47 static int quadratic(
T a,
T b,
T c,
55 static int cubic(
T a,
T b,
T c,
T d,
T &v0,
T &v1,
T &
v2);
62 static int cubic(
T a,
T b,
T c,
T d,
69 static int cubic(
T a,
T b,
T c,
T d,
T x1,
T x2,
T r[3]);
75 static int quartic(
T a,
T b,
T c,
T d,
T e,
T x1,
T x2,
T r[4]);
79 static int brent(
T (*
func)(
T x,
void *
data),
void *data,
80 T x1,
T x2,
T tol,
T &
result,
int maxIter=200);
83 static int newton(
void (*
func)(
T x,
T &
val,
T &der,
void *data),
void *data,
84 T x1,
T x2,
T tol,
T &result,
int maxIter=200);
109 template <
typename T>
115 T findRoot(
T t)
const;
120 bool _a_less_than_tiny;
UT_RootFinderT< float > UT_RootFinder
UT_RootFinderT< fpreal64 > UT_RootFinderD
GLboolean GLboolean GLboolean GLboolean a
**But if you need a result
UT_BezierRootFinderT< fpreal64 > UT_BezierRootFinderD
GLfloat GLfloat GLfloat v2
UT_RootFinderT< fpreal > UT_RootFinderR
UT_RootFinderT< fpreal32 > UT_RootFinderF
GLboolean GLboolean GLboolean b
UT_BezierRootFinderT< fpreal > UT_BezierRootFinderR
UT_BezierRootFinderT< fpreal32 > UT_BezierRootFinderF
UT_BezierRootFinderT< float > UT_BezierRootFinder