func_matrix.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 #ifndef glm_core_func_matrix
00030 #define glm_core_func_matrix
00031 
00032 namespace glm
00033 {
00036 
00042         template <typename matType> 
00043         matType matrixCompMult(
00044                 matType const & x, 
00045                 matType const & y);
00046 
00053     template <typename vecType, typename matType> 
00054         matType outerProduct(
00055                 vecType const & c, 
00056                 vecType const & r);
00057 
00062     template <typename matType> 
00063         typename matType::transpose_type transpose(
00064                 matType const & x);
00065         
00070         template <typename T> 
00071         typename detail::tmat2x2<T>::value_type determinant(
00072                 detail::tmat2x2<T> const & m);
00073 
00078         template <typename T> 
00079         typename detail::tmat3x3<T>::value_type determinant(
00080                 detail::tmat3x3<T> const & m);
00081 
00086     template <typename T> 
00087         typename detail::tmat4x4<T>::value_type determinant(
00088                 detail::tmat4x4<T> const & m);
00089 
00094         template <typename T> 
00095         detail::tmat2x2<T> inverse(
00096                 detail::tmat2x2<T> const & m);
00097 
00102         template <typename T> 
00103         detail::tmat3x3<T> inverse(
00104                 detail::tmat3x3<T> const & m);
00105 
00110         template <typename T> 
00111         detail::tmat4x4<T> inverse(
00112                 detail::tmat4x4<T> const & m);
00113 
00115 }//namespace glm
00116 
00117 #include "func_matrix.inl"
00118 
00119 #endif//glm_core_func_matrix