44         template <
typename T, precision P> 
struct tquat;
 
   49         typedef tquat<float, lowp>              lowp_quat;
 
   54         typedef tquat<float, mediump>   mediump_quat;
 
   59         typedef tquat<float, highp>             highp_quat;
 
   61 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   62         typedef highp_quat                      quat;
 
   63 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   64         typedef mediump_quat            quat;
 
   65 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) 
   66         typedef lowp_quat                       quat;
 
   67 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   68         typedef highp_quat                      quat;
 
   75         typedef lowp_quat                       lowp_fquat;
 
   80         typedef mediump_quat            mediump_fquat;
 
   85         typedef highp_quat                      highp_fquat;
 
   96         typedef tquat<double, lowp>             lowp_dquat;
 
  101         typedef tquat<double, mediump>  mediump_dquat;
 
  106         typedef tquat<double, highp>    highp_dquat;
 
  108 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
  109         typedef highp_dquat                     dquat;
 
  110 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
  111         typedef mediump_dquat           dquat;
 
  112 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) 
  113         typedef lowp_dquat                      dquat;
 
  114 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
  115         typedef highp_dquat                     dquat;
 
  274         typedef detail::int8 
int8;
 
  278         typedef detail::int16 
int16;
 
  282         typedef detail::int32 
int32;
 
  286         typedef detail::int64 
int64;
 
  289 #if GLM_HAS_EXTENDED_INTEGER_TYPE 
  295         typedef detail::int8 
int8_t;
 
  314         typedef detail::int8 
i8;
 
  318         typedef detail::int16 
i16;
 
  322         typedef detail::int32 
i32;
 
  326         typedef detail::int64 
i64;
 
  332         typedef tvec1<i8, lowp> lowp_i8vec1;
 
  336         typedef tvec2<i8, lowp> lowp_i8vec2;
 
  340         typedef tvec3<i8, lowp> lowp_i8vec3;
 
  344         typedef tvec4<i8, lowp> lowp_i8vec4;
 
  349         typedef tvec1<i8, mediump> mediump_i8vec1;
 
  353         typedef tvec2<i8, mediump> mediump_i8vec2;
 
  357         typedef tvec3<i8, mediump> mediump_i8vec3;
 
  361         typedef tvec4<i8, mediump> mediump_i8vec4;
 
  366         typedef tvec1<i8, highp> highp_i8vec1;
 
  370         typedef tvec2<i8, highp> highp_i8vec2;
 
  374         typedef tvec3<i8, highp> highp_i8vec3;
 
  378         typedef tvec4<i8, highp> highp_i8vec4;
 
  380 #if(defined(GLM_PRECISION_LOWP_INT)) 
  381         typedef lowp_i8vec1                             
i8vec1;
 
  382         typedef lowp_i8vec2                             
i8vec2;
 
  383         typedef lowp_i8vec3                             
i8vec3;
 
  384         typedef lowp_i8vec4                             
i8vec4;
 
  385 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  386         typedef mediump_i8vec1                  
i8vec1;
 
  387         typedef mediump_i8vec2                  
i8vec2;
 
  388         typedef mediump_i8vec3                  
i8vec3;
 
  389         typedef mediump_i8vec4                  
i8vec4; 
 
  391         typedef highp_i8vec1                    
i8vec1;
 
  411         typedef tvec1<i16, lowp>                lowp_i16vec1;
 
  415         typedef tvec2<i16, lowp>                lowp_i16vec2;
 
  419         typedef tvec3<i16, lowp>                lowp_i16vec3;
 
  423         typedef tvec4<i16, lowp>                lowp_i16vec4;
 
  428         typedef tvec1<i16, mediump>             mediump_i16vec1;
 
  432         typedef tvec2<i16, mediump>             mediump_i16vec2;
 
  436         typedef tvec3<i16, mediump>             mediump_i16vec3;
 
  440         typedef tvec4<i16, mediump>             mediump_i16vec4;
 
  445         typedef tvec1<i16, highp>               highp_i16vec1;
 
  449         typedef tvec2<i16, highp>               highp_i16vec2;
 
  453         typedef tvec3<i16, highp>               highp_i16vec3;
 
  457         typedef tvec4<i16, highp>               highp_i16vec4;
 
  460 #if(defined(GLM_PRECISION_LOWP_INT)) 
  465 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  466         typedef mediump_i16vec1                 
i16vec1;
 
  467         typedef mediump_i16vec2                 
i16vec2;
 
  468         typedef mediump_i16vec3                 
i16vec3;
 
  469         typedef mediump_i16vec4                 
i16vec4;
 
  491         typedef tvec1<i32, lowp>                lowp_i32vec1;
 
  495         typedef tvec2<i32, lowp>                lowp_i32vec2;
 
  499         typedef tvec3<i32, lowp>                lowp_i32vec3;
 
  503         typedef tvec4<i32, lowp>                lowp_i32vec4;
 
  508         typedef tvec1<i32, mediump>             mediump_i32vec1;
 
  512         typedef tvec2<i32, mediump>             mediump_i32vec2;
 
  516         typedef tvec3<i32, mediump>             mediump_i32vec3;
 
  520         typedef tvec4<i32, mediump>             mediump_i32vec4;
 
  525         typedef tvec1<i32, highp>               highp_i32vec1;
 
  529         typedef tvec2<i32, highp>               highp_i32vec2;
 
  533         typedef tvec3<i32, highp>               highp_i32vec3;
 
  537         typedef tvec4<i32, highp>               highp_i32vec4;
 
  539 #if(defined(GLM_PRECISION_LOWP_INT)) 
  544 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  545         typedef mediump_i32vec1                 
i32vec1;
 
  546         typedef mediump_i32vec2                 
i32vec2;
 
  547         typedef mediump_i32vec3                 
i32vec3;
 
  548         typedef mediump_i32vec4                 
i32vec4;
 
  570         typedef tvec1<i32, lowp>                lowp_i32vec1;
 
  574         typedef tvec2<i32, lowp>                lowp_i32vec2;
 
  578         typedef tvec3<i32, lowp>                lowp_i32vec3;
 
  582         typedef tvec4<i32, lowp>                lowp_i32vec4;
 
  587         typedef tvec1<i32, mediump>             mediump_i32vec1;
 
  591         typedef tvec2<i32, mediump>             mediump_i32vec2;
 
  595         typedef tvec3<i32, mediump>             mediump_i32vec3;
 
  599         typedef tvec4<i32, mediump>             mediump_i32vec4;
 
  604         typedef tvec1<i32, highp>               highp_i32vec1;
 
  608         typedef tvec2<i32, highp>               highp_i32vec2;
 
  612         typedef tvec3<i32, highp>               highp_i32vec3;
 
  616         typedef tvec4<i32, highp>               highp_i32vec4;
 
  618 #if(defined(GLM_PRECISION_LOWP_INT)) 
  623 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  624         typedef mediump_i32vec1                 
i32vec1;
 
  625         typedef mediump_i32vec2                 
i32vec2;
 
  626         typedef mediump_i32vec3                 
i32vec3;
 
  627         typedef mediump_i32vec4                 
i32vec4;
 
  650         typedef tvec1<i64, lowp>                lowp_i64vec1;
 
  654         typedef tvec2<i64, lowp>                lowp_i64vec2;
 
  658         typedef tvec3<i64, lowp>                lowp_i64vec3;
 
  662         typedef tvec4<i64, lowp>                lowp_i64vec4;
 
  667         typedef tvec1<i64, mediump>             mediump_i64vec1;
 
  671         typedef tvec2<i64, mediump>             mediump_i64vec2;
 
  675         typedef tvec3<i64, mediump>             mediump_i64vec3;
 
  679         typedef tvec4<i64, mediump>             mediump_i64vec4;
 
  684         typedef tvec1<i64, highp>               highp_i64vec1;
 
  688         typedef tvec2<i64, highp>               highp_i64vec2;
 
  692         typedef tvec3<i64, highp>               highp_i64vec3;
 
  696         typedef tvec4<i64, highp>               highp_i64vec4;
 
  698 #if(defined(GLM_PRECISION_LOWP_INT)) 
  703 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  704         typedef mediump_i64vec1                 
i64vec1;
 
  705         typedef mediump_i64vec2                 
i64vec2;
 
  706         typedef mediump_i64vec3                 
i64vec3;
 
  707         typedef mediump_i64vec4                 
i64vec4;
 
  884         typedef detail::uint8 
uint8;
 
  888         typedef detail::uint16 
uint16;
 
  892         typedef detail::uint32 
uint32;
 
  896         typedef detail::uint64 
uint64;
 
  898 #if GLM_HAS_EXTENDED_INTEGER_TYPE 
  923         typedef detail::uint8 
u8;
 
  927         typedef detail::uint16 
u16;
 
  931         typedef detail::uint32 
u32;
 
  935         typedef detail::uint64 
u64;
 
  941         typedef tvec1<u8, lowp> lowp_u8vec1;
 
  945         typedef tvec2<u8, lowp> lowp_u8vec2;
 
  949         typedef tvec3<u8, lowp> lowp_u8vec3;
 
  953         typedef tvec4<u8, lowp> lowp_u8vec4;
 
  958         typedef tvec1<u8, mediump> mediump_u8vec1;
 
  962         typedef tvec2<u8, mediump> mediump_u8vec2;
 
  966         typedef tvec3<u8, mediump> mediump_u8vec3;
 
  970         typedef tvec4<u8, mediump> mediump_u8vec4;
 
  975         typedef tvec1<u8, highp> highp_u8vec1;
 
  979         typedef tvec2<u8, highp> highp_u8vec2;
 
  983         typedef tvec3<u8, highp> highp_u8vec3;
 
  987         typedef tvec4<u8, highp> highp_u8vec4;
 
  989 #if(defined(GLM_PRECISION_LOWP_INT)) 
  990         typedef lowp_u8vec1                             
u8vec1;
 
  991         typedef lowp_u8vec2                             
u8vec2;
 
  992         typedef lowp_u8vec3                             
u8vec3;
 
  993         typedef lowp_u8vec4                             
u8vec4;
 
  994 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  995         typedef mediump_u8vec1                  
u8vec1;
 
  996         typedef mediump_u8vec2                  
u8vec2;
 
  997         typedef mediump_u8vec3                  
u8vec3;
 
  998         typedef mediump_u8vec4                  
u8vec4; 
 
 1000         typedef highp_u8vec1                    
u8vec1;
 
 1020         typedef tvec1<u16, lowp>                lowp_u16vec1;
 
 1024         typedef tvec2<u16, lowp>                lowp_u16vec2;
 
 1028         typedef tvec3<u16, lowp>                lowp_u16vec3;
 
 1032         typedef tvec4<u16, lowp>                lowp_u16vec4;
 
 1037         typedef tvec1<u16, mediump>             mediump_u16vec1;
 
 1041         typedef tvec2<u16, mediump>             mediump_u16vec2;
 
 1045         typedef tvec3<u16, mediump>             mediump_u16vec3;
 
 1049         typedef tvec4<u16, mediump>             mediump_u16vec4;
 
 1054         typedef tvec1<u16, highp>               highp_u16vec1;
 
 1058         typedef tvec2<u16, highp>               highp_u16vec2;
 
 1062         typedef tvec3<u16, highp>               highp_u16vec3;
 
 1066         typedef tvec4<u16, highp>               highp_u16vec4;
 
 1069 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1074 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1075         typedef mediump_u16vec1                 
u16vec1;
 
 1076         typedef mediump_u16vec2                 
u16vec2;
 
 1077         typedef mediump_u16vec3                 
u16vec3;
 
 1078         typedef mediump_u16vec4                 
u16vec4;
 
 1080         typedef highp_u16vec1                   
u16vec1;
 
 1100         typedef tvec1<u32, lowp>                lowp_u32vec1;
 
 1104         typedef tvec2<u32, lowp>                lowp_u32vec2;
 
 1108         typedef tvec3<u32, lowp>                lowp_u32vec3;
 
 1112         typedef tvec4<u32, lowp>                lowp_u32vec4;
 
 1117         typedef tvec1<u32, mediump>             mediump_u32vec1;
 
 1121         typedef tvec2<u32, mediump>             mediump_u32vec2;
 
 1125         typedef tvec3<u32, mediump>             mediump_u32vec3;
 
 1129         typedef tvec4<u32, mediump>             mediump_u32vec4;
 
 1134         typedef tvec1<u32, highp>               highp_u32vec1;
 
 1138         typedef tvec2<u32, highp>               highp_u32vec2;
 
 1142         typedef tvec3<u32, highp>               highp_u32vec3;
 
 1146         typedef tvec4<u32, highp>               highp_u32vec4;
 
 1148 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1153 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1154         typedef mediump_u32vec1                 
u32vec1;
 
 1155         typedef mediump_u32vec2                 
u32vec2;
 
 1156         typedef mediump_u32vec3                 
u32vec3;
 
 1157         typedef mediump_u32vec4                 
u32vec4;
 
 1159         typedef highp_u32vec1                   
u32vec1;
 
 1179         typedef tvec1<u32, lowp>                lowp_u32vec1;
 
 1183         typedef tvec2<u32, lowp>                lowp_u32vec2;
 
 1187         typedef tvec3<u32, lowp>                lowp_u32vec3;
 
 1191         typedef tvec4<u32, lowp>                lowp_u32vec4;
 
 1196         typedef tvec1<u32, mediump>             mediump_u32vec1;
 
 1200         typedef tvec2<u32, mediump>             mediump_u32vec2;
 
 1204         typedef tvec3<u32, mediump>             mediump_u32vec3;
 
 1208         typedef tvec4<u32, mediump>             mediump_u32vec4;
 
 1213         typedef tvec1<u32, highp>               highp_u32vec1;
 
 1217         typedef tvec2<u32, highp>               highp_u32vec2;
 
 1221         typedef tvec3<u32, highp>               highp_u32vec3;
 
 1225         typedef tvec4<u32, highp>               highp_u32vec4;
 
 1227 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1232 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1233         typedef mediump_u32vec1                 
u32vec1;
 
 1234         typedef mediump_u32vec2                 
u32vec2;
 
 1235         typedef mediump_u32vec3                 
u32vec3;
 
 1236         typedef mediump_u32vec4                 
u32vec4;
 
 1238         typedef highp_u32vec1                   
u32vec1;
 
 1244         typedef highp_u32vec2                   
u32vec2;
 
 1248         typedef highp_u32vec3                   
u32vec3;
 
 1252         typedef highp_u32vec4                   
u32vec4;
 
 1259         typedef tvec1<u64, lowp>                lowp_u64vec1;
 
 1263         typedef tvec2<u64, lowp>                lowp_u64vec2;
 
 1267         typedef tvec3<u64, lowp>                lowp_u64vec3;
 
 1271         typedef tvec4<u64, lowp>                lowp_u64vec4;
 
 1276         typedef tvec1<u64, mediump>             mediump_u64vec1;
 
 1280         typedef tvec2<u64, mediump>             mediump_u64vec2;
 
 1284         typedef tvec3<u64, mediump>             mediump_u64vec3;
 
 1288         typedef tvec4<u64, mediump>             mediump_u64vec4;
 
 1293         typedef tvec1<u64, highp>               highp_u64vec1;
 
 1297         typedef tvec2<u64, highp>               highp_u64vec2;
 
 1301         typedef tvec3<u64, highp>               highp_u64vec3;
 
 1305         typedef tvec4<u64, highp>               highp_u64vec4;
 
 1307 #if(defined(GLM_PRECISION_LOWP_UINT)) 
 1312 #elif(defined(GLM_PRECISION_MEDIUMP_UINT)) 
 1313         typedef mediump_u64vec1                 
u64vec1;
 
 1314         typedef mediump_u64vec2                 
u64vec2;
 
 1315         typedef mediump_u64vec3                 
u64vec3;
 
 1316         typedef mediump_u64vec4                 
u64vec4;
 
 1318         typedef highp_u64vec1                   
u64vec1;
 
 1341         typedef detail::float32 lowp_float32;
 
 1345         typedef detail::float64 lowp_float64;
 
 1349         typedef detail::float32 lowp_float32_t;
 
 1353         typedef detail::float64 lowp_float64_t;
 
 1365         typedef detail::float32 lowp_float32;
 
 1369         typedef detail::float64 lowp_float64;
 
 1373         typedef detail::float32 lowp_float32_t;
 
 1377         typedef detail::float64 lowp_float64_t;
 
 1390         typedef detail::float32 lowp_float32;
 
 1394         typedef detail::float64 lowp_float64;
 
 1398         typedef detail::float32 lowp_float32_t;
 
 1402         typedef detail::float64 lowp_float64_t;
 
 1415         typedef detail::float32 mediump_float32;
 
 1419         typedef detail::float64 mediump_float64;
 
 1423         typedef detail::float32 mediump_float32_t;
 
 1427         typedef detail::float64 mediump_float64_t;
 
 1440         typedef detail::float32 highp_float32;
 
 1444         typedef detail::float64 highp_float64;
 
 1448         typedef detail::float32 highp_float32_t;
 
 1452         typedef detail::float64 highp_float64_t;
 
 1463 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
 1482         typedef lowp_f32 
f32;
 
 1486         typedef lowp_f64 
f64;
 
 1488 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
 1492         typedef mediump_float32 float32;
 
 1496         typedef mediump_float64 float64;
 
 1508         typedef mediump_float32 
f32;
 
 1512         typedef mediump_float64 
f64;
 
 1514 #else//(defined(GLM_PRECISION_HIGHP_FLOAT)) 
 1518         typedef highp_float32 float32;
 
 1522         typedef highp_float64 float64;
 
 1544         typedef tvec1<float, lowp> lowp_vec1;
 
 1560         typedef tvec1<float, lowp> lowp_fvec1;
 
 1564         typedef tvec2<float, lowp> lowp_fvec2;
 
 1568         typedef tvec3<float, lowp> lowp_fvec3;
 
 1572         typedef tvec4<float, lowp> lowp_fvec4;
 
 1577         typedef tvec1<float, mediump> mediump_vec1;
 
 1593         typedef tvec1<float, mediump> mediump_fvec1;
 
 1597         typedef tvec2<float, mediump> mediump_fvec2;
 
 1601         typedef tvec3<float, mediump> mediump_fvec3;
 
 1605         typedef tvec4<float, mediump> mediump_fvec4;
 
 1610         typedef tvec1<float, highp> highp_vec1;
 
 1626         typedef tvec1<float, highp> highp_fvec1;
 
 1630         typedef tvec2<float, highp> highp_fvec2;
 
 1634         typedef tvec3<float, highp> highp_fvec3;
 
 1638         typedef tvec4<float, highp> highp_fvec4;
 
 1643         typedef tvec1<f32, lowp> lowp_f32vec1;
 
 1647         typedef tvec2<f32, lowp> lowp_f32vec2;
 
 1651         typedef tvec3<f32, lowp> lowp_f32vec3;
 
 1655         typedef tvec4<f32, lowp> lowp_f32vec4;
 
 1659         typedef tvec1<f32, mediump> mediump_f32vec1;
 
 1663         typedef tvec2<f32, mediump> mediump_f32vec2;
 
 1667         typedef tvec3<f32, mediump> mediump_f32vec3;
 
 1671         typedef tvec4<f32, mediump> mediump_f32vec4;
 
 1675         typedef tvec1<f32, highp> highp_f32vec1;
 
 1679         typedef tvec2<f32, highp> highp_f32vec2;
 
 1683         typedef tvec3<f32, highp> highp_f32vec3;
 
 1687         typedef tvec4<f32, highp> highp_f32vec4;
 
 1692         typedef tvec1<f64, lowp> lowp_f64vec1;
 
 1696         typedef tvec2<f64, lowp> lowp_f64vec2;
 
 1700         typedef tvec3<f64, lowp> lowp_f64vec3;
 
 1704         typedef tvec4<f64, lowp> lowp_f64vec4;
 
 1708         typedef tvec1<f64, mediump> mediump_f64vec1;
 
 1712         typedef tvec2<f64, mediump> mediump_f64vec2;
 
 1716         typedef tvec3<f64, mediump> mediump_f64vec3;
 
 1720         typedef tvec4<f64, mediump> mediump_f64vec4;
 
 1724         typedef tvec1<f64, highp> highp_f64vec1;
 
 1728         typedef tvec2<f64, highp> highp_f64vec2;
 
 1732         typedef tvec3<f64, highp> highp_f64vec3;
 
 1736         typedef tvec4<f64, highp> highp_f64vec4;
 
 1748         typedef tmat2x2<f32, lowp> lowp_fmat2x2;
 
 1752         typedef tmat2x3<f32, lowp> lowp_fmat2x3;
 
 1756         typedef tmat2x4<f32, lowp> lowp_fmat2x4;
 
 1760         typedef tmat3x2<f32, lowp> lowp_fmat3x2;
 
 1764         typedef tmat3x3<f32, lowp> lowp_fmat3x3;
 
 1768         typedef tmat3x4<f32, lowp> lowp_fmat3x4;
 
 1772         typedef tmat4x2<f32, lowp> lowp_fmat4x2;
 
 1776         typedef tmat4x3<f32, lowp> lowp_fmat4x3;
 
 1780         typedef tmat4x4<f32, lowp> lowp_fmat4x4;
 
 1788         typedef lowp_fmat2x2 lowp_fmat2;
 
 1792         typedef lowp_fmat3x3 lowp_fmat3;
 
 1796         typedef lowp_fmat4x4 lowp_fmat4;
 
 1805         typedef tmat2x2<f32, mediump> mediump_fmat2x2;
 
 1809         typedef tmat2x3<f32, mediump> mediump_fmat2x3;
 
 1813         typedef tmat2x4<f32, mediump> mediump_fmat2x4;
 
 1817         typedef tmat3x2<f32, mediump> mediump_fmat3x2;
 
 1821         typedef tmat3x3<f32, mediump> mediump_fmat3x3;
 
 1825         typedef tmat3x4<f32, mediump> mediump_fmat3x4;
 
 1829         typedef tmat4x2<f32, mediump> mediump_fmat4x2;
 
 1833         typedef tmat4x3<f32, mediump> mediump_fmat4x3;
 
 1837         typedef tmat4x4<f32, mediump> mediump_fmat4x4;
 
 1845         typedef mediump_fmat2x2 mediump_fmat2;
 
 1849         typedef mediump_fmat3x3 mediump_fmat3;
 
 1853         typedef mediump_fmat4x4 mediump_fmat4;
 
 1862         typedef tmat2x2<f32, highp> highp_fmat2x2;
 
 1866         typedef tmat2x3<f32, highp> highp_fmat2x3;
 
 1870         typedef tmat2x4<f32, highp> highp_fmat2x4;
 
 1874         typedef tmat3x2<f32, highp> highp_fmat3x2;
 
 1878         typedef tmat3x3<f32, highp> highp_fmat3x3;
 
 1882         typedef tmat3x4<f32, highp> highp_fmat3x4;
 
 1886         typedef tmat4x2<f32, highp> highp_fmat4x2;
 
 1890         typedef tmat4x3<f32, highp> highp_fmat4x3;
 
 1894         typedef tmat4x4<f32, highp> highp_fmat4x4;
 
 1902         typedef highp_fmat2x2 highp_fmat2;
 
 1906         typedef highp_fmat3x3 highp_fmat3;
 
 1910         typedef highp_fmat4x4 highp_fmat4;
 
 1919         typedef tmat2x2<f32, lowp> lowp_f32mat2x2;
 
 1923         typedef tmat2x3<f32, lowp> lowp_f32mat2x3;
 
 1927         typedef tmat2x4<f32, lowp> lowp_f32mat2x4;
 
 1931         typedef tmat3x2<f32, lowp> lowp_f32mat3x2;
 
 1935         typedef tmat3x3<f32, lowp> lowp_f32mat3x3;
 
 1939         typedef tmat3x4<f32, lowp> lowp_f32mat3x4;
 
 1943         typedef tmat4x2<f32, lowp> lowp_f32mat4x2;
 
 1947         typedef tmat4x3<f32, lowp> lowp_f32mat4x3;
 
 1951         typedef tmat4x4<f32, lowp> lowp_f32mat4x4;
 
 1959         typedef lowp_f32mat2x2 lowp_f32mat2;
 
 1963         typedef lowp_f32mat3x3 lowp_f32mat3;
 
 1967         typedef lowp_f32mat4x4 lowp_f32mat4;
 
 1976         typedef tmat2x2<f32, mediump> mediump_f32mat2x2;
 
 1980         typedef tmat2x3<f32, mediump> mediump_f32mat2x3;
 
 1984         typedef tmat2x4<f32, mediump> mediump_f32mat2x4;
 
 1988         typedef tmat3x2<f32, mediump> mediump_f32mat3x2;
 
 1992         typedef tmat3x3<f32, mediump> mediump_f32mat3x3;
 
 1996         typedef tmat3x4<f32, mediump> mediump_f32mat3x4;
 
 2000         typedef tmat4x2<f32, mediump> mediump_f32mat4x2;
 
 2004         typedef tmat4x3<f32, mediump> mediump_f32mat4x3;
 
 2008         typedef tmat4x4<f32, mediump> mediump_f32mat4x4;
 
 2016         typedef mediump_f32mat2x2 mediump_f32mat2;
 
 2020         typedef mediump_f32mat3x3 mediump_f32mat3;
 
 2024         typedef mediump_f32mat4x4 mediump_f32mat4;
 
 2033         typedef tmat2x2<f32, highp> highp_f32mat2x2;
 
 2037         typedef tmat2x3<f32, highp> highp_f32mat2x3;
 
 2041         typedef tmat2x4<f32, highp> highp_f32mat2x4;
 
 2045         typedef tmat3x2<f32, highp> highp_f32mat3x2;
 
 2049         typedef tmat3x3<f32, highp> highp_f32mat3x3;
 
 2053         typedef tmat3x4<f32, highp> highp_f32mat3x4;
 
 2057         typedef tmat4x2<f32, highp> highp_f32mat4x2;
 
 2061         typedef tmat4x3<f32, highp> highp_f32mat4x3;
 
 2065         typedef tmat4x4<f32, highp> highp_f32mat4x4;
 
 2073         typedef highp_f32mat2x2 highp_f32mat2;
 
 2077         typedef highp_f32mat3x3 highp_f32mat3;
 
 2081         typedef highp_f32mat4x4 highp_f32mat4;
 
 2090         typedef tmat2x2<f64, lowp> lowp_f64mat2x2;
 
 2094         typedef tmat2x3<f64, lowp> lowp_f64mat2x3;
 
 2098         typedef tmat2x4<f64, lowp> lowp_f64mat2x4;
 
 2102         typedef tmat3x2<f64, lowp> lowp_f64mat3x2;
 
 2106         typedef tmat3x3<f64, lowp> lowp_f64mat3x3;
 
 2110         typedef tmat3x4<f64, lowp> lowp_f64mat3x4;
 
 2114         typedef tmat4x2<f64, lowp> lowp_f64mat4x2;
 
 2118         typedef tmat4x3<f64, lowp> lowp_f64mat4x3;
 
 2122         typedef tmat4x4<f64, lowp> lowp_f64mat4x4;
 
 2130         typedef lowp_f64mat2x2 lowp_f64mat2;
 
 2134         typedef lowp_f64mat3x3 lowp_f64mat3;
 
 2138         typedef lowp_f64mat4x4 lowp_f64mat4;
 
 2147         typedef tmat2x2<f64, mediump> mediump_f64mat2x2;
 
 2151         typedef tmat2x3<f64, mediump> mediump_f64mat2x3;
 
 2155         typedef tmat2x4<f64, mediump> mediump_f64mat2x4;
 
 2159         typedef tmat3x2<f64, mediump> mediump_f64mat3x2;
 
 2163         typedef tmat3x3<f64, mediump> mediump_f64mat3x3;
 
 2167         typedef tmat3x4<f64, mediump> mediump_f64mat3x4;
 
 2171         typedef tmat4x2<f64, mediump> mediump_f64mat4x2;
 
 2175         typedef tmat4x3<f64, mediump> mediump_f64mat4x3;
 
 2179         typedef tmat4x4<f64, mediump> mediump_f64mat4x4;
 
 2187         typedef mediump_f64mat2x2 mediump_f64mat2;
 
 2191         typedef mediump_f64mat3x3 mediump_f64mat3;
 
 2195         typedef mediump_f64mat4x4 mediump_f64mat4;
 
 2203         typedef tmat2x2<f64, highp> highp_f64mat2x2;
 
 2207         typedef tmat2x3<f64, highp> highp_f64mat2x3;
 
 2211         typedef tmat2x4<f64, highp> highp_f64mat2x4;
 
 2215         typedef tmat3x2<f64, highp> highp_f64mat3x2;
 
 2219         typedef tmat3x3<f64, highp> highp_f64mat3x3;
 
 2223         typedef tmat3x4<f64, highp> highp_f64mat3x4;
 
 2227         typedef tmat4x2<f64, highp> highp_f64mat4x2;
 
 2231         typedef tmat4x3<f64, highp> highp_f64mat4x3;
 
 2235         typedef tmat4x4<f64, highp> highp_f64mat4x4;
 
 2243         typedef highp_f64mat2x2 highp_f64mat2;
 
 2247         typedef highp_f64mat3x3 highp_f64mat3;
 
 2251         typedef highp_f64mat4x4 highp_f64mat4;
 
 2258         typedef tquat<f32, lowp> lowp_f32quat;
 
 2262         typedef tquat<f64, lowp> lowp_f64quat;
 
 2266         typedef tquat<f32, mediump> mediump_f32quat;
 
 2270         typedef tquat<f64, mediump> mediump_f64quat;
 
 2274         typedef tquat<f32, highp> highp_f32quat;
 
 2278         typedef tquat<f64, highp> highp_f64quat;
 
 2281 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
 2282         typedef lowp_f32vec1                    
fvec1;
 
 2283         typedef lowp_f32vec2                    
fvec2;
 
 2284         typedef lowp_f32vec3                    
fvec3;
 
 2285         typedef lowp_f32vec4                    
fvec4;
 
 2286         typedef lowp_f32mat2                    
fmat2;
 
 2287         typedef lowp_f32mat3                    
fmat3;
 
 2288         typedef lowp_f32mat4                    
fmat4;
 
 2289         typedef lowp_f32mat2x2                  
fmat2x2;
 
 2290         typedef lowp_f32mat3x2                  
fmat3x2;
 
 2291         typedef lowp_f32mat4x2                  
fmat4x2;
 
 2292         typedef lowp_f32mat2x3                  
fmat2x3;
 
 2293         typedef lowp_f32mat3x3                  
fmat3x3;
 
 2294         typedef lowp_f32mat4x3                  
fmat4x3;
 
 2295         typedef lowp_f32mat2x4                  
fmat2x4;
 
 2296         typedef lowp_f32mat3x4                  
fmat3x4;
 
 2297         typedef lowp_f32mat4x4                  
fmat4x4;
 
 2298         typedef lowp_f32quat                    fquat;
 
 2317 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
 2318         typedef mediump_f32vec1                 
fvec1;
 
 2319         typedef mediump_f32vec2                 
fvec2;
 
 2320         typedef mediump_f32vec3                 
fvec3;
 
 2321         typedef mediump_f32vec4                 
fvec4;
 
 2322         typedef mediump_f32mat2                 
fmat2;
 
 2323         typedef mediump_f32mat3                 
fmat3;
 
 2324         typedef mediump_f32mat4                 
fmat4;
 
 2325         typedef mediump_f32mat2x2               
fmat2x2;
 
 2326         typedef mediump_f32mat3x2               
fmat3x2;
 
 2327         typedef mediump_f32mat4x2               
fmat4x2;
 
 2328         typedef mediump_f32mat2x3               
fmat2x3;
 
 2329         typedef mediump_f32mat3x3               
fmat3x3;
 
 2330         typedef mediump_f32mat4x3               
fmat4x3;
 
 2331         typedef mediump_f32mat2x4               
fmat2x4;
 
 2332         typedef mediump_f32mat3x4               
fmat3x4;
 
 2333         typedef mediump_f32mat4x4               
fmat4x4;
 
 2334         typedef mediump_f32quat                 fquat;
 
 2336         typedef mediump_f32vec1                 
f32vec1;
 
 2337         typedef mediump_f32vec2                 
f32vec2;
 
 2338         typedef mediump_f32vec3                 
f32vec3;
 
 2339         typedef mediump_f32vec4                 
f32vec4;
 
 2340         typedef mediump_f32mat2                 
f32mat2;
 
 2341         typedef mediump_f32mat3                 
f32mat3;
 
 2342         typedef mediump_f32mat4                 
f32mat4;
 
 2352         typedef mediump_f32quat                 
f32quat;
 
 2353 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT)) 
 2354         typedef highp_f32vec1                   
fvec1;
 
 2420         typedef highp_fquat                             fquat;
 
 2493 #if(defined(GLM_PRECISION_LOWP_DOUBLE)) 
 2511 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) 
 2512         typedef mediump_f64vec1                 
f64vec1;
 
 2513         typedef mediump_f64vec2                 
f64vec2;
 
 2514         typedef mediump_f64vec3                 
f64vec3;
 
 2515         typedef mediump_f64vec4                 
f64vec4;
 
 2516         typedef mediump_f64mat2                 
f64mat2;
 
 2517         typedef mediump_f64mat3                 
f64mat3;
 
 2518         typedef mediump_f64mat4                 
f64mat4;
 
 2528         typedef mediump_f64quat                 
f64quat;
 
 2530         typedef highp_f64vec1                   
f64vec1;
 
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers. 
detail::int8 int8_t
8 bit signed integer type. 
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type. 
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type. 
detail::int16 lowp_int16
Low precision 16 bit signed integer type. 
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type. 
detail::uint32 u32
32 bit unsigned integer type. 
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers. 
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type. 
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components. 
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix. 
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type. 
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix. 
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type. 
detail::int64 highp_i64
High precision 64 bit signed integer type. 
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type. 
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type. 
detail::int64 highp_int64_t
High precision 64 bit signed integer type. 
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type. 
detail::int32 int32_t
32 bit signed integer type. 
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type. 
detail::int32 mediump_i32
Medium precision 32 bit signed integer type. 
detail::int8 lowp_int8
Low precision 8 bit signed integer type. 
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers. 
detail::uint64 u64
64 bit unsigned integer type. 
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type. 
detail::int8 i8
8 bit signed integer type. 
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type. 
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix. 
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type. 
detail::int64 mediump_i64
Medium precision 64 bit signed integer type. 
detail::int32 int32
32 bit signed integer type. 
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type. 
detail::int32 highp_i32
High precision 32 bit signed integer type. 
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type. 
detail::int16 highp_i16
High precision 16 bit signed integer type. 
detail::int8 highp_i8
High precision 8 bit signed integer type. 
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type. 
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix. 
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type. 
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components. 
detail::int8 mediump_int8
Medium precision 8 bit signed integer type. 
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type. 
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers. 
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type. 
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type. 
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type. 
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type. 
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers. 
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type. 
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix. 
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type. 
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers. 
detail::uint8 uint8
8 bit unsigned integer type. 
detail::int64 lowp_int64
Low precision 64 bit signed integer type. 
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix. 
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix. 
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components. 
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix. 
detail::int32 lowp_i32
Low precision 32 bit signed integer type. 
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type. 
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components. 
detail::uint16 u16
16 bit unsigned integer type. 
highp_float64_t f64
Default 64 bit double-precision floating-point scalar. 
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix. 
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components. 
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components. 
detail::int8 mediump_i8
Medium precision 8 bit signed integer type. 
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix. 
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix. 
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar. 
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type. 
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix. 
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type. 
detail::int8 int8
8 bit signed integer type. 
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type. 
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type. 
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type. 
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix. 
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type. 
detail::int16 int16
16 bit signed integer type. 
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix. 
detail::int16 highp_int16
High precision 16 bit signed integer type. 
float float32
Default 32 bit single-precision floating-point scalar. 
detail::int32 highp_int32
High precision 32 bit signed integer type. 
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type. 
highp_f32quat f32quat
Default single-precision floating-point quaternion. 
detail::uint16 uint16
16 bit unsigned integer type. 
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type. 
detail::int8 highp_int8
High precision 8 bit signed integer type. 
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix. 
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type. 
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type. 
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type. 
highp_float32_t f32
Default 32 bit single-precision floating-point scalar. 
detail::int8 lowp_i8
Low precision 8 bit signed integer type. 
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components. 
detail::uint32 uint32_t
32 bit unsigned integer type. 
detail::uint8 u8
8 bit unsigned integer type. 
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type. 
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix. 
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components. 
detail::int16 lowp_i16
Low precision 16 bit signed integer type. 
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type. 
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type. 
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type. 
highp_f64quat f64quat
Default double-precision floating-point quaternion. 
detail::int8 highp_int8_t
High precision 8 bit signed integer type. 
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type. 
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type. 
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type. 
OpenGL Mathematics (glm.g-truc.net) 
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type. 
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix. 
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type. 
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type. 
double float64
Default 64 bit double-precision floating-point scalar. 
OpenGL Mathematics (glm.g-truc.net) 
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type. 
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix. 
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar. 
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type. 
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix. 
detail::int16 mediump_i16
Medium precision 16 bit signed integer type. 
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type. 
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type. 
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix. 
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type. 
detail::int16 mediump_int16
Medium precision 16 bit signed integer type. 
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix. 
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix. 
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type. 
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components. 
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers. 
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type. 
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type. 
detail::uint32 uint32
32 bit unsigned integer type. 
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type. 
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix. 
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type. 
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type. 
detail::uint8 uint8_t
8 bit unsigned integer type. 
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix. 
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix. 
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix. 
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type. 
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type. 
detail::int16 highp_int16_t
High precision 16 bit signed integer type. 
detail::int32 lowp_int32
Low precision 32 bit signed integer type. 
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type. 
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix. 
detail::int32 mediump_int32
Medium precision 32 bit signed integer type. 
detail::int64 int64_t
64 bit signed integer type. 
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers. 
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix. 
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type. 
detail::uint64 uint64
64 bit unsigned integer type. 
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type. 
detail::int64 int64
64 bit signed integer type. 
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type. 
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type. 
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type. 
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix. 
detail::int32 highp_int32_t
32 bit signed integer type. 
detail::uint16 uint16_t
16 bit unsigned integer type. 
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components. 
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix. 
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix. 
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type. 
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type. 
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix. 
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix. 
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type. 
detail::int32 i32
32 bit signed integer type. 
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components. 
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type. 
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type. 
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type. 
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type. 
detail::int16 i16
16 bit signed integer type. 
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix. 
detail::uint64 uint64_t
64 bit unsigned integer type. 
OpenGL Mathematics (glm.g-truc.net) 
detail::int64 highp_int64
High precision 64 bit signed integer type. 
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type. 
detail::int16 int16_t
16 bit signed integer type. 
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix. 
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix. 
detail::int64 mediump_int64
Medium precision 64 bit signed integer type. 
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type. 
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers. 
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components. 
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type. 
detail::int64 i64
64 bit signed integer type. 
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type. 
OpenGL Mathematics (glm.g-truc.net) 
detail::int64 lowp_i64
Low precision 64 bit signed integer type.