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

Function HMM_DivM4F

HandmadeMath.h:1626–1658  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1624
1625COVERAGE(HMM_DivM4F, 1)
1626static inline HMM_Mat4 HMM_DivM4F(HMM_Mat4 Matrix, float Scalar)
1627{
1628 ASSERT_COVERED(HMM_DivM4F);
1629
1630 HMM_Mat4 Result;
1631
1632#ifdef HANDMADE_MATH__USE_SSE
1633 __m128 SSEScalar = _mm_set1_ps(Scalar);
1634 Result.Columns[0].SSE = _mm_div_ps(Matrix.Columns[0].SSE, SSEScalar);
1635 Result.Columns[1].SSE = _mm_div_ps(Matrix.Columns[1].SSE, SSEScalar);
1636 Result.Columns[2].SSE = _mm_div_ps(Matrix.Columns[2].SSE, SSEScalar);
1637 Result.Columns[3].SSE = _mm_div_ps(Matrix.Columns[3].SSE, SSEScalar);
1638#else
1639 Result.Elements[0][0] = Matrix.Elements[0][0] / Scalar;
1640 Result.Elements[0][1] = Matrix.Elements[0][1] / Scalar;
1641 Result.Elements[0][2] = Matrix.Elements[0][2] / Scalar;
1642 Result.Elements[0][3] = Matrix.Elements[0][3] / Scalar;
1643 Result.Elements[1][0] = Matrix.Elements[1][0] / Scalar;
1644 Result.Elements[1][1] = Matrix.Elements[1][1] / Scalar;
1645 Result.Elements[1][2] = Matrix.Elements[1][2] / Scalar;
1646 Result.Elements[1][3] = Matrix.Elements[1][3] / Scalar;
1647 Result.Elements[2][0] = Matrix.Elements[2][0] / Scalar;
1648 Result.Elements[2][1] = Matrix.Elements[2][1] / Scalar;
1649 Result.Elements[2][2] = Matrix.Elements[2][2] / Scalar;
1650 Result.Elements[2][3] = Matrix.Elements[2][3] / Scalar;
1651 Result.Elements[3][0] = Matrix.Elements[3][0] / Scalar;
1652 Result.Elements[3][1] = Matrix.Elements[3][1] / Scalar;
1653 Result.Elements[3][2] = Matrix.Elements[3][2] / Scalar;
1654 Result.Elements[3][3] = Matrix.Elements[3][3] / Scalar;
1655#endif
1656
1657 return Result;
1658}
1659
1660COVERAGE(HMM_DeterminantM4, 1)
1661static inline float HMM_DeterminantM4(HMM_Mat4 Matrix)

Callers 3

HMM_DivFunction · 0.85
operator/Function · 0.85
TESTFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected