Math lib fix

This commit is contained in:
JackCarterSmith 2024-10-16 12:45:04 +02:00
parent d1937d4f26
commit caad89a608
Signed by: JackCarterSmith
GPG Key ID: 832E52F4E23F8F24
3 changed files with 7 additions and 7 deletions

View File

@ -495,7 +495,7 @@ void M3D_V4SinCos(M3D_VECTOR* pSin, M3D_VECTOR* pCos, M3D_VECTOR V) noexcept;
M3D_MATRIX M3D_MIdentity() noexcept;
M3D_MATRIX M3D_MMultiply(M3D_MATRIX M1, M3D_MATRIX& M2) noexcept;
M3D_MATRIX M3D_MTranspose(M3D_MATRIX M) noexcept;
M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept;
M3D_MATRIX M3D_MInverse(M3D_MATRIX M) noexcept;
M3D_VECTOR M3D_QRotationMatrix(M3D_MATRIX M) noexcept;

View File

@ -374,7 +374,7 @@ inline M3D_MATRIX M3D_MTranspose(M3D_MATRIX M) noexcept {
#endif
}
inline M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept {
inline M3D_MATRIX M3D_MInverse(M3D_MATRIX M) noexcept {
#ifdef DISABLE_INTRINSICS
M3D_MATRIX MT = M3D_MTranspose(M);
@ -455,8 +455,8 @@ inline M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept
M3D_VECTOR Determinant = M3D_V4Dot(R.rows[0], MT.rows[0]);
if (pDeterminant != nullptr)
*pDeterminant = Determinant;
//if (pDeterminant != nullptr)
// *pDeterminant = Determinant;
M3D_VECTOR Reciprocal = M3D_V4Reciprocal(Determinant);
@ -576,8 +576,8 @@ inline M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept
C6 = M3D_PERMUTE_PS(C6, _MM_SHUFFLE(3, 1, 2, 0));
// Get the determinant
M3D_VECTOR vTemp = M3D_V4Dot(C0, MT.rows[0]);
if (pDeterminant != nullptr)
*pDeterminant = vTemp;
//if (pDeterminant != nullptr)
// *pDeterminant = vTemp;
vTemp = _mm_div_ps(M3D_MOne, vTemp);
M3D_MATRIX mResult;
mResult.rows[0] = _mm_mul_ps(C0, vTemp);