| 1534 | |
| 1535 | COVERAGE(HMM_SubM4, 1) |
| 1536 | static inline HMM_Mat4 HMM_SubM4(HMM_Mat4 Left, HMM_Mat4 Right) |
| 1537 | { |
| 1538 | ASSERT_COVERED(HMM_SubM4); |
| 1539 | |
| 1540 | HMM_Mat4 Result; |
| 1541 | |
| 1542 | #ifdef HANDMADE_MATH__USE_SSE |
| 1543 | Result.Columns[0].SSE = _mm_sub_ps(Left.Columns[0].SSE, Right.Columns[0].SSE); |
| 1544 | Result.Columns[1].SSE = _mm_sub_ps(Left.Columns[1].SSE, Right.Columns[1].SSE); |
| 1545 | Result.Columns[2].SSE = _mm_sub_ps(Left.Columns[2].SSE, Right.Columns[2].SSE); |
| 1546 | Result.Columns[3].SSE = _mm_sub_ps(Left.Columns[3].SSE, Right.Columns[3].SSE); |
| 1547 | #else |
| 1548 | Result.Elements[0][0] = Left.Elements[0][0] - Right.Elements[0][0]; |
| 1549 | Result.Elements[0][1] = Left.Elements[0][1] - Right.Elements[0][1]; |
| 1550 | Result.Elements[0][2] = Left.Elements[0][2] - Right.Elements[0][2]; |
| 1551 | Result.Elements[0][3] = Left.Elements[0][3] - Right.Elements[0][3]; |
| 1552 | Result.Elements[1][0] = Left.Elements[1][0] - Right.Elements[1][0]; |
| 1553 | Result.Elements[1][1] = Left.Elements[1][1] - Right.Elements[1][1]; |
| 1554 | Result.Elements[1][2] = Left.Elements[1][2] - Right.Elements[1][2]; |
| 1555 | Result.Elements[1][3] = Left.Elements[1][3] - Right.Elements[1][3]; |
| 1556 | Result.Elements[2][0] = Left.Elements[2][0] - Right.Elements[2][0]; |
| 1557 | Result.Elements[2][1] = Left.Elements[2][1] - Right.Elements[2][1]; |
| 1558 | Result.Elements[2][2] = Left.Elements[2][2] - Right.Elements[2][2]; |
| 1559 | Result.Elements[2][3] = Left.Elements[2][3] - Right.Elements[2][3]; |
| 1560 | Result.Elements[3][0] = Left.Elements[3][0] - Right.Elements[3][0]; |
| 1561 | Result.Elements[3][1] = Left.Elements[3][1] - Right.Elements[3][1]; |
| 1562 | Result.Elements[3][2] = Left.Elements[3][2] - Right.Elements[3][2]; |
| 1563 | Result.Elements[3][3] = Left.Elements[3][3] - Right.Elements[3][3]; |
| 1564 | #endif |
| 1565 | |
| 1566 | return Result; |
| 1567 | } |
| 1568 | |
| 1569 | COVERAGE(HMM_MulM4, 1) |
| 1570 | static inline HMM_Mat4 HMM_MulM4(HMM_Mat4 Left, HMM_Mat4 Right) |