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

Function HMM_MulM4F

HandmadeMath.h:1584–1616  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1582
1583COVERAGE(HMM_MulM4F, 1)
1584static inline HMM_Mat4 HMM_MulM4F(HMM_Mat4 Matrix, float Scalar)
1585{
1586 ASSERT_COVERED(HMM_MulM4F);
1587
1588 HMM_Mat4 Result;
1589
1590#ifdef HANDMADE_MATH__USE_SSE
1591 __m128 SSEScalar = _mm_set1_ps(Scalar);
1592 Result.Columns[0].SSE = _mm_mul_ps(Matrix.Columns[0].SSE, SSEScalar);
1593 Result.Columns[1].SSE = _mm_mul_ps(Matrix.Columns[1].SSE, SSEScalar);
1594 Result.Columns[2].SSE = _mm_mul_ps(Matrix.Columns[2].SSE, SSEScalar);
1595 Result.Columns[3].SSE = _mm_mul_ps(Matrix.Columns[3].SSE, SSEScalar);
1596#else
1597 Result.Elements[0][0] = Matrix.Elements[0][0] * Scalar;
1598 Result.Elements[0][1] = Matrix.Elements[0][1] * Scalar;
1599 Result.Elements[0][2] = Matrix.Elements[0][2] * Scalar;
1600 Result.Elements[0][3] = Matrix.Elements[0][3] * Scalar;
1601 Result.Elements[1][0] = Matrix.Elements[1][0] * Scalar;
1602 Result.Elements[1][1] = Matrix.Elements[1][1] * Scalar;
1603 Result.Elements[1][2] = Matrix.Elements[1][2] * Scalar;
1604 Result.Elements[1][3] = Matrix.Elements[1][3] * Scalar;
1605 Result.Elements[2][0] = Matrix.Elements[2][0] * Scalar;
1606 Result.Elements[2][1] = Matrix.Elements[2][1] * Scalar;
1607 Result.Elements[2][2] = Matrix.Elements[2][2] * Scalar;
1608 Result.Elements[2][3] = Matrix.Elements[2][3] * Scalar;
1609 Result.Elements[3][0] = Matrix.Elements[3][0] * Scalar;
1610 Result.Elements[3][1] = Matrix.Elements[3][1] * Scalar;
1611 Result.Elements[3][2] = Matrix.Elements[3][2] * Scalar;
1612 Result.Elements[3][3] = Matrix.Elements[3][3] * Scalar;
1613#endif
1614
1615 return Result;
1616}
1617
1618COVERAGE(HMM_MulM4V4, 1)
1619static inline HMM_Vec4 HMM_MulM4V4(HMM_Mat4 Matrix, HMM_Vec4 Vector)

Callers 3

HMM_MulFunction · 0.85
operator*Function · 0.85
TESTFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected