71 EXPECT_DOUBLE_EQ(inverse_q1.
r(), 1.0);
72 EXPECT_DOUBLE_EQ(inverse_q1.
i(), 0.0);
73 EXPECT_DOUBLE_EQ(inverse_q1.
j(), 0.0);
74 EXPECT_DOUBLE_EQ(inverse_q1.
k(), 0.0);
78 double norm = q2.
norm();
79 EXPECT_DOUBLE_EQ(inverse_q2.
r(), 2.0 / norm);
80 EXPECT_DOUBLE_EQ(inverse_q2.
i(), -1.0 / norm);
81 EXPECT_DOUBLE_EQ(inverse_q2.
j(), -1.0 / norm);
82 EXPECT_DOUBLE_EQ(inverse_q2.
k(), -1.0 / norm);
110TEST(Quaternion, ScalarAdditionAndSubtraction) {
112 auto result = 2.0 + q;
113 EXPECT_DOUBLE_EQ(result.r(), 3.0);
114 EXPECT_DOUBLE_EQ(result.i(), 0.0);
115 EXPECT_DOUBLE_EQ(result.j(), 0.0);
116 EXPECT_DOUBLE_EQ(result.k(), 0.0);
118 auto result2 = q + 2.0;
119 EXPECT_DOUBLE_EQ(result2.r(), 3.0);
120 EXPECT_DOUBLE_EQ(result2.i(), 0.0);
121 EXPECT_DOUBLE_EQ(result2.j(), 0.0);
122 EXPECT_DOUBLE_EQ(result2.k(), 0.0);
124 auto result3 = 2.0 - q;
125 EXPECT_DOUBLE_EQ(result3.r(), 1.0);
126 EXPECT_DOUBLE_EQ(result3.i(), 0.0);
127 EXPECT_DOUBLE_EQ(result3.j(), 0.0);
128 EXPECT_DOUBLE_EQ(result3.k(), 0.0);
130 auto result4 = q - 2.0;
131 EXPECT_DOUBLE_EQ(result4.r(), -1.0);
132 EXPECT_DOUBLE_EQ(result4.i(), 0.0);
133 EXPECT_DOUBLE_EQ(result4.j(), 0.0);
134 EXPECT_DOUBLE_EQ(result4.k(), 0.0);
136 auto q32 = 2_qi + 2_qk;