Browse Source

Math: no need to use class here.

pull/276/head
Vladimír Vondruš 12 years ago
parent
commit
dcd89bac0a
  1. 11
      src/Magnum/Math/Matrix.h

11
src/Magnum/Math/Matrix.h

@ -34,7 +34,7 @@
namespace Magnum { namespace Math { namespace Magnum { namespace Math {
namespace Implementation { namespace Implementation {
template<std::size_t size, class T> class MatrixDeterminant; template<std::size_t, class> struct MatrixDeterminant;
} }
/** /**
@ -248,8 +248,7 @@ template<std::size_t size, class T> inline Corrade::Utility::Debug operator<<(Co
namespace Implementation { namespace Implementation {
template<std::size_t size, class T> class MatrixDeterminant { template<std::size_t size, class T> struct MatrixDeterminant {
public:
T operator()(const Matrix<size, T>& m); T operator()(const Matrix<size, T>& m);
}; };
@ -262,15 +261,13 @@ template<std::size_t size, class T> T MatrixDeterminant<size, T>::operator()(con
return out; return out;
} }
template<class T> class MatrixDeterminant<2, T> { template<class T> struct MatrixDeterminant<2, T> {
public:
constexpr T operator()(const Matrix<2, T>& m) const { constexpr T operator()(const Matrix<2, T>& m) const {
return m[0][0]*m[1][1] - m[1][0]*m[0][1]; return m[0][0]*m[1][1] - m[1][0]*m[0][1];
} }
}; };
template<class T> class MatrixDeterminant<1, T> { template<class T> struct MatrixDeterminant<1, T> {
public:
constexpr T operator()(const Matrix<1, T>& m) const { constexpr T operator()(const Matrix<1, T>& m) const {
return m[0][0]; return m[0][0];
} }

Loading…
Cancel
Save