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

Function TEST

test/categories/MatrixOps.h:3–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1#include "../HandmadeTest.h"
2
3TEST(InvMatrix, Transpose)
4{
5 {
6 HMM_Mat2 Matrix = {
7 1.0f, 3.0f,
8 2.0f, 4.0f,
9 };
10 HMM_Mat2 Expect = {
11 1.0f, 2.0f,
12 3.0f, 4.0f,
13 };
14
15 {
16 HMM_Mat2 result = HMM_TransposeM2(Matrix);
17 EXPECT_FLOAT_EQ(result.Elements[0][0], Expect.Elements[0][0]);
18 EXPECT_FLOAT_EQ(result.Elements[0][1], Expect.Elements[0][1]);
19 EXPECT_FLOAT_EQ(result.Elements[1][0], Expect.Elements[1][0]);
20 EXPECT_FLOAT_EQ(result.Elements[1][1], Expect.Elements[1][1]);
21 }
22#ifdef __cplusplus
23 {
24 HMM_Mat2 result = HMM_Transpose(Matrix);
25 EXPECT_FLOAT_EQ(result.Elements[0][0], Expect.Elements[0][0]);
26 EXPECT_FLOAT_EQ(result.Elements[0][1], Expect.Elements[0][1]);
27 EXPECT_FLOAT_EQ(result.Elements[1][0], Expect.Elements[1][0]);
28 EXPECT_FLOAT_EQ(result.Elements[1][1], Expect.Elements[1][1]);
29 }
30#endif
31 }
32
33 {
34 HMM_Mat3 Matrix = {
35 1.0f, 4.0f, 7.0f,
36 2.0f, 5.0f, 8.0f,
37 3.0f, 6.0f, 9.0f,
38 };
39 HMM_Mat3 Expect = {
40 1.0f, 2.0f, 3.0f,
41 4.0f, 5.0f, 6.0f,
42 7.0f, 8.0f, 9.0f
43 };
44
45 {
46 HMM_Mat3 result = HMM_TransposeM3(Matrix);
47 EXPECT_FLOAT_EQ(result.Elements[0][0], Expect.Elements[0][0]);
48 EXPECT_FLOAT_EQ(result.Elements[0][1], Expect.Elements[0][1]);
49 EXPECT_FLOAT_EQ(result.Elements[0][2], Expect.Elements[0][2]);
50 EXPECT_FLOAT_EQ(result.Elements[1][0], Expect.Elements[1][0]);
51 EXPECT_FLOAT_EQ(result.Elements[1][1], Expect.Elements[1][1]);
52 EXPECT_FLOAT_EQ(result.Elements[1][2], Expect.Elements[1][2]);
53 EXPECT_FLOAT_EQ(result.Elements[2][0], Expect.Elements[2][0]);
54 EXPECT_FLOAT_EQ(result.Elements[2][1], Expect.Elements[2][1]);
55 EXPECT_FLOAT_EQ(result.Elements[2][2], Expect.Elements[2][2]);
56 }
57#ifdef __cplusplus
58 {
59 HMM_Mat3 result = HMM_Transpose(Matrix);
60 EXPECT_FLOAT_EQ(result.Elements[0][0], Expect.Elements[0][0]);

Callers

nothing calls this directly

Calls 15

HMM_TransposeM2Function · 0.85
HMM_TransposeFunction · 0.85
HMM_TransposeM3Function · 0.85
HMM_TransposeM4Function · 0.85
HMM_M4DFunction · 0.85
HMM_InvGeneralM4Function · 0.85
HMM_MulM4Function · 0.85
HMM_DeterminantM4Function · 0.85
HMM_InvGeneralFunction · 0.85
HMM_MulFunction · 0.85
HMM_DeterminantFunction · 0.85
HMM_M3DFunction · 0.85

Tested by

no test coverage detected