diff --git a/CMakeLists.txt b/CMakeLists.txt index c0bcd5b..e25fb7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,8 @@ else() add_library(LinearAlgebra STATIC "FloatSingle.cpp" "Angle.cpp" + "Angle8.cpp" + "Angle16.cpp" "Vector2.cpp" "Vector3.cpp" "Quaternion.cpp" diff --git a/Vector2.h b/Vector2.h index 97d6c79..c4abf6c 100644 --- a/Vector2.h +++ b/Vector2.h @@ -150,8 +150,12 @@ struct Vector2 : Vec2 { /// @param f The scaling factor /// @return The scaled vector /// @remark Each componet of the vector will be divided by the same factor. - friend Vector2 operator/(const Vector2& v, float f); - friend Vector2 operator/(float f, const Vector2& v); + friend Vector2 operator/(const Vector2& v, float f) { + return Vector2(v.x / f, v.y / f); + } + friend Vector2 operator/(float f, const Vector2& v) { + return Vector2(f / v.x, f / v.y); + } Vector2 operator/=(float f); /// @brief The dot product of two vectors diff --git a/test/DiscreteAngle_test.cc b/test/DiscreteAngle_test.cc index b0d59df..510cbfa 100644 --- a/test/DiscreteAngle_test.cc +++ b/test/DiscreteAngle_test.cc @@ -1,8 +1,8 @@ #if GTEST #include -#include #include +#include #include "Angle16.h" #include "Angle8.h" @@ -12,12 +12,12 @@ TEST(Angle8, Construct) { float angle = 0.0F; Angle8 a = Angle8(angle); - float f = a.ToFloat(); + float f = (float)a; EXPECT_FLOAT_EQ(f, angle); angle = -180.0F; a = Angle8(angle); - f = a.ToFloat(); + f = (float)a; EXPECT_FLOAT_EQ(f, angle); } @@ -25,26 +25,26 @@ TEST(Angle8, Negate) { float angle = 0; Angle8 a = Angle8(angle); a = -a; - float f = a.ToFloat(); + float f = (float)a; EXPECT_FLOAT_EQ(f, angle); angle = 90.0F; a = Angle8(angle); a = -a; - f = a.ToFloat(); + f = (float)a; EXPECT_FLOAT_EQ(f, -angle); } TEST(Angle8, Add) { - Angle8 a = Angle8(0.0F); + Angle8 a = Angle8::Degrees(0.0F); Angle8 b = Angle8(0.0F); Angle8 r = a + b; - EXPECT_FLOAT_EQ(r.ToFloat(), 0); + EXPECT_FLOAT_EQ((float)r, 0); } TEST(Angle16, Construct) { Angle16 a = Angle16(0.0F); - float f = a.ToFloat(); + float f = (float)a; EXPECT_FLOAT_EQ(f, 0); } @@ -52,13 +52,13 @@ TEST(Angle16, Negate) { float angle = 0; Angle16 a = Angle16(angle); a = -a; - float f = a.ToFloat(); + float f = (float)a; EXPECT_FLOAT_EQ(f, angle); angle = 90.0F; a = Angle16(angle); a = -a; - f = a.ToFloat(); + f = (float)a; EXPECT_FLOAT_EQ(f, -angle); } #endif \ No newline at end of file