40         template <
typename T, precision P, 
template <
class, precision> 
class colType, 
template <
class, precision> 
class rowType>
 
   41         struct outerProduct_trait{};
 
   44         template <
typename T, precision P> 
struct tvec2;
 
   45         template <
typename T, precision P> 
struct tvec3;
 
   46         template <
typename T, precision P> 
struct tvec4;
 
   47         template <
typename T, precision P> 
struct tmat2x2;
 
   48         template <
typename T, precision P> 
struct tmat2x3;
 
   49         template <
typename T, precision P> 
struct tmat2x4;
 
   50         template <
typename T, precision P> 
struct tmat3x2;
 
   51         template <
typename T, precision P> 
struct tmat3x3;
 
   52         template <
typename T, precision P> 
struct tmat3x4;
 
   53         template <
typename T, precision P> 
struct tmat4x2;
 
   54         template <
typename T, precision P> 
struct tmat4x3;
 
   55         template <
typename T, precision P> 
struct tmat4x4;
 
  361 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
  362         typedef lowp_mat2x2                     
mat2x2;
 
  363         typedef lowp_mat2x3                     
mat2x3;
 
  364         typedef lowp_mat2x4                     
mat2x4;
 
  365         typedef lowp_mat3x2                     
mat3x2;
 
  366         typedef lowp_mat3x3                     
mat3x3;
 
  367         typedef lowp_mat3x4                     
mat3x4;
 
  368         typedef lowp_mat4x2                     
mat4x2;
 
  369         typedef lowp_mat4x3                     
mat4x3;
 
  370         typedef lowp_mat4x4                     
mat4x4;
 
  371 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
  372         typedef mediump_mat2x2          
mat2x2;
 
  373         typedef mediump_mat2x3          
mat2x3;
 
  374         typedef mediump_mat2x4          
mat2x4;
 
  375         typedef mediump_mat3x2          
mat3x2;
 
  376         typedef mediump_mat3x3          
mat3x3;
 
  377         typedef mediump_mat3x4          
mat3x4;
 
  378         typedef mediump_mat4x2          
mat4x2;
 
  379         typedef mediump_mat4x3          
mat4x3;
 
  380         typedef mediump_mat4x4          
mat4x4;
 
  382         typedef highp_mat2x2                    
mat2x2;
 
  427 #endif//GLM_PRECISION 
  708 #if(defined(GLM_PRECISION_LOWP_DOUBLE)) 
  718 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) 
  719         typedef mediump_dmat2x2         
dmat2x2;
 
  720         typedef mediump_dmat2x3         
dmat2x3;
 
  721         typedef mediump_dmat2x4         
dmat2x4;
 
  722         typedef mediump_dmat3x2         
dmat3x2;
 
  723         typedef mediump_dmat3x3         
dmat3x3;
 
  724         typedef mediump_dmat3x4         
dmat3x4;
 
  725         typedef mediump_dmat4x2         
dmat4x2;
 
  726         typedef mediump_dmat4x3         
dmat4x3;
 
  727         typedef mediump_dmat4x4         
dmat4x4;
 
  728 #else //defined(GLM_PRECISION_HIGHP_DOUBLE) 
  790 #endif//GLM_PRECISION 
tmat3x2< float, highp > highp_mat3x2
3 columns of 2 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. 
tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers. 
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers. 
tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers. 
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers. 
tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers. 
tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers. 
OpenGL Mathematics (glm.g-truc.net) 
tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers. 
tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers. 
tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers. 
tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers. 
tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers. 
tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers. 
tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers. 
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers. 
tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers. 
tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision 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. 
tmat4x4< double, lowp > lowp_dmat4x4
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. 
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. 
tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers. 
tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers. 
tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers. 
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers. 
tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers. 
tmat3x3< double, mediump > mediump_dmat3x3
3 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. 
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers. 
tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers. 
tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers. 
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers. 
tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers. 
tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers. 
tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers. 
tmat3x2< double, highp > highp_dmat3x2
3 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. 
tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers. 
tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers. 
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers. 
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers. 
tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers. 
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers. 
tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers. 
tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers. 
tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers. 
tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 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. 
tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers. 
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers. 
tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 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< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers. 
tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers. 
tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers. 
tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers. 
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers. 
tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers. 
tmat2x2< float, highp > highp_mat2
2 columns of 2 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. 
tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers. 
tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers. 
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers. 
tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers. 
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers. 
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers. 
tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers. 
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers. 
tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers. 
tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium 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. 
tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 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. 
tmat2x2< double, mediump > mediump_dmat2x2
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. 
tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers. 
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers. 
tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers. 
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers. 
tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 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. 
tmat4x4< float, highp > highp_mat4
4 columns of 4 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. 
tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers. 
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers. 
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers. 
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers. 
tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers. 
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers. 
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers. 
tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers. 
tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.