|  | 
| typedef bool | bool1 | 
|  | boolean type with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef bool | bool1x1 | 
|  | boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec2< bool, highp > | bool2 | 
|  | boolean type with 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x2< bool, highp > | bool2x2 | 
|  | boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x3< bool, highp > | bool2x3 | 
|  | boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x4< bool, highp > | bool2x4 | 
|  | boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec3< bool, highp > | bool3 | 
|  | boolean type with 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x2< bool, highp > | bool3x2 | 
|  | boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x3< bool, highp > | bool3x3 | 
|  | boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x4< bool, highp > | bool3x4 | 
|  | boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec4< bool, highp > | bool4 | 
|  | boolean type with 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x2< bool, highp > | bool4x2 | 
|  | boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x3< bool, highp > | bool4x3 | 
|  | boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x4< bool, highp > | bool4x4 | 
|  | boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef double | double1 | 
|  | double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef double | double1x1 | 
|  | double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec2< double, highp > | double2 | 
|  | double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x2< double, highp > | double2x2 | 
|  | double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x3< double, highp > | double2x3 | 
|  | double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x4< double, highp > | double2x4 | 
|  | double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec3< double, highp > | double3 | 
|  | double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x2< double, highp > | double3x2 | 
|  | double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x3< double, highp > | double3x3 | 
|  | double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x4< double, highp > | double3x4 | 
|  | double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec4< double, highp > | double4 | 
|  | double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x2< double, highp > | double4x2 | 
|  | double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x3< double, highp > | double4x3 | 
|  | double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x4< double, highp > | double4x4 | 
|  | double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef float | float1 | 
|  | single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef float | float1x1 | 
|  | single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec2< float, highp > | float2 | 
|  | single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x2< float, highp > | float2x2 | 
|  | single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x3< float, highp > | float2x3 | 
|  | single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x4< float, highp > | float2x4 | 
|  | single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec3< float, highp > | float3 | 
|  | single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x2< float, highp > | float3x2 | 
|  | single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x3< float, highp > | float3x3 | 
|  | single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x4< float, highp > | float3x4 | 
|  | single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec4< float, highp > | float4 | 
|  | single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x2< float, highp > | float4x2 | 
|  | single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x3< float, highp > | float4x3 | 
|  | single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x4< float, highp > | float4x4 | 
|  | single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef int | int1 | 
|  | integer vector with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef int | int1x1 | 
|  | integer matrix with 1 component. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec2< int, highp > | int2 | 
|  | integer vector with 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x2< int, highp > | int2x2 | 
|  | integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x3< int, highp > | int2x3 | 
|  | integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat2x4< int, highp > | int2x4 | 
|  | integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec3< int, highp > | int3 | 
|  | integer vector with 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x2< int, highp > | int3x2 | 
|  | integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x3< int, highp > | int3x3 | 
|  | integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat3x4< int, highp > | int3x4 | 
|  | integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tvec4< int, highp > | int4 | 
|  | integer vector with 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x2< int, highp > | int4x2 | 
|  | integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x3< int, highp > | int4x3 | 
|  | integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
| typedef tmat4x4< int, highp > | int4x4 | 
|  | integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) 
 | 
|  | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER T | atan2 (T x, T y) | 
|  | Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec2< T, P > | atan2 (const tvec2< T, P > &x, const tvec2< T, P > &y) | 
|  | Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec3< T, P > | atan2 (const tvec3< T, P > &x, const tvec3< T, P > &y) | 
|  | Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec4< T, P > | atan2 (const tvec4< T, P > &x, const tvec4< T, P > &y) | 
|  | Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename genType > | 
| GLM_FUNC_DECL bool | isfinite (genType const &x) | 
|  | Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_DECL tvec1< bool, P > | isfinite (const tvec1< T, P > &x) | 
|  | Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_DECL tvec2< bool, P > | isfinite (const tvec2< T, P > &x) | 
|  | Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_DECL tvec3< bool, P > | isfinite (const tvec3< T, P > &x) | 
|  | Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_DECL tvec4< bool, P > | isfinite (const tvec4< T, P > &x) | 
|  | Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T > | 
| GLM_FUNC_QUALIFIER T | lerp (T x, T y, T a) | 
|  | Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec2< T, P > | lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, T a) | 
|  | Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec3< T, P > | lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, T a) | 
|  | Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec4< T, P > | lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, T a) | 
|  | Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec2< T, P > | lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a) | 
|  | Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec3< T, P > | lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a) | 
|  | Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec4< T, P > | lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a) | 
|  | Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER T | saturate (T x) | 
|  | Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec2< T, P > | saturate (const tvec2< T, P > &x) | 
|  | Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec3< T, P > | saturate (const tvec3< T, P > &x) | 
|  | Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) 
 | 
|  | 
| template<typename T , precision P> | 
| GLM_FUNC_QUALIFIER tvec4< T, P > | saturate (const tvec4< T, P > &x) | 
|  | Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) 
 | 
|  |