10#define TwoPi 6.28318530717958648
30 r -= 1. / 3. * (r - x / (r * r));
31 r -= 1. / 3. * (r - x / (r * r));
32 r -= 1. / 3. * (r - x / (r * r));
33 r -= 1. / 3. * (r - x / (r * r));
34 r -= 1. / 3. * (r - x / (r * r));
35 r -= 1. / 3. * (r - x / (r * r));
77 btScalar r = (a * (2 *
a2 - 9 * b) + 27 * c) / 54;
92 x[0] =
q *
cos(
t / 3) - a;
103 B = (
A == 0 ? 0 :
q /
A);
107 x[1] = -0.5 * (
A +
B) - a;
108 x[2] = 0.5 *
sqrt(3.) * (
A -
B);
138 a =
sqrt(0.5 * (x + r));
214 int res3 =
SolveP3(x, 2 * b, b * b - 4 * d, -c * c);
289 btScalar fxs = ((4 * x + 3 * a) * x + 2 * b) * x + c;
292 btScalar fx = (((x + a) * x + b) * x + c) * x + d;
303 btScalar d1 = d + 0.25 * a * (0.25 * b * a - 3. / 64 * a * a * a - c);
304 btScalar c1 = c + 0.5 * a * (0.25 * a * a - b);
328 x[0] =
N4Step(x[0], a, b, c, d);
329 x[1] =
N4Step(x[1], a, b, c, d);
333 x[2] =
N4Step(x[2], a, b, c, d);
334 x[3] =
N4Step(x[3], a, b, c, d);
339#define F5(t) (((((t + a) * t + b) * t + c) * t + d) * t + e)
429 f2s = (((5 *
x2 + 4 * a) *
x2 + 3 * b) *
x2 + 2 * c) *
x2 + d;
const T & btMax(const T &a, const T &b)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
btScalar root3(btScalar x)
int SolveP5(btScalar *x, btScalar a, btScalar b, btScalar c, btScalar d, btScalar e)
void CSqrt(btScalar x, btScalar y, btScalar &a, btScalar &b)
btScalar SolveP5_1(btScalar a, btScalar b, btScalar c, btScalar d, btScalar e)
int SolveP4(btScalar *x, btScalar a, btScalar b, btScalar c, btScalar d)
static btScalar _root3(btScalar x)
static void dblSort3(btScalar &a, btScalar &b, btScalar &c)
int SolveP3(btScalar *x, btScalar a, btScalar b, btScalar c)
int SolveP4Bi(btScalar *x, btScalar b, btScalar d)
btScalar N4Step(btScalar x, btScalar a, btScalar b, btScalar c, btScalar d)
int SolveP2(btScalar *x, btScalar a, btScalar b)
int SolveP4De(btScalar *x, btScalar b, btScalar c, btScalar d)