| 1340 | |
| 1341 | COVERAGE(HMM_MulM3V3, 1) |
| 1342 | static inline HMM_Vec3 HMM_MulM3V3(HMM_Mat3 Matrix, HMM_Vec3 Vector) |
| 1343 | { |
| 1344 | ASSERT_COVERED(HMM_MulM3V3); |
| 1345 | |
| 1346 | HMM_Vec3 Result; |
| 1347 | |
| 1348 | Result.X = Vector.Elements[0] * Matrix.Columns[0].X; |
| 1349 | Result.Y = Vector.Elements[0] * Matrix.Columns[0].Y; |
| 1350 | Result.Z = Vector.Elements[0] * Matrix.Columns[0].Z; |
| 1351 | |
| 1352 | Result.X += Vector.Elements[1] * Matrix.Columns[1].X; |
| 1353 | Result.Y += Vector.Elements[1] * Matrix.Columns[1].Y; |
| 1354 | Result.Z += Vector.Elements[1] * Matrix.Columns[1].Z; |
| 1355 | |
| 1356 | Result.X += Vector.Elements[2] * Matrix.Columns[2].X; |
| 1357 | Result.Y += Vector.Elements[2] * Matrix.Columns[2].Y; |
| 1358 | Result.Z += Vector.Elements[2] * Matrix.Columns[2].Z; |
| 1359 | |
| 1360 | return Result; |
| 1361 | } |
| 1362 | |
| 1363 | COVERAGE(HMM_MulM3, 1) |
| 1364 | static inline HMM_Mat3 HMM_MulM3(HMM_Mat3 Left, HMM_Mat3 Right) |