]> git.tdb.fi Git - libs/math.git/commitdiff
Don't qualify potentially overloaded functions with the std namespace
authorMikko Rasa <tdb@tdb.fi>
Sun, 19 May 2013 17:38:22 +0000 (20:38 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 19 May 2013 17:57:19 +0000 (20:57 +0300)
Instead put a using std::func before the call.  This makes things work if
the template argument is a user-defined type with these functions defined
in another namespace.

source/geometry/angle.h
source/linal/matrix.h

index 2cfb1176005206c870efbf6cefd87170a938afde..fbf6d061af0b9aef10b2f0cbb8b58e8b84ed8ac4 100644 (file)
@@ -198,49 +198,57 @@ inline Angle<T> wrap_balanced(const Angle<T> &a)
 template<typename T>
 inline Angle<T> abs(const Angle<T> &angle)
 {
-       return Angle<T>::from_radians(std::abs(angle.radians()));
+       using std::abs;
+       return Angle<T>::from_radians(abs(angle.radians()));
 }
 
 template<typename T>
 inline T sin(const Angle<T> &angle)
 {
-       return std::sin(angle.radians());
+       using std::sin;
+       return sin(angle.radians());
 }
 
 template<typename T>
 inline Angle<T> asin(T s)
 {
-       return Angle<T>::from_radians(std::asin(s));
+       using std::asin;
+       return Angle<T>::from_radians(asin(s));
 }
 
 template<typename T>
 inline T cos(const Angle<T> &angle)
 {
-       return std::cos(angle.radians());
+       using std::cos;
+       return cos(angle.radians());
 }
 
 template<typename T>
 inline Angle<T> acos(T s)
 {
-       return Angle<T>::from_radians(std::acos(s));
+       using std::acos;
+       return Angle<T>::from_radians(acos(s));
 }
 
 template<typename T>
 inline T tan(const Angle<T> &angle)
 {
-       return std::tan(angle.radians());
+       using std::tan;
+       return tan(angle.radians());
 }
 
 template<typename T>
 inline Angle<T> atan(T s)
 {
-       return Angle<T>::from_radians(std::atan(s));
+       using std::atan;
+       return Angle<T>::from_radians(atan(s));
 }
 
 template<typename T>
 inline Angle<T> atan2(T y, T x)
 {
-       return Angle<T>::from_radians(std::atan2(y, x));
+       using std::atan2;
+       return Angle<T>::from_radians(atan2(y, x));
 }
 
 } // namespace Geometry
index 83a64f50dd767ff1497804378be48160e8691ed0..6c04454296e51ae2162e0534f1def87fa379afac 100644 (file)
@@ -189,8 +189,9 @@ inline bool operator==(const Matrix<T, M, N> &a, const Matrix<T, M, N> &b)
 template<typename T, unsigned M, unsigned N>
 inline Matrix<T, M, N> &Matrix<T, M, N>::exchange_rows(unsigned i, unsigned j)
 {
+       using std::swap;
        for(unsigned k=0; k<N; ++k)
-               std::swap(element(i, k), element(j, k));
+               swap(element(i, k), element(j, k));
        return *this;
 }