11         template <
typename T, precision P, 
template <
class, precision> 
class colType, 
template <
class, precision> 
class rowType>
 
   12         struct outerProduct_trait{};
 
   15         template <
typename T, precision P> 
struct tvec2;
 
   16         template <
typename T, precision P> 
struct tvec3;
 
   17         template <
typename T, precision P> 
struct tvec4;
 
   18         template <
typename T, precision P> 
struct tmat2x2;
 
   19         template <
typename T, precision P> 
struct tmat2x3;
 
   20         template <
typename T, precision P> 
struct tmat2x4;
 
   21         template <
typename T, precision P> 
struct tmat3x2;
 
   22         template <
typename T, precision P> 
struct tmat3x3;
 
   23         template <
typename T, precision P> 
struct tmat3x4;
 
   24         template <
typename T, precision P> 
struct tmat4x2;
 
   25         template <
typename T, precision P> 
struct tmat4x3;
 
   26         template <
typename T, precision P> 
struct tmat4x4;
 
   28         template <
typename T, precision P, 
template <
typename, precision> 
class matType>
 
   29         GLM_FUNC_DECL matType<T, P> 
inverse(matType<T, P> 
const & m);
 
  335 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
  336         typedef lowp_mat2x2                     
mat2x2;
 
  337         typedef lowp_mat2x3                     
mat2x3;
 
  338         typedef lowp_mat2x4                     
mat2x4;
 
  339         typedef lowp_mat3x2                     
mat3x2;
 
  340         typedef lowp_mat3x3                     
mat3x3;
 
  341         typedef lowp_mat3x4                     
mat3x4;
 
  342         typedef lowp_mat4x2                     
mat4x2;
 
  343         typedef lowp_mat4x3                     
mat4x3;
 
  344         typedef lowp_mat4x4                     
mat4x4;
 
  345 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
  346         typedef mediump_mat2x2          
mat2x2;
 
  347         typedef mediump_mat2x3          
mat2x3;
 
  348         typedef mediump_mat2x4          
mat2x4;
 
  349         typedef mediump_mat3x2          
mat3x2;
 
  350         typedef mediump_mat3x3          
mat3x3;
 
  351         typedef mediump_mat3x4          
mat3x4;
 
  352         typedef mediump_mat4x2          
mat4x2;
 
  353         typedef mediump_mat4x3          
mat4x3;
 
  354         typedef mediump_mat4x4          
mat4x4;
 
  356         typedef highp_mat2x2                    
mat2x2;
 
  401 #endif//GLM_PRECISION 
  682 #if(defined(GLM_PRECISION_LOWP_DOUBLE)) 
  692 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) 
  693         typedef mediump_dmat2x2         
dmat2x2;
 
  694         typedef mediump_dmat2x3         
dmat2x3;
 
  695         typedef mediump_dmat2x4         
dmat2x4;
 
  696         typedef mediump_dmat3x2         
dmat3x2;
 
  697         typedef mediump_dmat3x3         
dmat3x3;
 
  698         typedef mediump_dmat3x4         
dmat3x4;
 
  699         typedef mediump_dmat4x2         
dmat4x2;
 
  700         typedef mediump_dmat4x3         
dmat4x3;
 
  701         typedef mediump_dmat4x4         
dmat4x4;
 
  702 #else //defined(GLM_PRECISION_HIGHP_DOUBLE) 
  764 #endif//GLM_PRECISION 
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers. 
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers. 
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers. 
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers. 
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers. 
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers. 
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers. 
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers. 
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers. 
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers. 
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers. 
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers. 
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers. 
tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers. 
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers. 
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers. 
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers. 
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers. 
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers. 
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers. 
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers. 
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers. 
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers. 
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers. 
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers. 
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers. 
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers. 
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers. 
tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers. 
tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers. 
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers. 
tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers. 
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers. 
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers. 
tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers. 
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers. 
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)
Return the inverse of a squared matrix. 
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers. 
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers. 
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers. 
tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers. 
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers. 
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers. 
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers. 
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers. 
tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers. 
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers. 
tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers. 
tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers. 
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers. 
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers. 
tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers. 
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers. 
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers. 
tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers. 
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers. 
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers. 
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers. 
tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers. 
tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers. 
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers. 
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers. 
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers. 
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers. 
tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers. 
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers. 
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers. 
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers. 
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers. 
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers. 
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers. 
tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers. 
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers. 
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers. 
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers. 
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers. 
tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers. 
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers. 
tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers. 
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers. 
tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers. 
tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers. 
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers. 
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers. 
tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers. 
tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers. 
tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers. 
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers. 
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers. 
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers. 
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers. 
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers. 
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers. 
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers. 
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers. 
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers. 
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.