diff --git a/include/units/Angle.hpp b/include/units/Angle.hpp index 5c5d815..4468d2e 100644 --- a/include/units/Angle.hpp +++ b/include/units/Angle.hpp @@ -59,15 +59,17 @@ class CAngle { // make CAngle able to be implicitly converted to Angle constexpr operator Angle() const { return Angle(M_PI_2 - this->value); } - constexpr Angle operator-() const { return CAngle(-this->value); } + constexpr CAngle operator-() const { return CAngle(-this->value); } - constexpr Angle operator+() const { return CAngle(this->value); } + constexpr CAngle operator+() const { return CAngle(this->value); } private: const double value; constexpr CAngle(double value) : value(value) {} }; +constexpr bool operator==(Angle lhs, CAngle rhs) { return lhs == Angle(rhs); } + constexpr Angle rad = Angle(1.0); constexpr Angle deg = Angle(M_PI / 180); constexpr Angle rot = Angle(M_TWOPI); diff --git a/src/main.cpp b/src/main.cpp index 3497b55..bc565e5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -47,7 +47,7 @@ void initialize() { void angleTests() { static_assert(+15_cDeg == 75_stDeg); - static_assert(to_stDeg(-15_cDeg) == to_stDeg(105_stDeg)); + static_assert(to_stDeg(-+15_cDeg) == to_stDeg(105_stDeg)); static_assert(r2i(to_stDeg(30_cDeg)) == r2i(to_stDeg(60_stDeg))); static_assert(r2i(to_stDeg(+0_cDeg)) == r2i(to_stDeg(90_stDeg))); Angle a = 2_cDeg;