MCPcopy Index your code
hub / github.com/HandmadeMath/HandmadeMath / HMM_DeterminantM4

Function HMM_DeterminantM4

HandmadeMath.h:1661–1671  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1659
1660COVERAGE(HMM_DeterminantM4, 1)
1661static inline float HMM_DeterminantM4(HMM_Mat4 Matrix)
1662{
1663 ASSERT_COVERED(HMM_DeterminantM4);
1664
1665 HMM_Vec3 C01 = HMM_Cross(Matrix.Columns[0].XYZ, Matrix.Columns[1].XYZ);
1666 HMM_Vec3 C23 = HMM_Cross(Matrix.Columns[2].XYZ, Matrix.Columns[3].XYZ);
1667 HMM_Vec3 B10 = HMM_SubV3(HMM_MulV3F(Matrix.Columns[0].XYZ, Matrix.Columns[1].W), HMM_MulV3F(Matrix.Columns[1].XYZ, Matrix.Columns[0].W));
1668 HMM_Vec3 B32 = HMM_SubV3(HMM_MulV3F(Matrix.Columns[2].XYZ, Matrix.Columns[3].W), HMM_MulV3F(Matrix.Columns[3].XYZ, Matrix.Columns[2].W));
1669
1670 return HMM_DotV3(C01, B32) + HMM_DotV3(C23, B10);
1671}
1672
1673COVERAGE(HMM_InvGeneralM4, 1)
1674// Returns a general-purpose inverse of an HMM_Mat4. Note that special-purpose inverses of many transformations

Callers 2

HMM_DeterminantFunction · 0.85
TESTFunction · 0.85

Calls 4

HMM_CrossFunction · 0.85
HMM_SubV3Function · 0.85
HMM_MulV3FFunction · 0.85
HMM_DotV3Function · 0.85

Tested by

no test coverage detected