15         template <
typename T, precision P> 
struct tquat;
 
   20         typedef tquat<float, lowp>              lowp_quat;
 
   25         typedef tquat<float, mediump>   mediump_quat;
 
   30         typedef tquat<float, highp>             highp_quat;
 
   32 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   33         typedef highp_quat                      quat;
 
   34 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   35         typedef mediump_quat            quat;
 
   36 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) 
   37         typedef lowp_quat                       quat;
 
   38 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 
   39         typedef highp_quat                      quat;
 
   46         typedef lowp_quat                       lowp_fquat;
 
   51         typedef mediump_quat            mediump_fquat;
 
   56         typedef highp_quat                      highp_fquat;
 
   67         typedef tquat<double, lowp>             lowp_dquat;
 
   72         typedef tquat<double, mediump>  mediump_dquat;
 
   77         typedef tquat<double, highp>    highp_dquat;
 
   79 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
   80         typedef highp_dquat                     dquat;
 
   81 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
   82         typedef mediump_dquat           dquat;
 
   83 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) 
   84         typedef lowp_dquat                      dquat;
 
   85 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 
   86         typedef highp_dquat                     dquat;
 
  245         typedef detail::int8 
int8;
 
  249         typedef detail::int16 
int16;
 
  253         typedef detail::int32 
int32;
 
  257         typedef detail::int64 
int64;
 
  260 #if GLM_HAS_EXTENDED_INTEGER_TYPE 
  266         typedef detail::int8 
int8_t;
 
  285         typedef detail::int8 
i8;
 
  289         typedef detail::int16 
i16;
 
  293         typedef detail::int32 
i32;
 
  297         typedef detail::int64 
i64;
 
  303         typedef tvec1<i8, lowp> lowp_i8vec1;
 
  307         typedef tvec2<i8, lowp> lowp_i8vec2;
 
  311         typedef tvec3<i8, lowp> lowp_i8vec3;
 
  315         typedef tvec4<i8, lowp> lowp_i8vec4;
 
  320         typedef tvec1<i8, mediump> mediump_i8vec1;
 
  324         typedef tvec2<i8, mediump> mediump_i8vec2;
 
  328         typedef tvec3<i8, mediump> mediump_i8vec3;
 
  332         typedef tvec4<i8, mediump> mediump_i8vec4;
 
  337         typedef tvec1<i8, highp> highp_i8vec1;
 
  341         typedef tvec2<i8, highp> highp_i8vec2;
 
  345         typedef tvec3<i8, highp> highp_i8vec3;
 
  349         typedef tvec4<i8, highp> highp_i8vec4;
 
  351 #if(defined(GLM_PRECISION_LOWP_INT)) 
  352         typedef lowp_i8vec1                             
i8vec1;
 
  353         typedef lowp_i8vec2                             
i8vec2;
 
  354         typedef lowp_i8vec3                             
i8vec3;
 
  355         typedef lowp_i8vec4                             
i8vec4;
 
  356 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  357         typedef mediump_i8vec1                  
i8vec1;
 
  358         typedef mediump_i8vec2                  
i8vec2;
 
  359         typedef mediump_i8vec3                  
i8vec3;
 
  360         typedef mediump_i8vec4                  
i8vec4; 
 
  362         typedef highp_i8vec1                    
i8vec1;
 
  382         typedef tvec1<i16, lowp>                lowp_i16vec1;
 
  386         typedef tvec2<i16, lowp>                lowp_i16vec2;
 
  390         typedef tvec3<i16, lowp>                lowp_i16vec3;
 
  394         typedef tvec4<i16, lowp>                lowp_i16vec4;
 
  399         typedef tvec1<i16, mediump>             mediump_i16vec1;
 
  403         typedef tvec2<i16, mediump>             mediump_i16vec2;
 
  407         typedef tvec3<i16, mediump>             mediump_i16vec3;
 
  411         typedef tvec4<i16, mediump>             mediump_i16vec4;
 
  416         typedef tvec1<i16, highp>               highp_i16vec1;
 
  420         typedef tvec2<i16, highp>               highp_i16vec2;
 
  424         typedef tvec3<i16, highp>               highp_i16vec3;
 
  428         typedef tvec4<i16, highp>               highp_i16vec4;
 
  431 #if(defined(GLM_PRECISION_LOWP_INT)) 
  436 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  437         typedef mediump_i16vec1                 
i16vec1;
 
  438         typedef mediump_i16vec2                 
i16vec2;
 
  439         typedef mediump_i16vec3                 
i16vec3;
 
  440         typedef mediump_i16vec4                 
i16vec4;
 
  462         typedef tvec1<i32, lowp>                lowp_i32vec1;
 
  466         typedef tvec2<i32, lowp>                lowp_i32vec2;
 
  470         typedef tvec3<i32, lowp>                lowp_i32vec3;
 
  474         typedef tvec4<i32, lowp>                lowp_i32vec4;
 
  479         typedef tvec1<i32, mediump>             mediump_i32vec1;
 
  483         typedef tvec2<i32, mediump>             mediump_i32vec2;
 
  487         typedef tvec3<i32, mediump>             mediump_i32vec3;
 
  491         typedef tvec4<i32, mediump>             mediump_i32vec4;
 
  496         typedef tvec1<i32, highp>               highp_i32vec1;
 
  500         typedef tvec2<i32, highp>               highp_i32vec2;
 
  504         typedef tvec3<i32, highp>               highp_i32vec3;
 
  508         typedef tvec4<i32, highp>               highp_i32vec4;
 
  510 #if(defined(GLM_PRECISION_LOWP_INT)) 
  515 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  516         typedef mediump_i32vec1                 
i32vec1;
 
  517         typedef mediump_i32vec2                 
i32vec2;
 
  518         typedef mediump_i32vec3                 
i32vec3;
 
  519         typedef mediump_i32vec4                 
i32vec4;
 
  541         typedef tvec1<i32, lowp>                lowp_i32vec1;
 
  545         typedef tvec2<i32, lowp>                lowp_i32vec2;
 
  549         typedef tvec3<i32, lowp>                lowp_i32vec3;
 
  553         typedef tvec4<i32, lowp>                lowp_i32vec4;
 
  558         typedef tvec1<i32, mediump>             mediump_i32vec1;
 
  562         typedef tvec2<i32, mediump>             mediump_i32vec2;
 
  566         typedef tvec3<i32, mediump>             mediump_i32vec3;
 
  570         typedef tvec4<i32, mediump>             mediump_i32vec4;
 
  575         typedef tvec1<i32, highp>               highp_i32vec1;
 
  579         typedef tvec2<i32, highp>               highp_i32vec2;
 
  583         typedef tvec3<i32, highp>               highp_i32vec3;
 
  587         typedef tvec4<i32, highp>               highp_i32vec4;
 
  589 #if(defined(GLM_PRECISION_LOWP_INT)) 
  594 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  595         typedef mediump_i32vec1                 
i32vec1;
 
  596         typedef mediump_i32vec2                 
i32vec2;
 
  597         typedef mediump_i32vec3                 
i32vec3;
 
  598         typedef mediump_i32vec4                 
i32vec4;
 
  621         typedef tvec1<i64, lowp>                lowp_i64vec1;
 
  625         typedef tvec2<i64, lowp>                lowp_i64vec2;
 
  629         typedef tvec3<i64, lowp>                lowp_i64vec3;
 
  633         typedef tvec4<i64, lowp>                lowp_i64vec4;
 
  638         typedef tvec1<i64, mediump>             mediump_i64vec1;
 
  642         typedef tvec2<i64, mediump>             mediump_i64vec2;
 
  646         typedef tvec3<i64, mediump>             mediump_i64vec3;
 
  650         typedef tvec4<i64, mediump>             mediump_i64vec4;
 
  655         typedef tvec1<i64, highp>               highp_i64vec1;
 
  659         typedef tvec2<i64, highp>               highp_i64vec2;
 
  663         typedef tvec3<i64, highp>               highp_i64vec3;
 
  667         typedef tvec4<i64, highp>               highp_i64vec4;
 
  669 #if(defined(GLM_PRECISION_LOWP_INT)) 
  674 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  675         typedef mediump_i64vec1                 
i64vec1;
 
  676         typedef mediump_i64vec2                 
i64vec2;
 
  677         typedef mediump_i64vec3                 
i64vec3;
 
  678         typedef mediump_i64vec4                 
i64vec4;
 
  855         typedef detail::uint8 
uint8;
 
  859         typedef detail::uint16 
uint16;
 
  863         typedef detail::uint32 
uint32;
 
  867         typedef detail::uint64 
uint64;
 
  869 #if GLM_HAS_EXTENDED_INTEGER_TYPE 
  894         typedef detail::uint8 
u8;
 
  898         typedef detail::uint16 
u16;
 
  902         typedef detail::uint32 
u32;
 
  906         typedef detail::uint64 
u64;
 
  912         typedef tvec1<u8, lowp> lowp_u8vec1;
 
  916         typedef tvec2<u8, lowp> lowp_u8vec2;
 
  920         typedef tvec3<u8, lowp> lowp_u8vec3;
 
  924         typedef tvec4<u8, lowp> lowp_u8vec4;
 
  929         typedef tvec1<u8, mediump> mediump_u8vec1;
 
  933         typedef tvec2<u8, mediump> mediump_u8vec2;
 
  937         typedef tvec3<u8, mediump> mediump_u8vec3;
 
  941         typedef tvec4<u8, mediump> mediump_u8vec4;
 
  946         typedef tvec1<u8, highp> highp_u8vec1;
 
  950         typedef tvec2<u8, highp> highp_u8vec2;
 
  954         typedef tvec3<u8, highp> highp_u8vec3;
 
  958         typedef tvec4<u8, highp> highp_u8vec4;
 
  960 #if(defined(GLM_PRECISION_LOWP_INT)) 
  961         typedef lowp_u8vec1                             
u8vec1;
 
  962         typedef lowp_u8vec2                             
u8vec2;
 
  963         typedef lowp_u8vec3                             
u8vec3;
 
  964         typedef lowp_u8vec4                             
u8vec4;
 
  965 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
  966         typedef mediump_u8vec1                  
u8vec1;
 
  967         typedef mediump_u8vec2                  
u8vec2;
 
  968         typedef mediump_u8vec3                  
u8vec3;
 
  969         typedef mediump_u8vec4                  
u8vec4; 
 
  971         typedef highp_u8vec1                    
u8vec1;
 
  991         typedef tvec1<u16, lowp>                lowp_u16vec1;
 
  995         typedef tvec2<u16, lowp>                lowp_u16vec2;
 
  999         typedef tvec3<u16, lowp>                lowp_u16vec3;
 
 1003         typedef tvec4<u16, lowp>                lowp_u16vec4;
 
 1008         typedef tvec1<u16, mediump>             mediump_u16vec1;
 
 1012         typedef tvec2<u16, mediump>             mediump_u16vec2;
 
 1016         typedef tvec3<u16, mediump>             mediump_u16vec3;
 
 1020         typedef tvec4<u16, mediump>             mediump_u16vec4;
 
 1025         typedef tvec1<u16, highp>               highp_u16vec1;
 
 1029         typedef tvec2<u16, highp>               highp_u16vec2;
 
 1033         typedef tvec3<u16, highp>               highp_u16vec3;
 
 1037         typedef tvec4<u16, highp>               highp_u16vec4;
 
 1040 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1045 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1046         typedef mediump_u16vec1                 
u16vec1;
 
 1047         typedef mediump_u16vec2                 
u16vec2;
 
 1048         typedef mediump_u16vec3                 
u16vec3;
 
 1049         typedef mediump_u16vec4                 
u16vec4;
 
 1051         typedef highp_u16vec1                   
u16vec1;
 
 1071         typedef tvec1<u32, lowp>                lowp_u32vec1;
 
 1075         typedef tvec2<u32, lowp>                lowp_u32vec2;
 
 1079         typedef tvec3<u32, lowp>                lowp_u32vec3;
 
 1083         typedef tvec4<u32, lowp>                lowp_u32vec4;
 
 1088         typedef tvec1<u32, mediump>             mediump_u32vec1;
 
 1092         typedef tvec2<u32, mediump>             mediump_u32vec2;
 
 1096         typedef tvec3<u32, mediump>             mediump_u32vec3;
 
 1100         typedef tvec4<u32, mediump>             mediump_u32vec4;
 
 1105         typedef tvec1<u32, highp>               highp_u32vec1;
 
 1109         typedef tvec2<u32, highp>               highp_u32vec2;
 
 1113         typedef tvec3<u32, highp>               highp_u32vec3;
 
 1117         typedef tvec4<u32, highp>               highp_u32vec4;
 
 1119 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1124 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1125         typedef mediump_u32vec1                 
u32vec1;
 
 1126         typedef mediump_u32vec2                 
u32vec2;
 
 1127         typedef mediump_u32vec3                 
u32vec3;
 
 1128         typedef mediump_u32vec4                 
u32vec4;
 
 1130         typedef highp_u32vec1                   
u32vec1;
 
 1150         typedef tvec1<u32, lowp>                lowp_u32vec1;
 
 1154         typedef tvec2<u32, lowp>                lowp_u32vec2;
 
 1158         typedef tvec3<u32, lowp>                lowp_u32vec3;
 
 1162         typedef tvec4<u32, lowp>                lowp_u32vec4;
 
 1167         typedef tvec1<u32, mediump>             mediump_u32vec1;
 
 1171         typedef tvec2<u32, mediump>             mediump_u32vec2;
 
 1175         typedef tvec3<u32, mediump>             mediump_u32vec3;
 
 1179         typedef tvec4<u32, mediump>             mediump_u32vec4;
 
 1184         typedef tvec1<u32, highp>               highp_u32vec1;
 
 1188         typedef tvec2<u32, highp>               highp_u32vec2;
 
 1192         typedef tvec3<u32, highp>               highp_u32vec3;
 
 1196         typedef tvec4<u32, highp>               highp_u32vec4;
 
 1198 #if(defined(GLM_PRECISION_LOWP_INT)) 
 1203 #elif(defined(GLM_PRECISION_MEDIUMP_INT)) 
 1204         typedef mediump_u32vec1                 
u32vec1;
 
 1205         typedef mediump_u32vec2                 
u32vec2;
 
 1206         typedef mediump_u32vec3                 
u32vec3;
 
 1207         typedef mediump_u32vec4                 
u32vec4;
 
 1209         typedef highp_u32vec1                   
u32vec1;
 
 1215         typedef highp_u32vec2                   
u32vec2;
 
 1219         typedef highp_u32vec3                   
u32vec3;
 
 1223         typedef highp_u32vec4                   
u32vec4;
 
 1230         typedef tvec1<u64, lowp>                lowp_u64vec1;
 
 1234         typedef tvec2<u64, lowp>                lowp_u64vec2;
 
 1238         typedef tvec3<u64, lowp>                lowp_u64vec3;
 
 1242         typedef tvec4<u64, lowp>                lowp_u64vec4;
 
 1247         typedef tvec1<u64, mediump>             mediump_u64vec1;
 
 1251         typedef tvec2<u64, mediump>             mediump_u64vec2;
 
 1255         typedef tvec3<u64, mediump>             mediump_u64vec3;
 
 1259         typedef tvec4<u64, mediump>             mediump_u64vec4;
 
 1264         typedef tvec1<u64, highp>               highp_u64vec1;
 
 1268         typedef tvec2<u64, highp>               highp_u64vec2;
 
 1272         typedef tvec3<u64, highp>               highp_u64vec3;
 
 1276         typedef tvec4<u64, highp>               highp_u64vec4;
 
 1278 #if(defined(GLM_PRECISION_LOWP_UINT)) 
 1283 #elif(defined(GLM_PRECISION_MEDIUMP_UINT)) 
 1284         typedef mediump_u64vec1                 
u64vec1;
 
 1285         typedef mediump_u64vec2                 
u64vec2;
 
 1286         typedef mediump_u64vec3                 
u64vec3;
 
 1287         typedef mediump_u64vec4                 
u64vec4;
 
 1289         typedef highp_u64vec1                   
u64vec1;
 
 1312         typedef detail::float32 lowp_float32;
 
 1316         typedef detail::float64 lowp_float64;
 
 1320         typedef detail::float32 lowp_float32_t;
 
 1324         typedef detail::float64 lowp_float64_t;
 
 1336         typedef detail::float32 lowp_float32;
 
 1340         typedef detail::float64 lowp_float64;
 
 1344         typedef detail::float32 lowp_float32_t;
 
 1348         typedef detail::float64 lowp_float64_t;
 
 1361         typedef detail::float32 lowp_float32;
 
 1365         typedef detail::float64 lowp_float64;
 
 1369         typedef detail::float32 lowp_float32_t;
 
 1373         typedef detail::float64 lowp_float64_t;
 
 1386         typedef detail::float32 mediump_float32;
 
 1390         typedef detail::float64 mediump_float64;
 
 1394         typedef detail::float32 mediump_float32_t;
 
 1398         typedef detail::float64 mediump_float64_t;
 
 1411         typedef detail::float32 highp_float32;
 
 1415         typedef detail::float64 highp_float64;
 
 1419         typedef detail::float32 highp_float32_t;
 
 1423         typedef detail::float64 highp_float64_t;
 
 1434 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
 1453         typedef lowp_f32 
f32;
 
 1457         typedef lowp_f64 
f64;
 
 1459 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
 1463         typedef mediump_float32 float32;
 
 1467         typedef mediump_float64 float64;
 
 1479         typedef mediump_float32 
f32;
 
 1483         typedef mediump_float64 
f64;
 
 1485 #else//(defined(GLM_PRECISION_HIGHP_FLOAT)) 
 1489         typedef highp_float32 float32;
 
 1493         typedef highp_float64 float64;
 
 1515         typedef tvec1<float, lowp> lowp_vec1;
 
 1531         typedef tvec1<float, lowp> lowp_fvec1;
 
 1535         typedef tvec2<float, lowp> lowp_fvec2;
 
 1539         typedef tvec3<float, lowp> lowp_fvec3;
 
 1543         typedef tvec4<float, lowp> lowp_fvec4;
 
 1548         typedef tvec1<float, mediump> mediump_vec1;
 
 1564         typedef tvec1<float, mediump> mediump_fvec1;
 
 1568         typedef tvec2<float, mediump> mediump_fvec2;
 
 1572         typedef tvec3<float, mediump> mediump_fvec3;
 
 1576         typedef tvec4<float, mediump> mediump_fvec4;
 
 1581         typedef tvec1<float, highp> highp_vec1;
 
 1597         typedef tvec1<float, highp> highp_fvec1;
 
 1601         typedef tvec2<float, highp> highp_fvec2;
 
 1605         typedef tvec3<float, highp> highp_fvec3;
 
 1609         typedef tvec4<float, highp> highp_fvec4;
 
 1614         typedef tvec1<f32, lowp> lowp_f32vec1;
 
 1618         typedef tvec2<f32, lowp> lowp_f32vec2;
 
 1622         typedef tvec3<f32, lowp> lowp_f32vec3;
 
 1626         typedef tvec4<f32, lowp> lowp_f32vec4;
 
 1630         typedef tvec1<f32, mediump> mediump_f32vec1;
 
 1634         typedef tvec2<f32, mediump> mediump_f32vec2;
 
 1638         typedef tvec3<f32, mediump> mediump_f32vec3;
 
 1642         typedef tvec4<f32, mediump> mediump_f32vec4;
 
 1646         typedef tvec1<f32, highp> highp_f32vec1;
 
 1650         typedef tvec2<f32, highp> highp_f32vec2;
 
 1654         typedef tvec3<f32, highp> highp_f32vec3;
 
 1658         typedef tvec4<f32, highp> highp_f32vec4;
 
 1663         typedef tvec1<f64, lowp> lowp_f64vec1;
 
 1667         typedef tvec2<f64, lowp> lowp_f64vec2;
 
 1671         typedef tvec3<f64, lowp> lowp_f64vec3;
 
 1675         typedef tvec4<f64, lowp> lowp_f64vec4;
 
 1679         typedef tvec1<f64, mediump> mediump_f64vec1;
 
 1683         typedef tvec2<f64, mediump> mediump_f64vec2;
 
 1687         typedef tvec3<f64, mediump> mediump_f64vec3;
 
 1691         typedef tvec4<f64, mediump> mediump_f64vec4;
 
 1695         typedef tvec1<f64, highp> highp_f64vec1;
 
 1699         typedef tvec2<f64, highp> highp_f64vec2;
 
 1703         typedef tvec3<f64, highp> highp_f64vec3;
 
 1707         typedef tvec4<f64, highp> highp_f64vec4;
 
 1719         typedef tmat2x2<f32, lowp> lowp_fmat2x2;
 
 1723         typedef tmat2x3<f32, lowp> lowp_fmat2x3;
 
 1727         typedef tmat2x4<f32, lowp> lowp_fmat2x4;
 
 1731         typedef tmat3x2<f32, lowp> lowp_fmat3x2;
 
 1735         typedef tmat3x3<f32, lowp> lowp_fmat3x3;
 
 1739         typedef tmat3x4<f32, lowp> lowp_fmat3x4;
 
 1743         typedef tmat4x2<f32, lowp> lowp_fmat4x2;
 
 1747         typedef tmat4x3<f32, lowp> lowp_fmat4x3;
 
 1751         typedef tmat4x4<f32, lowp> lowp_fmat4x4;
 
 1759         typedef lowp_fmat2x2 lowp_fmat2;
 
 1763         typedef lowp_fmat3x3 lowp_fmat3;
 
 1767         typedef lowp_fmat4x4 lowp_fmat4;
 
 1776         typedef tmat2x2<f32, mediump> mediump_fmat2x2;
 
 1780         typedef tmat2x3<f32, mediump> mediump_fmat2x3;
 
 1784         typedef tmat2x4<f32, mediump> mediump_fmat2x4;
 
 1788         typedef tmat3x2<f32, mediump> mediump_fmat3x2;
 
 1792         typedef tmat3x3<f32, mediump> mediump_fmat3x3;
 
 1796         typedef tmat3x4<f32, mediump> mediump_fmat3x4;
 
 1800         typedef tmat4x2<f32, mediump> mediump_fmat4x2;
 
 1804         typedef tmat4x3<f32, mediump> mediump_fmat4x3;
 
 1808         typedef tmat4x4<f32, mediump> mediump_fmat4x4;
 
 1816         typedef mediump_fmat2x2 mediump_fmat2;
 
 1820         typedef mediump_fmat3x3 mediump_fmat3;
 
 1824         typedef mediump_fmat4x4 mediump_fmat4;
 
 1833         typedef tmat2x2<f32, highp> highp_fmat2x2;
 
 1837         typedef tmat2x3<f32, highp> highp_fmat2x3;
 
 1841         typedef tmat2x4<f32, highp> highp_fmat2x4;
 
 1845         typedef tmat3x2<f32, highp> highp_fmat3x2;
 
 1849         typedef tmat3x3<f32, highp> highp_fmat3x3;
 
 1853         typedef tmat3x4<f32, highp> highp_fmat3x4;
 
 1857         typedef tmat4x2<f32, highp> highp_fmat4x2;
 
 1861         typedef tmat4x3<f32, highp> highp_fmat4x3;
 
 1865         typedef tmat4x4<f32, highp> highp_fmat4x4;
 
 1873         typedef highp_fmat2x2 highp_fmat2;
 
 1877         typedef highp_fmat3x3 highp_fmat3;
 
 1881         typedef highp_fmat4x4 highp_fmat4;
 
 1890         typedef tmat2x2<f32, lowp> lowp_f32mat2x2;
 
 1894         typedef tmat2x3<f32, lowp> lowp_f32mat2x3;
 
 1898         typedef tmat2x4<f32, lowp> lowp_f32mat2x4;
 
 1902         typedef tmat3x2<f32, lowp> lowp_f32mat3x2;
 
 1906         typedef tmat3x3<f32, lowp> lowp_f32mat3x3;
 
 1910         typedef tmat3x4<f32, lowp> lowp_f32mat3x4;
 
 1914         typedef tmat4x2<f32, lowp> lowp_f32mat4x2;
 
 1918         typedef tmat4x3<f32, lowp> lowp_f32mat4x3;
 
 1922         typedef tmat4x4<f32, lowp> lowp_f32mat4x4;
 
 1930         typedef lowp_f32mat2x2 lowp_f32mat2;
 
 1934         typedef lowp_f32mat3x3 lowp_f32mat3;
 
 1938         typedef lowp_f32mat4x4 lowp_f32mat4;
 
 1947         typedef tmat2x2<f32, mediump> mediump_f32mat2x2;
 
 1951         typedef tmat2x3<f32, mediump> mediump_f32mat2x3;
 
 1955         typedef tmat2x4<f32, mediump> mediump_f32mat2x4;
 
 1959         typedef tmat3x2<f32, mediump> mediump_f32mat3x2;
 
 1963         typedef tmat3x3<f32, mediump> mediump_f32mat3x3;
 
 1967         typedef tmat3x4<f32, mediump> mediump_f32mat3x4;
 
 1971         typedef tmat4x2<f32, mediump> mediump_f32mat4x2;
 
 1975         typedef tmat4x3<f32, mediump> mediump_f32mat4x3;
 
 1979         typedef tmat4x4<f32, mediump> mediump_f32mat4x4;
 
 1987         typedef mediump_f32mat2x2 mediump_f32mat2;
 
 1991         typedef mediump_f32mat3x3 mediump_f32mat3;
 
 1995         typedef mediump_f32mat4x4 mediump_f32mat4;
 
 2004         typedef tmat2x2<f32, highp> highp_f32mat2x2;
 
 2008         typedef tmat2x3<f32, highp> highp_f32mat2x3;
 
 2012         typedef tmat2x4<f32, highp> highp_f32mat2x4;
 
 2016         typedef tmat3x2<f32, highp> highp_f32mat3x2;
 
 2020         typedef tmat3x3<f32, highp> highp_f32mat3x3;
 
 2024         typedef tmat3x4<f32, highp> highp_f32mat3x4;
 
 2028         typedef tmat4x2<f32, highp> highp_f32mat4x2;
 
 2032         typedef tmat4x3<f32, highp> highp_f32mat4x3;
 
 2036         typedef tmat4x4<f32, highp> highp_f32mat4x4;
 
 2044         typedef highp_f32mat2x2 highp_f32mat2;
 
 2048         typedef highp_f32mat3x3 highp_f32mat3;
 
 2052         typedef highp_f32mat4x4 highp_f32mat4;
 
 2061         typedef tmat2x2<f64, lowp> lowp_f64mat2x2;
 
 2065         typedef tmat2x3<f64, lowp> lowp_f64mat2x3;
 
 2069         typedef tmat2x4<f64, lowp> lowp_f64mat2x4;
 
 2073         typedef tmat3x2<f64, lowp> lowp_f64mat3x2;
 
 2077         typedef tmat3x3<f64, lowp> lowp_f64mat3x3;
 
 2081         typedef tmat3x4<f64, lowp> lowp_f64mat3x4;
 
 2085         typedef tmat4x2<f64, lowp> lowp_f64mat4x2;
 
 2089         typedef tmat4x3<f64, lowp> lowp_f64mat4x3;
 
 2093         typedef tmat4x4<f64, lowp> lowp_f64mat4x4;
 
 2101         typedef lowp_f64mat2x2 lowp_f64mat2;
 
 2105         typedef lowp_f64mat3x3 lowp_f64mat3;
 
 2109         typedef lowp_f64mat4x4 lowp_f64mat4;
 
 2118         typedef tmat2x2<f64, mediump> mediump_f64mat2x2;
 
 2122         typedef tmat2x3<f64, mediump> mediump_f64mat2x3;
 
 2126         typedef tmat2x4<f64, mediump> mediump_f64mat2x4;
 
 2130         typedef tmat3x2<f64, mediump> mediump_f64mat3x2;
 
 2134         typedef tmat3x3<f64, mediump> mediump_f64mat3x3;
 
 2138         typedef tmat3x4<f64, mediump> mediump_f64mat3x4;
 
 2142         typedef tmat4x2<f64, mediump> mediump_f64mat4x2;
 
 2146         typedef tmat4x3<f64, mediump> mediump_f64mat4x3;
 
 2150         typedef tmat4x4<f64, mediump> mediump_f64mat4x4;
 
 2158         typedef mediump_f64mat2x2 mediump_f64mat2;
 
 2162         typedef mediump_f64mat3x3 mediump_f64mat3;
 
 2166         typedef mediump_f64mat4x4 mediump_f64mat4;
 
 2174         typedef tmat2x2<f64, highp> highp_f64mat2x2;
 
 2178         typedef tmat2x3<f64, highp> highp_f64mat2x3;
 
 2182         typedef tmat2x4<f64, highp> highp_f64mat2x4;
 
 2186         typedef tmat3x2<f64, highp> highp_f64mat3x2;
 
 2190         typedef tmat3x3<f64, highp> highp_f64mat3x3;
 
 2194         typedef tmat3x4<f64, highp> highp_f64mat3x4;
 
 2198         typedef tmat4x2<f64, highp> highp_f64mat4x2;
 
 2202         typedef tmat4x3<f64, highp> highp_f64mat4x3;
 
 2206         typedef tmat4x4<f64, highp> highp_f64mat4x4;
 
 2214         typedef highp_f64mat2x2 highp_f64mat2;
 
 2218         typedef highp_f64mat3x3 highp_f64mat3;
 
 2222         typedef highp_f64mat4x4 highp_f64mat4;
 
 2229         typedef tquat<f32, lowp> lowp_f32quat;
 
 2233         typedef tquat<f64, lowp> lowp_f64quat;
 
 2237         typedef tquat<f32, mediump> mediump_f32quat;
 
 2241         typedef tquat<f64, mediump> mediump_f64quat;
 
 2245         typedef tquat<f32, highp> highp_f32quat;
 
 2249         typedef tquat<f64, highp> highp_f64quat;
 
 2252 #if(defined(GLM_PRECISION_LOWP_FLOAT)) 
 2253         typedef lowp_f32vec1                    
fvec1;
 
 2254         typedef lowp_f32vec2                    
fvec2;
 
 2255         typedef lowp_f32vec3                    
fvec3;
 
 2256         typedef lowp_f32vec4                    
fvec4;
 
 2257         typedef lowp_f32mat2                    
fmat2;
 
 2258         typedef lowp_f32mat3                    
fmat3;
 
 2259         typedef lowp_f32mat4                    
fmat4;
 
 2260         typedef lowp_f32mat2x2                  
fmat2x2;
 
 2261         typedef lowp_f32mat3x2                  
fmat3x2;
 
 2262         typedef lowp_f32mat4x2                  
fmat4x2;
 
 2263         typedef lowp_f32mat2x3                  
fmat2x3;
 
 2264         typedef lowp_f32mat3x3                  
fmat3x3;
 
 2265         typedef lowp_f32mat4x3                  
fmat4x3;
 
 2266         typedef lowp_f32mat2x4                  
fmat2x4;
 
 2267         typedef lowp_f32mat3x4                  
fmat3x4;
 
 2268         typedef lowp_f32mat4x4                  
fmat4x4;
 
 2269         typedef lowp_f32quat                    fquat;
 
 2288 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) 
 2289         typedef mediump_f32vec1                 
fvec1;
 
 2290         typedef mediump_f32vec2                 
fvec2;
 
 2291         typedef mediump_f32vec3                 
fvec3;
 
 2292         typedef mediump_f32vec4                 
fvec4;
 
 2293         typedef mediump_f32mat2                 
fmat2;
 
 2294         typedef mediump_f32mat3                 
fmat3;
 
 2295         typedef mediump_f32mat4                 
fmat4;
 
 2296         typedef mediump_f32mat2x2               
fmat2x2;
 
 2297         typedef mediump_f32mat3x2               
fmat3x2;
 
 2298         typedef mediump_f32mat4x2               
fmat4x2;
 
 2299         typedef mediump_f32mat2x3               
fmat2x3;
 
 2300         typedef mediump_f32mat3x3               
fmat3x3;
 
 2301         typedef mediump_f32mat4x3               
fmat4x3;
 
 2302         typedef mediump_f32mat2x4               
fmat2x4;
 
 2303         typedef mediump_f32mat3x4               
fmat3x4;
 
 2304         typedef mediump_f32mat4x4               
fmat4x4;
 
 2305         typedef mediump_f32quat                 fquat;
 
 2307         typedef mediump_f32vec1                 
f32vec1;
 
 2308         typedef mediump_f32vec2                 
f32vec2;
 
 2309         typedef mediump_f32vec3                 
f32vec3;
 
 2310         typedef mediump_f32vec4                 
f32vec4;
 
 2311         typedef mediump_f32mat2                 
f32mat2;
 
 2312         typedef mediump_f32mat3                 
f32mat3;
 
 2313         typedef mediump_f32mat4                 
f32mat4;
 
 2323         typedef mediump_f32quat                 
f32quat;
 
 2324 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT)) 
 2325         typedef highp_f32vec1                   
fvec1;
 
 2391         typedef highp_fquat                             fquat;
 
 2464 #if(defined(GLM_PRECISION_LOWP_DOUBLE)) 
 2482 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) 
 2483         typedef mediump_f64vec1                 
f64vec1;
 
 2484         typedef mediump_f64vec2                 
f64vec2;
 
 2485         typedef mediump_f64vec3                 
f64vec3;
 
 2486         typedef mediump_f64vec4                 
f64vec4;
 
 2487         typedef mediump_f64mat2                 
f64mat2;
 
 2488         typedef mediump_f64mat3                 
f64mat3;
 
 2489         typedef mediump_f64mat4                 
f64mat4;
 
 2499         typedef mediump_f64quat                 
f64quat;
 
 2501         typedef highp_f64vec1                   
f64vec1;
 
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type. 
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix. 
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type. 
float float32
Default 32 bit single-precision floating-point scalar. 
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components. 
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix. 
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type. 
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components. 
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type. 
detail::int8 mediump_int8
Medium precision 8 bit signed integer type. 
detail::int8 mediump_i8
Medium precision 8 bit signed integer type. 
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type. 
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type. 
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type. 
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type. 
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type. 
detail::int32 mediump_i32
Medium precision 32 bit signed integer type. 
detail::int8 highp_i8
High precision 8 bit signed integer type. 
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type. 
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type. 
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type. 
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type. 
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix. 
tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers. 
detail::int64 mediump_i64
Medium precision 64 bit signed integer type. 
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type. 
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type. 
highp_float64_t f64
Default 64 bit double-precision floating-point scalar. 
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components. 
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type. 
detail::int8 lowp_int8
Low precision 8 bit signed integer type. 
detail::int16 lowp_int16
Low precision 16 bit signed integer type. 
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type. 
detail::int16 i16
16 bit signed integer type. 
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix. 
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix. 
detail::int8 int8
8 bit signed integer type. 
detail::int32 lowp_i32
Low precision 32 bit signed integer type. 
detail::uint8 uint8_t
8 bit unsigned integer type. 
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type. 
tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers. 
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type. 
detail::int32 highp_i32
High precision 32 bit signed integer type. 
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type. 
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type. 
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix. 
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix. 
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type. 
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type. 
detail::int64 int64
64 bit signed integer type. 
detail::uint32 u32
32 bit unsigned integer type. 
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix. 
double float64
Default 64 bit double-precision floating-point scalar. 
detail::int8 highp_int8
High precision 8 bit signed integer type. 
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix. 
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type. 
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type. 
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix. 
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type. 
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type. 
detail::int8 int8_t
8 bit signed integer type. 
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type. 
detail::uint16 uint16
16 bit unsigned integer type. 
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix. 
detail::uint16 u16
16 bit unsigned integer type. 
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components. 
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type. 
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix. 
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix. 
detail::int32 mediump_int32
Medium precision 32 bit signed integer type. 
detail::int16 highp_i16
High precision 16 bit signed integer type. 
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix. 
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type. 
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix. 
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix. 
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix. 
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar. 
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type. 
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type. 
detail::int64 lowp_i64
Low precision 64 bit signed integer type. 
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components. 
detail::int16 int16
16 bit signed integer type. 
detail::int32 lowp_int32
Low precision 32 bit signed integer type. 
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type. 
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type. 
tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers. 
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type. 
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type. 
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type. 
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components. 
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type. 
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type. 
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components. 
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix. 
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components. 
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type. 
detail::int8 i8
8 bit signed integer type. 
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix. 
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type. 
tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers. 
tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers. 
detail::int16 lowp_i16
Low precision 16 bit signed integer type. 
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type. 
detail::int64 highp_int64
High precision 64 bit signed integer type. 
detail::uint8 u8
8 bit unsigned integer type. 
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type. 
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix. 
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix. 
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type. 
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type. 
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type. 
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type. 
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type. 
highp_f64quat f64quat
Default double-precision floating-point quaternion. 
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type. 
detail::int64 highp_i64
High precision 64 bit signed integer type. 
detail::int16 mediump_i16
Medium precision 16 bit signed integer type. 
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type. 
detail::int32 highp_int32
High precision 32 bit signed integer type. 
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix. 
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type. 
detail::uint8 uint8
8 bit unsigned integer type. 
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type. 
detail::uint32 uint32
32 bit unsigned integer type. 
detail::int32 int32_t
32 bit signed integer type. 
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix. 
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type. 
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type. 
tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers. 
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type. 
detail::uint64 uint64_t
64 bit unsigned integer type. 
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type. 
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix. 
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix. 
detail::uint64 uint64
64 bit unsigned integer type. 
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix. 
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type. 
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix. 
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type. 
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar. 
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type. 
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type. 
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix. 
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type. 
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type. 
detail::int8 lowp_i8
Low precision 8 bit signed integer type. 
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components. 
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components. 
detail::int32 highp_int32_t
32 bit signed integer type. 
detail::int64 mediump_int64
Medium precision 64 bit signed integer type. 
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type. 
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type. 
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix. 
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type. 
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components. 
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type. 
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type. 
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix. 
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type. 
detail::uint32 uint32_t
32 bit unsigned integer type. 
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type. 
tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers. 
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type. 
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix. 
tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers. 
detail::int32 int32
32 bit signed integer 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_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type. 
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type. 
detail::uint64 u64
64 bit unsigned integer type. 
detail::int64 lowp_int64
Low precision 64 bit signed integer type. 
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type. 
tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers. 
detail::int16 mediump_int16
Medium precision 16 bit signed integer type. 
detail::int16 int16_t
16 bit signed integer type. 
detail::int64 int64_t
64 bit signed integer type. 
detail::int32 i32
32 bit signed integer type. 
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type. 
detail::int16 highp_int16
High precision 16 bit signed integer type. 
detail::uint16 uint16_t
16 bit unsigned integer type. 
highp_f32quat f32quat
Default single-precision floating-point quaternion. 
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix. 
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components. 
detail::int64 i64
64 bit signed integer type. 
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix. 
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix. 
detail::int16 highp_int16_t
High precision 16 bit signed integer type. 
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix. 
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type. 
highp_float32_t f32
Default 32 bit single-precision floating-point scalar. 
detail::int8 highp_int8_t
High precision 8 bit signed integer type. 
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.