X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgeometry%2Fangle.h;h=207a5a273721a3475e6302abeffa6995f336dbf7;hb=93e7cf250208c36befb4b1a7337f5302c0e1da54;hp=2cfb1176005206c870efbf6cefd87170a938afde;hpb=29465bb366457a0087f2391cbb30ab04171fa1ff;p=libs%2Fmath.git diff --git a/source/geometry/angle.h b/source/geometry/angle.h index 2cfb117..207a5a2 100644 --- a/source/geometry/angle.h +++ b/source/geometry/angle.h @@ -20,7 +20,7 @@ private: public: Angle(): value(0) { } template - Angle(const Angle &other): value(other.value) { } + Angle(const Angle &other): value(other.radians()) { } static Angle from_degrees(T); static Angle from_radians(T); @@ -198,49 +198,57 @@ inline Angle wrap_balanced(const Angle &a) template inline Angle abs(const Angle &angle) { - return Angle::from_radians(std::abs(angle.radians())); + using std::abs; + return Angle::from_radians(abs(angle.radians())); } template inline T sin(const Angle &angle) { - return std::sin(angle.radians()); + using std::sin; + return sin(angle.radians()); } template inline Angle asin(T s) { - return Angle::from_radians(std::asin(s)); + using std::asin; + return Angle::from_radians(asin(s)); } template inline T cos(const Angle &angle) { - return std::cos(angle.radians()); + using std::cos; + return cos(angle.radians()); } template inline Angle acos(T s) { - return Angle::from_radians(std::acos(s)); + using std::acos; + return Angle::from_radians(acos(s)); } template inline T tan(const Angle &angle) { - return std::tan(angle.radians()); + using std::tan; + return tan(angle.radians()); } template inline Angle atan(T s) { - return Angle::from_radians(std::atan(s)); + using std::atan; + return Angle::from_radians(atan(s)); } template inline Angle atan2(T y, T x) { - return Angle::from_radians(std::atan2(y, x)); + using std::atan2; + return Angle::from_radians(atan2(y, x)); } } // namespace Geometry