func_matrix.hpp
00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2008-08-03
00005 // Updated : 2010-02-04
00006 // Licence : This source is under MIT License
00007 // File    : glm/core/func_matrix.hpp
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         }//namespace test
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         }//namespace matrix
00107         }//namespace function
00108         }//namespace core
00109 
00110         using namespace core::function::matrix;
00111 }//namespace glm
00112 
00113 #include "func_matrix.inl"
00114 
00115 #endif//glm_core_func_matrix