Positive diagonal check

This commit is contained in:
Irlan 2019-06-16 10:01:46 -03:00
parent 4f34c6a95b
commit bc90c4f30e
2 changed files with 6 additions and 6 deletions

View File

@ -189,13 +189,13 @@ static void b3SolveMPCG(b3DenseVec3& x,
// Sylvester Criterion to ensure PD-ness
B3_ASSERT(b3Det(a.x, a.y, a.z) > 0.0f);
B3_ASSERT(a.x.x != 0.0f);
B3_ASSERT(a.x.x > 0.0f);
float32 xx = 1.0f / a.x.x;
B3_ASSERT(a.y.y != 0.0f);
B3_ASSERT(a.y.y > 0.0f);
float32 yy = 1.0f / a.y.y;
B3_ASSERT(a.z.z != 0.0f);
B3_ASSERT(a.z.z > 0.0f);
float32 zz = 1.0f / a.z.z;
inv_P[i] = b3Diagonal(xx, yy, zz);

View File

@ -110,13 +110,13 @@ static void b3SolveMPCG(b3DenseVec3& x,
// Sylvester Criterion to ensure PD-ness
B3_ASSERT(b3Det(a.x, a.y, a.z) > 0.0f);
B3_ASSERT(a.x.x != 0.0f);
B3_ASSERT(a.x.x > 0.0f);
float32 xx = 1.0f / a.x.x;
B3_ASSERT(a.y.y != 0.0f);
B3_ASSERT(a.y.y > 0.0f);
float32 yy = 1.0f / a.y.y;
B3_ASSERT(a.z.z != 0.0f);
B3_ASSERT(a.z.z > 0.0f);
float32 zz = 1.0f / a.z.z;
P[i] = b3Diagonal(a.x.x, a.y.y, a.z.z);