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
00030 template <typename matType>
00031 matType matrixCompMult(
00032 matType const & x,
00033 matType const & y);
00034
00039 template <typename vecType, typename matType>
00040 matType outerProduct(
00041 vecType const & c,
00042 vecType const & r);
00043
00046 template <typename matType>
00047 typename matType::transpose_type transpose(
00048 matType const & x);
00049
00052 template <typename T>
00053 typename detail::tmat2x2<T>::value_type determinant(
00054 detail::tmat2x2<T> const & m);
00055
00058 template <typename T>
00059 typename detail::tmat3x3<T>::value_type determinant(
00060 detail::tmat3x3<T> const & m);
00061
00064 template <typename T>
00065 typename detail::tmat4x4<T>::value_type determinant(
00066 detail::tmat4x4<T> const & m);
00067
00070 template <typename T>
00071 detail::tmat2x2<T> inverse(
00072 detail::tmat2x2<T> const & m);
00073
00076 template <typename T>
00077 detail::tmat3x3<T> inverse(
00078 detail::tmat3x3<T> const & m);
00079
00082 template <typename T>
00083 detail::tmat4x4<T> inverse(
00084 detail::tmat4x4<T> const & m);
00085
00087
00088 }
00089 }
00090 }
00091
00092 using namespace core::function::matrix;
00093 }
00094
00095 #include "func_matrix.inl"
00096
00097 #endif//glm_core_func_matrix