00001
00002
00004
00005
00006
00007
00009
00010 #ifndef glm_core_func_matrix
00011 #define glm_core_func_matrix
00012
00013 namespace glm
00014 {
00015 namespace test{
00016 void main_core_func_matrix();
00017 }
00018
00019 namespace core{
00020 namespace function{
00022 namespace matrix{
00023
00026
00032 template <typename matType>
00033 matType matrixCompMult(
00034 matType const & x,
00035 matType const & y);
00036
00043 template <typename vecType, typename matType>
00044 matType outerProduct(
00045 vecType const & c,
00046 vecType const & r);
00047
00052 template <typename matType>
00053 typename matType::transpose_type transpose(
00054 matType const & x);
00055
00060 template <typename T>
00061 typename detail::tmat2x2<T>::value_type determinant(
00062 detail::tmat2x2<T> const & m);
00063
00068 template <typename T>
00069 typename detail::tmat3x3<T>::value_type determinant(
00070 detail::tmat3x3<T> const & m);
00071
00076 template <typename T>
00077 typename detail::tmat4x4<T>::value_type determinant(
00078 detail::tmat4x4<T> const & m);
00079
00084 template <typename T>
00085 detail::tmat2x2<T> inverse(
00086 detail::tmat2x2<T> const & m);
00087
00092 template <typename T>
00093 detail::tmat3x3<T> inverse(
00094 detail::tmat3x3<T> const & m);
00095
00100 template <typename T>
00101 detail::tmat4x4<T> inverse(
00102 detail::tmat4x4<T> const & m);
00103
00105
00106 }
00107 }
00108 }
00109
00110 using namespace core::function::matrix;
00111 }
00112
00113 #include "func_matrix.inl"
00114
00115 #endif//glm_core_func_matrix