Clutter Engine 0.0.1
Loading...
Searching...
No Matches
glm Namespace Reference

Core features More...

Classes

class  compute_YCoCgR
 
class  compute_YCoCgR< T, Q, true >
 
struct  mat
 
struct  mat< 2, 2, T, Q >
 
struct  mat< 2, 3, T, Q >
 
struct  mat< 2, 4, T, Q >
 
struct  mat< 3, 2, T, Q >
 
struct  mat< 3, 3, T, Q >
 
struct  mat< 3, 4, T, Q >
 
struct  mat< 4, 2, T, Q >
 
struct  mat< 4, 3, T, Q >
 
struct  mat< 4, 4, T, Q >
 
struct  qua
 
struct  tdualquat
 
struct  type
 
struct  type< mat< C, R, T, Q > >
 
struct  type< qua< T, Q > >
 
struct  type< tdualquat< T, Q > >
 
struct  type< vec< L, T, Q > >
 
struct  vec
 
struct  vec< 1, T, Q >
 
struct  vec< 2, T, Q >
 
struct  vec< 3, T, Q >
 
struct  vec< 4, T, Q >
 

Typedefs

typedef qualifier precision
 
typedef int length_t
 
typedef unsigned int uint
 
typedef mat< 2, 2, double, defaultp > dmat2x2
 
typedef mat< 2, 2, double, defaultp > dmat2
 
typedef mat< 2, 2, double, lowplowp_dmat2
 
typedef mat< 2, 2, double, mediumpmediump_dmat2
 
typedef mat< 2, 2, double, highphighp_dmat2
 
typedef mat< 2, 2, double, lowplowp_dmat2x2
 
typedef mat< 2, 2, double, mediumpmediump_dmat2x2
 
typedef mat< 2, 2, double, highphighp_dmat2x2
 
typedef mat< 2, 3, double, defaultp > dmat2x3
 
typedef mat< 2, 3, double, lowplowp_dmat2x3
 
typedef mat< 2, 3, double, mediumpmediump_dmat2x3
 
typedef mat< 2, 3, double, highphighp_dmat2x3
 
typedef mat< 2, 4, double, defaultp > dmat2x4
 
typedef mat< 2, 4, double, lowplowp_dmat2x4
 
typedef mat< 2, 4, double, mediumpmediump_dmat2x4
 
typedef mat< 2, 4, double, highphighp_dmat2x4
 
typedef mat< 3, 2, double, defaultp > dmat3x2
 
typedef mat< 3, 2, double, lowplowp_dmat3x2
 
typedef mat< 3, 2, double, mediumpmediump_dmat3x2
 
typedef mat< 3, 2, double, highphighp_dmat3x2
 
typedef mat< 3, 3, double, defaultp > dmat3x3
 
typedef mat< 3, 3, double, defaultp > dmat3
 
typedef mat< 3, 3, double, lowplowp_dmat3
 
typedef mat< 3, 3, double, mediumpmediump_dmat3
 
typedef mat< 3, 3, double, highphighp_dmat3
 
typedef mat< 3, 3, double, lowplowp_dmat3x3
 
typedef mat< 3, 3, double, mediumpmediump_dmat3x3
 
typedef mat< 3, 3, double, highphighp_dmat3x3
 
typedef mat< 3, 4, double, defaultp > dmat3x4
 
typedef mat< 3, 4, double, lowplowp_dmat3x4
 
typedef mat< 3, 4, double, mediumpmediump_dmat3x4
 
typedef mat< 3, 4, double, highphighp_dmat3x4
 
typedef mat< 4, 2, double, defaultp > dmat4x2
 
typedef mat< 4, 2, double, lowplowp_dmat4x2
 
typedef mat< 4, 2, double, mediumpmediump_dmat4x2
 
typedef mat< 4, 2, double, highphighp_dmat4x2
 
typedef mat< 4, 3, double, defaultp > dmat4x3
 
typedef mat< 4, 3, double, lowplowp_dmat4x3
 
typedef mat< 4, 3, double, mediumpmediump_dmat4x3
 
typedef mat< 4, 3, double, highphighp_dmat4x3
 
typedef mat< 4, 4, double, defaultp > dmat4x4
 
typedef mat< 4, 4, double, defaultp > dmat4
 
typedef mat< 4, 4, double, lowplowp_dmat4
 
typedef mat< 4, 4, double, mediumpmediump_dmat4
 
typedef mat< 4, 4, double, highphighp_dmat4
 
typedef mat< 4, 4, double, lowplowp_dmat4x4
 
typedef mat< 4, 4, double, mediumpmediump_dmat4x4
 
typedef mat< 4, 4, double, highphighp_dmat4x4
 
typedef mat< 2, 2, float, defaultp > mat2x2
 
typedef mat< 2, 2, float, defaultp > mat2
 
typedef mat< 2, 2, float, lowplowp_mat2
 
typedef mat< 2, 2, float, mediumpmediump_mat2
 
typedef mat< 2, 2, float, highphighp_mat2
 
typedef mat< 2, 2, float, lowplowp_mat2x2
 
typedef mat< 2, 2, float, mediumpmediump_mat2x2
 
typedef mat< 2, 2, float, highphighp_mat2x2
 
typedef mat< 2, 3, float, defaultp > mat2x3
 
typedef mat< 2, 3, float, lowplowp_mat2x3
 
typedef mat< 2, 3, float, mediumpmediump_mat2x3
 
typedef mat< 2, 3, float, highphighp_mat2x3
 
typedef mat< 2, 4, float, defaultp > mat2x4
 
typedef mat< 2, 4, float, lowplowp_mat2x4
 
typedef mat< 2, 4, float, mediumpmediump_mat2x4
 
typedef mat< 2, 4, float, highphighp_mat2x4
 
typedef mat< 3, 2, float, defaultp > mat3x2
 
typedef mat< 3, 2, float, lowplowp_mat3x2
 
typedef mat< 3, 2, float, mediumpmediump_mat3x2
 
typedef mat< 3, 2, float, highphighp_mat3x2
 
typedef mat< 3, 3, float, defaultp > mat3x3
 
typedef mat< 3, 3, float, defaultp > mat3
 
typedef mat< 3, 3, float, lowplowp_mat3
 
typedef mat< 3, 3, float, mediumpmediump_mat3
 
typedef mat< 3, 3, float, highphighp_mat3
 
typedef mat< 3, 3, float, lowplowp_mat3x3
 
typedef mat< 3, 3, float, mediumpmediump_mat3x3
 
typedef mat< 3, 3, float, highphighp_mat3x3
 
typedef mat< 3, 4, float, defaultp > mat3x4
 
typedef mat< 3, 4, float, lowplowp_mat3x4
 
typedef mat< 3, 4, float, mediumpmediump_mat3x4
 
typedef mat< 3, 4, float, highphighp_mat3x4
 
typedef mat< 4, 2, float, defaultp > mat4x2
 
typedef mat< 4, 2, float, lowplowp_mat4x2
 
typedef mat< 4, 2, float, mediumpmediump_mat4x2
 
typedef mat< 4, 2, float, highphighp_mat4x2
 
typedef mat< 4, 3, float, defaultp > mat4x3
 
typedef mat< 4, 3, float, lowplowp_mat4x3
 
typedef mat< 4, 3, float, mediumpmediump_mat4x3
 
typedef mat< 4, 3, float, highphighp_mat4x3
 
typedef mat< 4, 4, float, lowplowp_mat4
 
typedef mat< 4, 4, float, mediumpmediump_mat4
 
typedef mat< 4, 4, float, highphighp_mat4
 
typedef mat< 4, 4, float, lowplowp_mat4x4
 
typedef mat< 4, 4, float, mediumpmediump_mat4x4
 
typedef mat< 4, 4, float, highphighp_mat4x4
 
typedef qua< double, defaultp > dquat
 Quaternion of double-precision floating-point numbers.
 
typedef qua< double, lowplowp_dquat
 
typedef qua< double, mediumpmediump_dquat
 
typedef qua< double, highphighp_dquat
 
typedef qua< float, defaultp > quat
 Quaternion of single-precision floating-point numbers.
 
typedef qua< float, lowplowp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, mediumpmediump_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, highphighp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef detail::int8 int8
 8 bit signed integer type.
 
typedef detail::int16 int16
 16 bit signed integer type.
 
typedef detail::int32 int32
 32 bit signed integer type.
 
typedef detail::int64 int64
 64 bit signed integer type.
 
typedef detail::uint8 uint8
 8 bit unsigned integer type.
 
typedef detail::uint16 uint16
 16 bit unsigned integer type.
 
typedef detail::uint32 uint32
 32 bit unsigned integer type.
 
typedef detail::uint64 uint64
 64 bit unsigned integer type.
 
typedef vec< 1, bool, defaultp > bvec1
 1 components vector of boolean.
 
typedef vec< 1, bool, highphighp_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, mediumpmediump_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, lowplowp_bvec1
 1 component vector of bool values.
 
typedef vec< 2, bool, defaultp > bvec2
 
typedef vec< 2, bool, highphighp_bvec2
 
typedef vec< 2, bool, mediumpmediump_bvec2
 
typedef vec< 2, bool, lowplowp_bvec2
 
typedef vec< 3, bool, defaultp > bvec3
 
typedef vec< 3, bool, highphighp_bvec3
 
typedef vec< 3, bool, mediumpmediump_bvec3
 
typedef vec< 3, bool, lowplowp_bvec3
 
typedef vec< 4, bool, defaultp > bvec4
 
typedef vec< 4, bool, highphighp_bvec4
 
typedef vec< 4, bool, mediumpmediump_bvec4
 
typedef vec< 4, bool, lowplowp_bvec4
 
typedef vec< 1, double, defaultp > dvec1
 1 components vector of double-precision floating-point numbers.
 
typedef vec< 1, double, highphighp_dvec1
 1 component vector of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, mediumpmediump_dvec1
 1 component vector of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, lowplowp_dvec1
 1 component vector of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, defaultp > dvec2
 
typedef vec< 2, double, highphighp_dvec2
 
typedef vec< 2, double, mediumpmediump_dvec2
 
typedef vec< 2, double, lowplowp_dvec2
 
typedef vec< 3, double, defaultp > dvec3
 
typedef vec< 3, double, highphighp_dvec3
 
typedef vec< 3, double, mediumpmediump_dvec3
 
typedef vec< 3, double, lowplowp_dvec3
 
typedef vec< 4, double, defaultp > dvec4
 
typedef vec< 4, double, highphighp_dvec4
 
typedef vec< 4, double, mediumpmediump_dvec4
 
typedef vec< 4, double, lowplowp_dvec4
 
typedef vec< 1, float, defaultp > vec1
 1 components vector of single-precision floating-point numbers.
 
typedef vec< 1, float, highphighp_vec1
 1 component vector of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, mediumpmediump_vec1
 1 component vector of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, float, lowplowp_vec1
 1 component vector of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, float, defaultp > vec2
 
typedef vec< 2, float, highphighp_vec2
 
typedef vec< 2, float, mediumpmediump_vec2
 
typedef vec< 2, float, lowplowp_vec2
 
typedef vec< 3, float, defaultp > vec3
 
typedef vec< 3, float, highphighp_vec3
 
typedef vec< 3, float, mediumpmediump_vec3
 
typedef vec< 3, float, lowplowp_vec3
 
typedef vec< 4, float, defaultp > vec4
 
typedef vec< 4, float, highphighp_vec4
 
typedef vec< 4, float, mediumpmediump_vec4
 
typedef vec< 4, float, lowplowp_vec4
 
typedef vec< 1, int, defaultp > ivec1
 1 component vector of signed integer numbers.
 
typedef vec< 1, int, highphighp_ivec1
 1 component vector of signed integer values.
 
typedef vec< 1, int, mediumpmediump_ivec1
 1 component vector of signed integer values.
 
typedef vec< 1, int, lowplowp_ivec1
 1 component vector of signed integer values.
 
typedef vec< 2, int, defaultp > ivec2
 
typedef vec< 2, int, highphighp_ivec2
 
typedef vec< 2, int, mediumpmediump_ivec2
 
typedef vec< 2, int, lowplowp_ivec2
 
typedef vec< 3, int, defaultp > ivec3
 
typedef vec< 3, int, highphighp_ivec3
 
typedef vec< 3, int, mediumpmediump_ivec3
 
typedef vec< 3, int, lowplowp_ivec3
 
typedef vec< 4, int, defaultp > ivec4
 
typedef vec< 4, int, highphighp_ivec4
 
typedef vec< 4, int, mediumpmediump_ivec4
 
typedef vec< 4, int, lowplowp_ivec4
 
typedef vec< 1, unsigned int, defaultp > uvec1
 1 component vector of unsigned integer numbers.
 
typedef vec< 1, unsigned int, highphighp_uvec1
 
typedef vec< 1, unsigned int, mediumpmediump_uvec1
 
typedef vec< 1, unsigned int, lowplowp_uvec1
 
typedef vec< 2, unsigned int, defaultp > uvec2
 
typedef vec< 2, unsigned int, highphighp_uvec2
 
typedef vec< 2, unsigned int, mediumpmediump_uvec2
 
typedef vec< 2, unsigned int, lowplowp_uvec2
 
typedef vec< 3, unsigned int, defaultp > uvec3
 
typedef vec< 3, unsigned int, highphighp_uvec3
 
typedef vec< 3, unsigned int, mediumpmediump_uvec3
 
typedef vec< 3, unsigned int, lowplowp_uvec3
 
typedef vec< 4, unsigned int, defaultp > uvec4
 
typedef vec< 4, unsigned int, highphighp_uvec4
 
typedef vec< 4, unsigned int, mediumpmediump_uvec4
 
typedef vec< 4, unsigned int, lowplowp_uvec4
 
typedef int8 lowp_i8
 
typedef int8 mediump_i8
 
typedef int8 highp_i8
 
typedef int8 i8
 
typedef int8 lowp_int8
 
typedef int8 mediump_int8
 
typedef int8 highp_int8
 
typedef int8 lowp_int8_t
 
typedef int8 mediump_int8_t
 
typedef int8 highp_int8_t
 
typedef int8 int8_t
 
typedef int16 lowp_i16
 
typedef int16 mediump_i16
 
typedef int16 highp_i16
 
typedef int16 i16
 
typedef int16 lowp_int16
 
typedef int16 mediump_int16
 
typedef int16 highp_int16
 
typedef int16 lowp_int16_t
 
typedef int16 mediump_int16_t
 
typedef int16 highp_int16_t
 
typedef int16 int16_t
 
typedef int32 lowp_i32
 
typedef int32 mediump_i32
 
typedef int32 highp_i32
 
typedef int32 i32
 
typedef int32 lowp_int32
 
typedef int32 mediump_int32
 
typedef int32 highp_int32
 
typedef int32 lowp_int32_t
 
typedef int32 mediump_int32_t
 
typedef int32 highp_int32_t
 
typedef int32 int32_t
 
typedef int64 lowp_i64
 
typedef int64 mediump_i64
 
typedef int64 highp_i64
 
typedef int64 i64
 
typedef int64 lowp_int64
 
typedef int64 mediump_int64
 
typedef int64 highp_int64
 
typedef int64 lowp_int64_t
 
typedef int64 mediump_int64_t
 
typedef int64 highp_int64_t
 
typedef int64 int64_t
 
typedef uint8 lowp_u8
 
typedef uint8 mediump_u8
 
typedef uint8 highp_u8
 
typedef uint8 u8
 
typedef uint8 lowp_uint8
 
typedef uint8 mediump_uint8
 
typedef uint8 highp_uint8
 
typedef uint8 lowp_uint8_t
 
typedef uint8 mediump_uint8_t
 
typedef uint8 highp_uint8_t
 
typedef uint8 uint8_t
 
typedef uint16 lowp_u16
 
typedef uint16 mediump_u16
 
typedef uint16 highp_u16
 
typedef uint16 u16
 
typedef uint16 lowp_uint16
 
typedef uint16 mediump_uint16
 
typedef uint16 highp_uint16
 
typedef uint16 lowp_uint16_t
 
typedef uint16 mediump_uint16_t
 
typedef uint16 highp_uint16_t
 
typedef uint16 uint16_t
 
typedef uint32 lowp_u32
 
typedef uint32 mediump_u32
 
typedef uint32 highp_u32
 
typedef uint32 u32
 
typedef uint32 lowp_uint32
 
typedef uint32 mediump_uint32
 
typedef uint32 highp_uint32
 
typedef uint32 lowp_uint32_t
 
typedef uint32 mediump_uint32_t
 
typedef uint32 highp_uint32_t
 
typedef uint32 uint32_t
 
typedef uint64 lowp_u64
 
typedef uint64 mediump_u64
 
typedef uint64 highp_u64
 
typedef uint64 u64
 
typedef uint64 lowp_uint64
 
typedef uint64 mediump_uint64
 
typedef uint64 highp_uint64
 
typedef uint64 lowp_uint64_t
 
typedef uint64 mediump_uint64_t
 
typedef uint64 highp_uint64_t
 
typedef uint64 uint64_t
 
typedef float lowp_f32
 
typedef float mediump_f32
 
typedef float highp_f32
 
typedef float lowp_float32
 
typedef float mediump_float32
 
typedef float highp_float32
 
typedef float float32
 
typedef float lowp_float32_t
 
typedef float mediump_float32_t
 
typedef float highp_float32_t
 
typedef float float32_t
 
typedef double lowp_f64
 
typedef double mediump_f64
 
typedef double highp_f64
 
typedef double lowp_float64
 
typedef double mediump_float64
 
typedef double highp_float64
 
typedef double float64
 
typedef double lowp_float64_t
 
typedef double mediump_float64_t
 
typedef double highp_float64_t
 
typedef double float64_t
 
typedef vec< 1, i8, lowplowp_i8vec1
 
typedef vec< 2, i8, lowplowp_i8vec2
 
typedef vec< 3, i8, lowplowp_i8vec3
 
typedef vec< 4, i8, lowplowp_i8vec4
 
typedef vec< 1, i8, mediumpmediump_i8vec1
 
typedef vec< 2, i8, mediumpmediump_i8vec2
 
typedef vec< 3, i8, mediumpmediump_i8vec3
 
typedef vec< 4, i8, mediumpmediump_i8vec4
 
typedef vec< 1, i8, highphighp_i8vec1
 
typedef vec< 2, i8, highphighp_i8vec2
 
typedef vec< 3, i8, highphighp_i8vec3
 
typedef vec< 4, i8, highphighp_i8vec4
 
typedef vec< 1, i8, defaultp > i8vec1
 
typedef vec< 2, i8, defaultp > i8vec2
 
typedef vec< 3, i8, defaultp > i8vec3
 
typedef vec< 4, i8, defaultp > i8vec4
 
typedef vec< 1, i16, lowplowp_i16vec1
 
typedef vec< 2, i16, lowplowp_i16vec2
 
typedef vec< 3, i16, lowplowp_i16vec3
 
typedef vec< 4, i16, lowplowp_i16vec4
 
typedef vec< 1, i16, mediumpmediump_i16vec1
 
typedef vec< 2, i16, mediumpmediump_i16vec2
 
typedef vec< 3, i16, mediumpmediump_i16vec3
 
typedef vec< 4, i16, mediumpmediump_i16vec4
 
typedef vec< 1, i16, highphighp_i16vec1
 
typedef vec< 2, i16, highphighp_i16vec2
 
typedef vec< 3, i16, highphighp_i16vec3
 
typedef vec< 4, i16, highphighp_i16vec4
 
typedef vec< 1, i16, defaultp > i16vec1
 
typedef vec< 2, i16, defaultp > i16vec2
 
typedef vec< 3, i16, defaultp > i16vec3
 
typedef vec< 4, i16, defaultp > i16vec4
 
typedef vec< 1, i32, lowplowp_i32vec1
 
typedef vec< 2, i32, lowplowp_i32vec2
 
typedef vec< 3, i32, lowplowp_i32vec3
 
typedef vec< 4, i32, lowplowp_i32vec4
 
typedef vec< 1, i32, mediumpmediump_i32vec1
 
typedef vec< 2, i32, mediumpmediump_i32vec2
 
typedef vec< 3, i32, mediumpmediump_i32vec3
 
typedef vec< 4, i32, mediumpmediump_i32vec4
 
typedef vec< 1, i32, highphighp_i32vec1
 
typedef vec< 2, i32, highphighp_i32vec2
 
typedef vec< 3, i32, highphighp_i32vec3
 
typedef vec< 4, i32, highphighp_i32vec4
 
typedef vec< 1, i32, defaultp > i32vec1
 
typedef vec< 2, i32, defaultp > i32vec2
 
typedef vec< 3, i32, defaultp > i32vec3
 
typedef vec< 4, i32, defaultp > i32vec4
 
typedef vec< 1, i64, lowplowp_i64vec1
 
typedef vec< 2, i64, lowplowp_i64vec2
 
typedef vec< 3, i64, lowplowp_i64vec3
 
typedef vec< 4, i64, lowplowp_i64vec4
 
typedef vec< 1, i64, mediumpmediump_i64vec1
 
typedef vec< 2, i64, mediumpmediump_i64vec2
 
typedef vec< 3, i64, mediumpmediump_i64vec3
 
typedef vec< 4, i64, mediumpmediump_i64vec4
 
typedef vec< 1, i64, highphighp_i64vec1
 
typedef vec< 2, i64, highphighp_i64vec2
 
typedef vec< 3, i64, highphighp_i64vec3
 
typedef vec< 4, i64, highphighp_i64vec4
 
typedef vec< 1, i64, defaultp > i64vec1
 
typedef vec< 2, i64, defaultp > i64vec2
 
typedef vec< 3, i64, defaultp > i64vec3
 
typedef vec< 4, i64, defaultp > i64vec4
 
typedef vec< 1, u8, lowplowp_u8vec1
 
typedef vec< 2, u8, lowplowp_u8vec2
 
typedef vec< 3, u8, lowplowp_u8vec3
 
typedef vec< 4, u8, lowplowp_u8vec4
 
typedef vec< 1, u8, mediumpmediump_u8vec1
 
typedef vec< 2, u8, mediumpmediump_u8vec2
 
typedef vec< 3, u8, mediumpmediump_u8vec3
 
typedef vec< 4, u8, mediumpmediump_u8vec4
 
typedef vec< 1, u8, highphighp_u8vec1
 
typedef vec< 2, u8, highphighp_u8vec2
 
typedef vec< 3, u8, highphighp_u8vec3
 
typedef vec< 4, u8, highphighp_u8vec4
 
typedef vec< 1, u8, defaultp > u8vec1
 
typedef vec< 2, u8, defaultp > u8vec2
 
typedef vec< 3, u8, defaultp > u8vec3
 
typedef vec< 4, u8, defaultp > u8vec4
 
typedef vec< 1, u16, lowplowp_u16vec1
 
typedef vec< 2, u16, lowplowp_u16vec2
 
typedef vec< 3, u16, lowplowp_u16vec3
 
typedef vec< 4, u16, lowplowp_u16vec4
 
typedef vec< 1, u16, mediumpmediump_u16vec1
 
typedef vec< 2, u16, mediumpmediump_u16vec2
 
typedef vec< 3, u16, mediumpmediump_u16vec3
 
typedef vec< 4, u16, mediumpmediump_u16vec4
 
typedef vec< 1, u16, highphighp_u16vec1
 
typedef vec< 2, u16, highphighp_u16vec2
 
typedef vec< 3, u16, highphighp_u16vec3
 
typedef vec< 4, u16, highphighp_u16vec4
 
typedef vec< 1, u16, defaultp > u16vec1
 
typedef vec< 2, u16, defaultp > u16vec2
 
typedef vec< 3, u16, defaultp > u16vec3
 
typedef vec< 4, u16, defaultp > u16vec4
 
typedef vec< 1, u32, lowplowp_u32vec1
 
typedef vec< 2, u32, lowplowp_u32vec2
 
typedef vec< 3, u32, lowplowp_u32vec3
 
typedef vec< 4, u32, lowplowp_u32vec4
 
typedef vec< 1, u32, mediumpmediump_u32vec1
 
typedef vec< 2, u32, mediumpmediump_u32vec2
 
typedef vec< 3, u32, mediumpmediump_u32vec3
 
typedef vec< 4, u32, mediumpmediump_u32vec4
 
typedef vec< 1, u32, highphighp_u32vec1
 
typedef vec< 2, u32, highphighp_u32vec2
 
typedef vec< 3, u32, highphighp_u32vec3
 
typedef vec< 4, u32, highphighp_u32vec4
 
typedef vec< 1, u32, defaultp > u32vec1
 
typedef vec< 2, u32, defaultp > u32vec2
 
typedef vec< 3, u32, defaultp > u32vec3
 
typedef vec< 4, u32, defaultp > u32vec4
 
typedef vec< 1, u64, lowplowp_u64vec1
 
typedef vec< 2, u64, lowplowp_u64vec2
 
typedef vec< 3, u64, lowplowp_u64vec3
 
typedef vec< 4, u64, lowplowp_u64vec4
 
typedef vec< 1, u64, mediumpmediump_u64vec1
 
typedef vec< 2, u64, mediumpmediump_u64vec2
 
typedef vec< 3, u64, mediumpmediump_u64vec3
 
typedef vec< 4, u64, mediumpmediump_u64vec4
 
typedef vec< 1, u64, highphighp_u64vec1
 
typedef vec< 2, u64, highphighp_u64vec2
 
typedef vec< 3, u64, highphighp_u64vec3
 
typedef vec< 4, u64, highphighp_u64vec4
 
typedef vec< 1, u64, defaultp > u64vec1
 
typedef vec< 2, u64, defaultp > u64vec2
 
typedef vec< 3, u64, defaultp > u64vec3
 
typedef vec< 4, u64, defaultp > u64vec4
 
typedef vec< 1, float, lowplowp_fvec1
 
typedef vec< 2, float, lowplowp_fvec2
 
typedef vec< 3, float, lowplowp_fvec3
 
typedef vec< 4, float, lowplowp_fvec4
 
typedef vec< 1, float, mediumpmediump_fvec1
 
typedef vec< 2, float, mediumpmediump_fvec2
 
typedef vec< 3, float, mediumpmediump_fvec3
 
typedef vec< 4, float, mediumpmediump_fvec4
 
typedef vec< 1, float, highphighp_fvec1
 
typedef vec< 2, float, highphighp_fvec2
 
typedef vec< 3, float, highphighp_fvec3
 
typedef vec< 4, float, highphighp_fvec4
 
typedef vec< 1, f32, defaultp > fvec1
 
typedef vec< 2, f32, defaultp > fvec2
 
typedef vec< 3, f32, defaultp > fvec3
 
typedef vec< 4, f32, defaultp > fvec4
 
typedef vec< 1, f32, lowplowp_f32vec1
 
typedef vec< 2, f32, lowplowp_f32vec2
 
typedef vec< 3, f32, lowplowp_f32vec3
 
typedef vec< 4, f32, lowplowp_f32vec4
 
typedef vec< 1, f32, mediumpmediump_f32vec1
 
typedef vec< 2, f32, mediumpmediump_f32vec2
 
typedef vec< 3, f32, mediumpmediump_f32vec3
 
typedef vec< 4, f32, mediumpmediump_f32vec4
 
typedef vec< 1, f32, highphighp_f32vec1
 
typedef vec< 2, f32, highphighp_f32vec2
 
typedef vec< 3, f32, highphighp_f32vec3
 
typedef vec< 4, f32, highphighp_f32vec4
 
typedef vec< 1, f32, defaultp > f32vec1
 
typedef vec< 2, f32, defaultp > f32vec2
 
typedef vec< 3, f32, defaultp > f32vec3
 
typedef vec< 4, f32, defaultp > f32vec4
 
typedef vec< 1, f64, lowplowp_f64vec1
 
typedef vec< 2, f64, lowplowp_f64vec2
 
typedef vec< 3, f64, lowplowp_f64vec3
 
typedef vec< 4, f64, lowplowp_f64vec4
 
typedef vec< 1, f64, mediumpmediump_f64vec1
 
typedef vec< 2, f64, mediumpmediump_f64vec2
 
typedef vec< 3, f64, mediumpmediump_f64vec3
 
typedef vec< 4, f64, mediumpmediump_f64vec4
 
typedef vec< 1, f64, highphighp_f64vec1
 
typedef vec< 2, f64, highphighp_f64vec2
 
typedef vec< 3, f64, highphighp_f64vec3
 
typedef vec< 4, f64, highphighp_f64vec4
 
typedef vec< 1, f64, defaultp > f64vec1
 
typedef vec< 2, f64, defaultp > f64vec2
 
typedef vec< 3, f64, defaultp > f64vec3
 
typedef vec< 4, f64, defaultp > f64vec4
 
typedef mat< 2, 2, f32, lowplowp_fmat2
 
typedef mat< 3, 3, f32, lowplowp_fmat3
 
typedef mat< 4, 4, f32, lowplowp_fmat4
 
typedef mat< 2, 2, f32, mediumpmediump_fmat2
 
typedef mat< 3, 3, f32, mediumpmediump_fmat3
 
typedef mat< 4, 4, f32, mediumpmediump_fmat4
 
typedef mat< 2, 2, f32, highphighp_fmat2
 
typedef mat< 3, 3, f32, highphighp_fmat3
 
typedef mat< 4, 4, f32, highphighp_fmat4
 
typedef mat< 2, 2, f32, defaultp > fmat2
 
typedef mat< 3, 3, f32, defaultp > fmat3
 
typedef mat< 4, 4, f32, defaultp > fmat4
 
typedef mat< 2, 2, f32, lowplowp_f32mat2
 
typedef mat< 3, 3, f32, lowplowp_f32mat3
 
typedef mat< 4, 4, f32, lowplowp_f32mat4
 
typedef mat< 2, 2, f32, mediumpmediump_f32mat2
 
typedef mat< 3, 3, f32, mediumpmediump_f32mat3
 
typedef mat< 4, 4, f32, mediumpmediump_f32mat4
 
typedef mat< 2, 2, f32, highphighp_f32mat2
 
typedef mat< 3, 3, f32, highphighp_f32mat3
 
typedef mat< 4, 4, f32, highphighp_f32mat4
 
typedef mat< 2, 2, f32, defaultp > f32mat2
 
typedef mat< 3, 3, f32, defaultp > f32mat3
 
typedef mat< 4, 4, f32, defaultp > f32mat4
 
typedef mat< 2, 2, f64, lowplowp_f64mat2
 
typedef mat< 3, 3, f64, lowplowp_f64mat3
 
typedef mat< 4, 4, f64, lowplowp_f64mat4
 
typedef mat< 2, 2, f64, mediumpmediump_f64mat2
 
typedef mat< 3, 3, f64, mediumpmediump_f64mat3
 
typedef mat< 4, 4, f64, mediumpmediump_f64mat4
 
typedef mat< 2, 2, f64, highphighp_f64mat2
 
typedef mat< 3, 3, f64, highphighp_f64mat3
 
typedef mat< 4, 4, f64, highphighp_f64mat4
 
typedef mat< 2, 2, f64, defaultp > f64mat2
 
typedef mat< 3, 3, f64, defaultp > f64mat3
 
typedef mat< 4, 4, f64, defaultp > f64mat4
 
typedef mat< 2, 2, f32, lowplowp_fmat2x2
 
typedef mat< 2, 3, f32, lowplowp_fmat2x3
 
typedef mat< 2, 4, f32, lowplowp_fmat2x4
 
typedef mat< 3, 2, f32, lowplowp_fmat3x2
 
typedef mat< 3, 3, f32, lowplowp_fmat3x3
 
typedef mat< 3, 4, f32, lowplowp_fmat3x4
 
typedef mat< 4, 2, f32, lowplowp_fmat4x2
 
typedef mat< 4, 3, f32, lowplowp_fmat4x3
 
typedef mat< 4, 4, f32, lowplowp_fmat4x4
 
typedef mat< 2, 2, f32, mediumpmediump_fmat2x2
 
typedef mat< 2, 3, f32, mediumpmediump_fmat2x3
 
typedef mat< 2, 4, f32, mediumpmediump_fmat2x4
 
typedef mat< 3, 2, f32, mediumpmediump_fmat3x2
 
typedef mat< 3, 3, f32, mediumpmediump_fmat3x3
 
typedef mat< 3, 4, f32, mediumpmediump_fmat3x4
 
typedef mat< 4, 2, f32, mediumpmediump_fmat4x2
 
typedef mat< 4, 3, f32, mediumpmediump_fmat4x3
 
typedef mat< 4, 4, f32, mediumpmediump_fmat4x4
 
typedef mat< 2, 2, f32, highphighp_fmat2x2
 
typedef mat< 2, 3, f32, highphighp_fmat2x3
 
typedef mat< 2, 4, f32, highphighp_fmat2x4
 
typedef mat< 3, 2, f32, highphighp_fmat3x2
 
typedef mat< 3, 3, f32, highphighp_fmat3x3
 
typedef mat< 3, 4, f32, highphighp_fmat3x4
 
typedef mat< 4, 2, f32, highphighp_fmat4x2
 
typedef mat< 4, 3, f32, highphighp_fmat4x3
 
typedef mat< 4, 4, f32, highphighp_fmat4x4
 
typedef mat< 2, 2, f32, defaultp > fmat2x2
 
typedef mat< 3, 2, f32, defaultp > fmat3x2
 
typedef mat< 4, 2, f32, defaultp > fmat4x2
 
typedef mat< 2, 3, f32, defaultp > fmat2x3
 
typedef mat< 3, 3, f32, defaultp > fmat3x3
 
typedef mat< 4, 3, f32, defaultp > fmat4x3
 
typedef mat< 2, 4, f32, defaultp > fmat2x4
 
typedef mat< 3, 4, f32, defaultp > fmat3x4
 
typedef mat< 4, 4, f32, defaultp > fmat4x4
 
typedef mat< 2, 2, f32, lowplowp_f32mat2x2
 
typedef mat< 2, 3, f32, lowplowp_f32mat2x3
 
typedef mat< 2, 4, f32, lowplowp_f32mat2x4
 
typedef mat< 3, 2, f32, lowplowp_f32mat3x2
 
typedef mat< 3, 3, f32, lowplowp_f32mat3x3
 
typedef mat< 3, 4, f32, lowplowp_f32mat3x4
 
typedef mat< 4, 2, f32, lowplowp_f32mat4x2
 
typedef mat< 4, 3, f32, lowplowp_f32mat4x3
 
typedef mat< 4, 4, f32, lowplowp_f32mat4x4
 
typedef mat< 2, 2, f32, mediumpmediump_f32mat2x2
 
typedef mat< 2, 3, f32, mediumpmediump_f32mat2x3
 
typedef mat< 2, 4, f32, mediumpmediump_f32mat2x4
 
typedef mat< 3, 2, f32, mediumpmediump_f32mat3x2
 
typedef mat< 3, 3, f32, mediumpmediump_f32mat3x3
 
typedef mat< 3, 4, f32, mediumpmediump_f32mat3x4
 
typedef mat< 4, 2, f32, mediumpmediump_f32mat4x2
 
typedef mat< 4, 3, f32, mediumpmediump_f32mat4x3
 
typedef mat< 4, 4, f32, mediumpmediump_f32mat4x4
 
typedef mat< 2, 2, f32, highphighp_f32mat2x2
 
typedef mat< 2, 3, f32, highphighp_f32mat2x3
 
typedef mat< 2, 4, f32, highphighp_f32mat2x4
 
typedef mat< 3, 2, f32, highphighp_f32mat3x2
 
typedef mat< 3, 3, f32, highphighp_f32mat3x3
 
typedef mat< 3, 4, f32, highphighp_f32mat3x4
 
typedef mat< 4, 2, f32, highphighp_f32mat4x2
 
typedef mat< 4, 3, f32, highphighp_f32mat4x3
 
typedef mat< 4, 4, f32, highphighp_f32mat4x4
 
typedef mat< 2, 2, f32, defaultp > f32mat2x2
 
typedef mat< 3, 2, f32, defaultp > f32mat3x2
 
typedef mat< 4, 2, f32, defaultp > f32mat4x2
 
typedef mat< 2, 3, f32, defaultp > f32mat2x3
 
typedef mat< 3, 3, f32, defaultp > f32mat3x3
 
typedef mat< 4, 3, f32, defaultp > f32mat4x3
 
typedef mat< 2, 4, f32, defaultp > f32mat2x4
 
typedef mat< 3, 4, f32, defaultp > f32mat3x4
 
typedef mat< 4, 4, f32, defaultp > f32mat4x4
 
typedef mat< 2, 2, f64, lowplowp_f64mat2x2
 
typedef mat< 2, 3, f64, lowplowp_f64mat2x3
 
typedef mat< 2, 4, f64, lowplowp_f64mat2x4
 
typedef mat< 3, 2, f64, lowplowp_f64mat3x2
 
typedef mat< 3, 3, f64, lowplowp_f64mat3x3
 
typedef mat< 3, 4, f64, lowplowp_f64mat3x4
 
typedef mat< 4, 2, f64, lowplowp_f64mat4x2
 
typedef mat< 4, 3, f64, lowplowp_f64mat4x3
 
typedef mat< 4, 4, f64, lowplowp_f64mat4x4
 
typedef mat< 2, 2, f64, mediumpmediump_f64mat2x2
 
typedef mat< 2, 3, f64, mediumpmediump_f64mat2x3
 
typedef mat< 2, 4, f64, mediumpmediump_f64mat2x4
 
typedef mat< 3, 2, f64, mediumpmediump_f64mat3x2
 
typedef mat< 3, 3, f64, mediumpmediump_f64mat3x3
 
typedef mat< 3, 4, f64, mediumpmediump_f64mat3x4
 
typedef mat< 4, 2, f64, mediumpmediump_f64mat4x2
 
typedef mat< 4, 3, f64, mediumpmediump_f64mat4x3
 
typedef mat< 4, 4, f64, mediumpmediump_f64mat4x4
 
typedef mat< 2, 2, f64, highphighp_f64mat2x2
 
typedef mat< 2, 3, f64, highphighp_f64mat2x3
 
typedef mat< 2, 4, f64, highphighp_f64mat2x4
 
typedef mat< 3, 2, f64, highphighp_f64mat3x2
 
typedef mat< 3, 3, f64, highphighp_f64mat3x3
 
typedef mat< 3, 4, f64, highphighp_f64mat3x4
 
typedef mat< 4, 2, f64, highphighp_f64mat4x2
 
typedef mat< 4, 3, f64, highphighp_f64mat4x3
 
typedef mat< 4, 4, f64, highphighp_f64mat4x4
 
typedef mat< 2, 2, f64, defaultp > f64mat2x2
 
typedef mat< 3, 2, f64, defaultp > f64mat3x2
 
typedef mat< 4, 2, f64, defaultp > f64mat4x2
 
typedef mat< 2, 3, f64, defaultp > f64mat2x3
 
typedef mat< 3, 3, f64, defaultp > f64mat3x3
 
typedef mat< 4, 3, f64, defaultp > f64mat4x3
 
typedef mat< 2, 4, f64, defaultp > f64mat2x4
 
typedef mat< 3, 4, f64, defaultp > f64mat3x4
 
typedef mat< 4, 4, f64, defaultp > f64mat4x4
 
typedef qua< float, lowplowp_fquat
 
typedef qua< float, mediumpmediump_fquat
 
typedef qua< float, highphighp_fquat
 
typedef qua< float, defaultp > fquat
 
typedef qua< f32, lowplowp_f32quat
 
typedef qua< f32, mediumpmediump_f32quat
 
typedef qua< f32, highphighp_f32quat
 
typedef qua< f32, defaultp > f32quat
 
typedef qua< f64, lowplowp_f64quat
 
typedef qua< f64, mediumpmediump_f64quat
 
typedef qua< f64, highphighp_f64quat
 
typedef qua< f64, defaultp > f64quat
 
typedef mat< 2, 2, int, highphighp_imat2
 
typedef mat< 3, 3, int, highphighp_imat3
 
typedef mat< 4, 4, int, highphighp_imat4
 
typedef mat< 2, 2, int, highphighp_imat2x2
 
typedef mat< 2, 3, int, highphighp_imat2x3
 
typedef mat< 2, 4, int, highphighp_imat2x4
 
typedef mat< 3, 2, int, highphighp_imat3x2
 
typedef mat< 3, 3, int, highphighp_imat3x3
 
typedef mat< 3, 4, int, highphighp_imat3x4
 
typedef mat< 4, 2, int, highphighp_imat4x2
 
typedef mat< 4, 3, int, highphighp_imat4x3
 
typedef mat< 4, 4, int, highphighp_imat4x4
 
typedef mat< 2, 2, int, mediumpmediump_imat2
 
typedef mat< 3, 3, int, mediumpmediump_imat3
 
typedef mat< 4, 4, int, mediumpmediump_imat4
 
typedef mat< 2, 2, int, mediumpmediump_imat2x2
 
typedef mat< 2, 3, int, mediumpmediump_imat2x3
 
typedef mat< 2, 4, int, mediumpmediump_imat2x4
 
typedef mat< 3, 2, int, mediumpmediump_imat3x2
 
typedef mat< 3, 3, int, mediumpmediump_imat3x3
 
typedef mat< 3, 4, int, mediumpmediump_imat3x4
 
typedef mat< 4, 2, int, mediumpmediump_imat4x2
 
typedef mat< 4, 3, int, mediumpmediump_imat4x3
 
typedef mat< 4, 4, int, mediumpmediump_imat4x4
 
typedef mat< 2, 2, int, lowplowp_imat2
 
typedef mat< 3, 3, int, lowplowp_imat3
 
typedef mat< 4, 4, int, lowplowp_imat4
 
typedef mat< 2, 2, int, lowplowp_imat2x2
 
typedef mat< 2, 3, int, lowplowp_imat2x3
 
typedef mat< 2, 4, int, lowplowp_imat2x4
 
typedef mat< 3, 2, int, lowplowp_imat3x2
 
typedef mat< 3, 3, int, lowplowp_imat3x3
 
typedef mat< 3, 4, int, lowplowp_imat3x4
 
typedef mat< 4, 2, int, lowplowp_imat4x2
 
typedef mat< 4, 3, int, lowplowp_imat4x3
 
typedef mat< 4, 4, int, lowplowp_imat4x4
 
typedef mat< 2, 2, uint, highphighp_umat2
 
typedef mat< 3, 3, uint, highphighp_umat3
 
typedef mat< 4, 4, uint, highphighp_umat4
 
typedef mat< 2, 2, uint, highphighp_umat2x2
 
typedef mat< 2, 3, uint, highphighp_umat2x3
 
typedef mat< 2, 4, uint, highphighp_umat2x4
 
typedef mat< 3, 2, uint, highphighp_umat3x2
 
typedef mat< 3, 3, uint, highphighp_umat3x3
 
typedef mat< 3, 4, uint, highphighp_umat3x4
 
typedef mat< 4, 2, uint, highphighp_umat4x2
 
typedef mat< 4, 3, uint, highphighp_umat4x3
 
typedef mat< 4, 4, uint, highphighp_umat4x4
 
typedef mat< 2, 2, uint, mediumpmediump_umat2
 
typedef mat< 3, 3, uint, mediumpmediump_umat3
 
typedef mat< 4, 4, uint, mediumpmediump_umat4
 
typedef mat< 2, 2, uint, mediumpmediump_umat2x2
 
typedef mat< 2, 3, uint, mediumpmediump_umat2x3
 
typedef mat< 2, 4, uint, mediumpmediump_umat2x4
 
typedef mat< 3, 2, uint, mediumpmediump_umat3x2
 
typedef mat< 3, 3, uint, mediumpmediump_umat3x3
 
typedef mat< 3, 4, uint, mediumpmediump_umat3x4
 
typedef mat< 4, 2, uint, mediumpmediump_umat4x2
 
typedef mat< 4, 3, uint, mediumpmediump_umat4x3
 
typedef mat< 4, 4, uint, mediumpmediump_umat4x4
 
typedef mat< 2, 2, uint, lowplowp_umat2
 
typedef mat< 3, 3, uint, lowplowp_umat3
 
typedef mat< 4, 4, uint, lowplowp_umat4
 
typedef mat< 2, 2, uint, lowplowp_umat2x2
 
typedef mat< 2, 3, uint, lowplowp_umat2x3
 
typedef mat< 2, 4, uint, lowplowp_umat2x4
 
typedef mat< 3, 2, uint, lowplowp_umat3x2
 
typedef mat< 3, 3, uint, lowplowp_umat3x3
 
typedef mat< 3, 4, uint, lowplowp_umat3x4
 
typedef mat< 4, 2, uint, lowplowp_umat4x2
 
typedef mat< 4, 3, uint, lowplowp_umat4x3
 
typedef mat< 4, 4, uint, lowplowp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat3 imat3
 
typedef mediump_imat4 imat4
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat3 umat3
 
typedef mediump_umat4 umat4
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 
typedef vec< 1, float, aligned_highp > aligned_highp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, aligned_mediump > aligned_mediump_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, float, aligned_lowp > aligned_lowp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_highp > aligned_highp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_mediump > aligned_mediump_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_lowp > aligned_lowp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_highp > aligned_highp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 1, int, aligned_mediump > aligned_mediump_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 1, int, aligned_lowp > aligned_lowp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 1, uint, aligned_highp > aligned_highp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, uint, aligned_mediump > aligned_mediump_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, uint, aligned_lowp > aligned_lowp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, bool, aligned_highp > aligned_highp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 1, bool, aligned_mediump > aligned_mediump_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 1, bool, aligned_lowp > aligned_lowp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 1, float, packed_highppacked_highp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, packed_mediumppacked_mediump_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, float, packed_lowppacked_lowp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_highppacked_highp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_mediumppacked_mediump_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_lowppacked_lowp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_highppacked_highp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, int, packed_mediumppacked_mediump_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, int, packed_lowppacked_lowp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, uint, packed_highppacked_highp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, uint, packed_mediumppacked_mediump_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, uint, packed_lowppacked_lowp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, bool, packed_highppacked_highp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 1, bool, packed_mediumppacked_mediump_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 1, bool, packed_lowppacked_lowp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, float, aligned_highp > aligned_highp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_mediump > aligned_mediump_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_lowp > aligned_lowp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_highp > aligned_highp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_mediump > aligned_mediump_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_lowp > aligned_lowp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, int, aligned_highp > aligned_highp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_mediump > aligned_mediump_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_lowp > aligned_lowp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 2, uint, aligned_highp > aligned_highp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_mediump > aligned_mediump_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_lowp > aligned_lowp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, bool, aligned_highp > aligned_highp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_mediump > aligned_mediump_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_lowp > aligned_lowp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 2, float, packed_highppacked_highp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_mediumppacked_mediump_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_lowppacked_lowp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_highppacked_highp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_mediumppacked_mediump_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_lowppacked_lowp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, int, packed_highppacked_highp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_mediumppacked_mediump_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_lowppacked_lowp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, uint, packed_highppacked_highp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_mediumppacked_mediump_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_lowppacked_lowp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, bool, packed_highppacked_highp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_mediumppacked_mediump_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_lowppacked_lowp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, float, aligned_highp > aligned_highp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_mediump > aligned_mediump_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_lowp > aligned_lowp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_highp > aligned_highp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_mediump > aligned_mediump_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_lowp > aligned_lowp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, int, aligned_highp > aligned_highp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_mediump > aligned_mediump_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_lowp > aligned_lowp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, uint, aligned_highp > aligned_highp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_mediump > aligned_mediump_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_lowp > aligned_lowp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, bool, aligned_highp > aligned_highp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_mediump > aligned_mediump_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_lowp > aligned_lowp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 3, float, packed_highppacked_highp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_mediumppacked_mediump_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_lowppacked_lowp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_highppacked_highp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_mediumppacked_mediump_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_lowppacked_lowp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, int, packed_highppacked_highp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_mediumppacked_mediump_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_lowppacked_lowp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, uint, packed_highppacked_highp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_mediumppacked_mediump_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_lowppacked_lowp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, bool, packed_highppacked_highp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_mediumppacked_mediump_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_lowppacked_lowp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, float, aligned_highp > aligned_highp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_mediump > aligned_mediump_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_lowp > aligned_lowp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_highp > aligned_highp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_mediump > aligned_mediump_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_lowp > aligned_lowp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, int, aligned_highp > aligned_highp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_mediump > aligned_mediump_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_lowp > aligned_lowp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, uint, aligned_highp > aligned_highp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_mediump > aligned_mediump_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_lowp > aligned_lowp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, bool, aligned_highp > aligned_highp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_mediump > aligned_mediump_bvec4
 4 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_lowp > aligned_lowp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef vec< 4, float, packed_highppacked_highp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_mediumppacked_mediump_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_lowppacked_lowp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_highppacked_highp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_mediumppacked_mediump_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_lowppacked_lowp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, int, packed_highppacked_highp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_mediumppacked_mediump_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_lowppacked_lowp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, uint, packed_highppacked_highp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_mediumppacked_mediump_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_lowppacked_lowp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, bool, packed_highppacked_highp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_mediumppacked_mediump_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_lowppacked_lowp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_highppacked_highp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_mediumppacked_mediump_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_lowppacked_lowp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_highppacked_highp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_mediumppacked_mediump_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_lowppacked_lowp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highppacked_highp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediumppacked_mediump_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowppacked_lowp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highppacked_highp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediumppacked_mediump_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowppacked_lowp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highppacked_highp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediumppacked_mediump_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowppacked_lowp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highppacked_highp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediumppacked_mediump_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowppacked_lowp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_highppacked_highp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_mediumppacked_mediump_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_lowppacked_lowp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_highppacked_highp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_mediumppacked_mediump_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_lowppacked_lowp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_highp > aligned_highp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_mediump > aligned_mediump_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_lowp > aligned_lowp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_highp > aligned_highp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_mediump > aligned_mediump_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_lowp > aligned_lowp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_highppacked_highp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_mediumppacked_mediump_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_lowppacked_lowp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_highppacked_highp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_mediumppacked_mediump_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_lowppacked_lowp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_highp > aligned_highp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_mediump > aligned_mediump_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_lowp > aligned_lowp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_highp > aligned_highp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_mediump > aligned_mediump_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_lowp > aligned_lowp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_highppacked_highp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_mediumppacked_mediump_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_lowppacked_lowp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_highppacked_highp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_mediumppacked_mediump_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_lowppacked_lowp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_highp > aligned_highp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_mediump > aligned_mediump_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_lowp > aligned_lowp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_highp > aligned_highp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_mediump > aligned_mediump_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_lowp > aligned_lowp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_highppacked_highp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_mediumppacked_mediump_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_lowppacked_lowp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_highppacked_highp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_mediumppacked_mediump_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_lowppacked_lowp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highppacked_highp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediumppacked_mediump_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowppacked_lowp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highppacked_highp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediumppacked_mediump_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowppacked_lowp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_highp > aligned_highp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_mediump > aligned_mediump_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_lowp > aligned_lowp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_highp > aligned_highp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_mediump > aligned_mediump_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_lowp > aligned_lowp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_highppacked_highp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_mediumppacked_mediump_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_lowppacked_lowp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_highppacked_highp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_mediumppacked_mediump_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_lowppacked_lowp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_highp > aligned_highp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_mediump > aligned_mediump_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_lowp > aligned_lowp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_highp > aligned_highp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_mediump > aligned_mediump_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_lowp > aligned_lowp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_highppacked_highp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_mediumppacked_mediump_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_lowppacked_lowp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_highppacked_highp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_mediumppacked_mediump_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_lowppacked_lowp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_highp > aligned_highp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_mediump > aligned_mediump_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_lowp > aligned_lowp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_highp > aligned_highp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_mediump > aligned_mediump_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_lowp > aligned_lowp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_highppacked_highp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_mediumppacked_mediump_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_lowppacked_lowp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_highppacked_highp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_mediumppacked_mediump_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_lowppacked_lowp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highppacked_highp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediumppacked_mediump_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowppacked_lowp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highppacked_highp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediumppacked_mediump_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowppacked_lowp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef aligned_highp_vec1 aligned_vec1
 1 component vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec2 aligned_vec2
 2 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec3 aligned_vec3
 3 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec4 aligned_vec4
 4 components vector aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec1 packed_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec2 packed_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec3 packed_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec4 packed_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2 aligned_mat2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3 aligned_mat3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4 aligned_mat4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2 packed_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3 packed_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4 packed_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x2 aligned_mat2x2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x3 aligned_mat2x3
 2 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x4 aligned_mat2x4
 2 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x2 aligned_mat3x2
 3 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x3 aligned_mat3x3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x4 aligned_mat3x4
 3 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x2 aligned_mat4x2
 4 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x3 aligned_mat4x3
 4 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x4 aligned_mat4x4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x2 packed_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x3 packed_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x4 packed_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x2 packed_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x3 packed_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x4 packed_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x2 packed_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x3 packed_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x4 packed_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef aligned_highp_dvec1 aligned_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec2 aligned_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec3 aligned_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec4 aligned_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec1 packed_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec2 packed_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec3 packed_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec4 packed_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2 aligned_dmat2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3 aligned_dmat3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4 aligned_dmat4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2 packed_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3 packed_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4 packed_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x2 aligned_dmat2x2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x3 aligned_dmat2x3
 2 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x4 aligned_dmat2x4
 2 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x2 aligned_dmat3x2
 3 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x3 aligned_dmat3x3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x4 aligned_dmat3x4
 3 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x2 aligned_dmat4x2
 4 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x3 aligned_dmat4x3
 4 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x4 aligned_dmat4x4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x2 packed_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x3 packed_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x4 packed_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x2 packed_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x3 packed_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x4 packed_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x2 packed_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x3 packed_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x4 packed_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef aligned_highp_ivec1 aligned_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec2 aligned_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec3 aligned_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec4 aligned_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef packed_highp_ivec1 packed_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec2 packed_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec3 packed_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec4 packed_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef aligned_highp_uvec1 aligned_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec2 aligned_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec3 aligned_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec4 aligned_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef packed_highp_uvec1 packed_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec2 packed_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec3 packed_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec4 packed_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef aligned_highp_bvec1 aligned_bvec1
 1 component vector aligned in memory of bool values.
 
typedef aligned_highp_bvec2 aligned_bvec2
 2 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec3 aligned_bvec3
 3 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec4 aligned_bvec4
 4 components vector aligned in memory of bool values.
 
typedef packed_highp_bvec1 packed_bvec1
 1 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec2 packed_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec3 packed_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec4 packed_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef highp_float32_t f32
 
typedef highp_float64_t f64
 
typedef bool bool1
 boolean type with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, bool, highpbool2
 boolean type with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, bool, highpbool3
 boolean type with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, bool, highpbool4
 boolean type with 4 components. (From GLM_GTX_compatibility extension)
 
typedef bool bool1x1
 boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, bool, highpbool2x2
 boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, bool, highpbool2x3
 boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, bool, highpbool2x4
 boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, bool, highpbool3x2
 boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, bool, highpbool3x3
 boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, bool, highpbool3x4
 boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, bool, highpbool4x2
 boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, bool, highpbool4x3
 boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, bool, highpbool4x4
 boolean 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 vec< 2, int, highpint2
 integer vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, int, highpint3
 integer vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, int, highpint4
 integer vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef int int1x1
 integer matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, int, highpint2x2
 integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, int, highpint2x3
 integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, int, highpint2x4
 integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, int, highpint3x2
 integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, int, highpint3x3
 integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, int, highpint3x4
 integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, int, highpint4x2
 integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, int, highpint4x3
 integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, int, highpint4x4
 integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef float float1
 single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, float, highpfloat2
 single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, float, highpfloat3
 single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, float, highpfloat4
 single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef float float1x1
 single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, float, highpfloat2x2
 single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, float, highpfloat2x3
 single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, float, highpfloat2x4
 single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, float, highpfloat3x2
 single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, float, highpfloat3x3
 single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, float, highpfloat3x4
 single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, float, highpfloat4x2
 single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, float, highpfloat4x3
 single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, float, highpfloat4x4
 single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef double double1
 double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, double, highpdouble2
 double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, double, highpdouble3
 double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, double, highpdouble4
 double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef double double1x1
 double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, double, highpdouble2x2
 double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, double, highpdouble2x3
 double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, double, highpdouble2x4
 double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, double, highpdouble3x2
 double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, double, highpdouble3x3
 double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, double, highpdouble3x4
 double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, double, highpdouble4x2
 double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, double, highpdouble4x3
 double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, double, highpdouble4x4
 double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef tdualquat< float, lowplowp_dualquat
 
typedef tdualquat< float, mediumpmediump_dualquat
 
typedef tdualquat< float, highphighp_dualquat
 
typedef tdualquat< float, lowplowp_fdualquat
 
typedef tdualquat< float, mediumpmediump_fdualquat
 
typedef tdualquat< float, highphighp_fdualquat
 
typedef tdualquat< double, lowplowp_ddualquat
 
typedef tdualquat< double, mediumpmediump_ddualquat
 
typedef tdualquat< double, highphighp_ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef highp_ddualquat ddualquat
 
typedef signed int sint
 
typedef detail::uint8 byte
 
typedef detail::uint16 word
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
template<typename T , typename Vec >
using return_type_scalar_multiplication
 
typedef vec< 1, std::size_t, defaultp > size1
 
typedef vec< 2, std::size_t, defaultp > size2
 
typedef vec< 3, std::size_t, defaultp > size3
 
typedef vec< 4, std::size_t, defaultp > size4
 
typedef vec< 1, std::size_t, defaultp > size1_t
 
typedef vec< 2, std::size_t, defaultp > size2_t
 
typedef vec< 3, std::size_t, defaultp > size3_t
 
typedef vec< 4, std::size_t, defaultp > size4_t
 
typedef mat< 4, 4, float, defaultp > mat4x4
 
typedef mat< 4, 4, float, defaultp > mat4
 

Enumerations

enum  qualifier {
  packed_highp , packed_mediump , packed_lowp , highp = packed_highp ,
  mediump = packed_mediump , lowp = packed_lowp , packed = packed_highp , defaultp = highp
}
 Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp, mediump, highp) More...
 

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType abs (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floor (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > trunc (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > round (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundEven (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceil (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fract (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType min (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType max (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, U, Q > const &a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, U a)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (T edge, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > smoothstep (T edge0, T edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > smoothstep (vec< L, T, Q > const &edge0, vec< L, T, Q > const &edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isnan (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isinf (vec< L, T, Q > const &x)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt (vec< L, float, Q > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint (vec< L, float, Q > const &v)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat (vec< L, int, Q > const &v)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat (vec< L, uint, Q > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType frexp (genType x, int &exp)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > frexp (vec< L, T, Q > const &v, vec< L, int, Q > &exp)
 
template<typename genType >
GLM_FUNC_DECL genType ldexp (genType const &x, int const &exp)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ldexp (vec< L, T, Q > const &v, vec< L, int, Q > const &exp)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType min (genType x, genType y)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType max (genType x, genType y)
 
template<>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR int abs (int x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType round (genType x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType trunc (genType x)
 
template<typename genFIType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genFIType abs (genFIType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x)
 
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType sign (genFIType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sign (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > floor (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > trunc (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > round (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType roundEven (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > roundEven (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ceil (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fract (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fract (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType modf (genType x, genType &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, T, Q > modf (vec< 1, T, Q > const &x, vec< 1, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > modf (vec< 2, T, Q > const &x, vec< 2, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > modf (vec< 3, T, Q > const &x, vec< 3, T, Q > &i)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > modf (vec< 4, T, Q > const &x, vec< 4, T, Q > &i)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, T b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &a, T b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_QUALIFIER genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, U a)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mix (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, U, Q > const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType step (genType edge, genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > step (T edge, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType smoothstep (genType edge0, genType edge1, genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > smoothstep (T edge0, T edge1, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > smoothstep (vec< L, T, Q > const &edge0, vec< L, T, Q > const &edge1, vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isnan (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isnan (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isinf (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isinf (vec< L, T, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > floatBitsToInt (vec< L, float, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > floatBitsToUint (vec< L, float, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > intBitsToFloat (vec< L, int, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > uintBitsToFloat (vec< L, uint, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType frexp (genType x, int &exp)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > frexp (vec< L, T, Q > const &v, vec< L, int, Q > &exp)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ldexp (genType const &x, int const &exp)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ldexp (vec< L, T, Q > const &v, vec< L, int, Q > const &exp)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > pow (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > exp (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > log (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exp2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > exp2 (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType log2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > log2 (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sqrt (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType inversesqrt (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > inversesqrt (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType length (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T length (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType distance (genType const &p0, genType const &p1)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T distance (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 
template<typename T >
GLM_FUNC_QUALIFIER T dot (T x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T dot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > normalize (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > faceforward (vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType reflect (genType const &I, genType const &N)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > reflect (vec< L, T, Q > const &I, vec< L, T, Q > const &N)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType refract (genType const &I, genType const &N, genType eta)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > refract (vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
 
GLM_FUNC_QUALIFIER uint uaddCarry (uint const &x, uint const &y, uint &Carry)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &Carry)
 
GLM_FUNC_QUALIFIER uint usubBorrow (uint const &x, uint const &y, uint &Borrow)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &Borrow)
 
GLM_FUNC_QUALIFIER void umulExtended (uint const &x, uint const &y, uint &msb, uint &lsb)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER void umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
 
GLM_FUNC_QUALIFIER void imulExtended (int x, int y, int &msb, int &lsb)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER void imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldExtract (genIUType Value, int Offset, int Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int Offset, int Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldReverse (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldReverse (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int bitCount (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > bitCount (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findLSB (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > findLSB (vec< L, T, Q > const &x)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findMSB (genIUType v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > findMSB (vec< L, T, Q > const &v)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 
template<length_t DA, length_t DB, typename T , qualifier Q>
GLM_FUNC_QUALIFIER detail::outerProduct_trait< DA, DB, T, Q >::type outerProduct (vec< DA, T, Q > const &c, vec< DB, T, Q > const &r)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q >::transpose_type transpose (mat< C, R, T, Q > const &m)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T determinant (mat< C, R, T, Q > const &m)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > inverse (mat< C, R, T, Q > const &m)
 
GLM_FUNC_QUALIFIER uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_QUALIFIER vec2 unpackUnorm2x16 (uint p)
 
GLM_FUNC_QUALIFIER uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_QUALIFIER vec2 unpackSnorm2x16 (uint p)
 
GLM_FUNC_QUALIFIER uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_QUALIFIER vec4 unpackUnorm4x8 (uint p)
 
GLM_FUNC_QUALIFIER uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_QUALIFIER glm::vec4 unpackSnorm4x8 (uint p)
 
GLM_FUNC_QUALIFIER double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_QUALIFIER uvec2 unpackDouble2x32 (double v)
 
GLM_FUNC_QUALIFIER uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_QUALIFIER vec2 unpackHalf2x16 (uint v)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType radians (genType degrees)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > radians (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType degrees (genType radians)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > degrees (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sin (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > cos (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > tan (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asin (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acos (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType atan (genType y, genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > atan (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > atan (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sinh (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > cosh (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > tanh (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asinh (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asinh (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acosh (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acosh (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType atanh (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > atanh (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > lessThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > greaterThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool any (vec< L, bool, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool all (vec< L, bool, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > not_ (vec< L, bool, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::col_type operator* (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::row_type operator* (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator/ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::col_type operator/ (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q >::row_type operator/ (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator+ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator- (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::col_type operator* (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::row_type operator* (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 2, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator/ (T scalar, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::col_type operator/ (mat< 2, 2, T, Q > const &m, typename mat< 2, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q >::row_type operator/ (typename mat< 2, 2, T, Q >::col_type const &v, mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator/ (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 2, 2, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q >::col_type operator* (mat< 2, 3, T, Q > const &m, typename mat< 2, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q >::row_type operator* (typename mat< 2, 3, T, Q >::col_type const &v, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator/ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator/ (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator+ (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator- (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q >::col_type operator* (mat< 2, 3, T, Q > const &m, typename mat< 2, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q >::row_type operator* (typename mat< 2, 3, T, Q >::col_type const &v, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 2, 3, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator/ (mat< 2, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator/ (T scalar, mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 2, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q >::col_type operator* (mat< 2, 4, T, Q > const &m, typename mat< 2, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q >::row_type operator* (typename mat< 2, 4, T, Q >::col_type const &v, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator/ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator/ (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator+ (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator- (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q >::col_type operator* (mat< 2, 4, T, Q > const &m, typename mat< 2, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q >::row_type operator* (typename mat< 2, 4, T, Q >::col_type const &v, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 2, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 2, 4, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator/ (mat< 2, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator/ (T scalar, mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 2, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q >::col_type operator* (mat< 3, 2, T, Q > const &m, typename mat< 3, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q >::row_type operator* (typename mat< 3, 2, T, Q >::col_type const &v, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator/ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator/ (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator+ (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator- (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q >::col_type operator* (mat< 3, 2, T, Q > const &m, typename mat< 3, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q >::row_type operator* (typename mat< 3, 2, T, Q >::col_type const &v, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 3, 2, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator/ (mat< 3, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator/ (T scalar, mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 3, 2, T, Q > const &m1, mat< 3, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::col_type operator* (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::row_type operator* (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator/ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::col_type operator/ (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q >::row_type operator/ (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator+ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator- (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::col_type operator* (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::row_type operator* (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 3, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator/ (T scalar, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::col_type operator/ (mat< 3, 3, T, Q > const &m, typename mat< 3, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q >::row_type operator/ (typename mat< 3, 3, T, Q >::col_type const &v, mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator/ (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 3, 3, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q >::col_type operator* (mat< 3, 4, T, Q > const &m, typename mat< 3, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q >::row_type operator* (typename mat< 3, 4, T, Q >::col_type const &v, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator/ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator/ (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator+ (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator- (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q >::col_type operator* (mat< 3, 4, T, Q > const &m, typename mat< 3, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q >::row_type operator* (typename mat< 3, 4, T, Q >::col_type const &v, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 2, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 3, 4, T, Q > const &m1, mat< 3, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator/ (mat< 3, 4, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator/ (T scalar, mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 3, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q >::col_type operator* (mat< 4, 2, T, Q > const &m, typename mat< 4, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q >::row_type operator* (typename mat< 4, 2, T, Q >::col_type const &v, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator/ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > operator/ (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator+ (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator- (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q >::col_type operator* (mat< 4, 2, T, Q > const &m, typename mat< 4, 2, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q >::row_type operator* (typename mat< 4, 2, T, Q >::col_type const &v, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator* (mat< 4, 2, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator/ (mat< 4, 2, T, Q > const &m, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > operator/ (T scalar, mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 4, 2, T, Q > const &m1, mat< 4, 2, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q >::col_type operator* (mat< 4, 3, T, Q > const &m, typename mat< 4, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q >::row_type operator* (typename mat< 4, 3, T, Q >::col_type const &v, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator/ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > operator/ (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator+ (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator- (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q >::col_type operator* (mat< 4, 3, T, Q > const &m, typename mat< 4, 3, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q >::row_type operator* (typename mat< 4, 3, T, Q >::col_type const &v, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator* (mat< 4, 3, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator/ (mat< 4, 3, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > operator/ (T const &s, mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 4, 3, T, Q > const &m1, mat< 4, 3, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::col_type operator* (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::row_type operator* (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator/ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::col_type operator/ (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q >::row_type operator/ (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator+ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator- (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::col_type operator* (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::row_type operator* (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 2, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 3, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator* (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator/ (T const &s, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::col_type operator/ (mat< 4, 4, T, Q > const &m, typename mat< 4, 4, T, Q >::row_type const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q >::row_type operator/ (typename mat< 4, 4, T, Q >::col_type const &v, mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > operator/ (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator* (T const &s, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > operator/ (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator+ (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator- (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, qua< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator* (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator* (T const &s, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > operator/ (qua< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator* (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator/ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator% (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator& (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator& (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator& (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator| (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator^ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator<< (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator>> (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, T, Q > operator~ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, bool, Q > operator&& (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 1, bool, Q > operator|| (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator* (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator/ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator% (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator& (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator& (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator& (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator| (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator^ (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator<< (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator>> (T scalar, vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, T, Q > operator~ (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 1, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, bool, Q > operator&& (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 1, bool, Q > operator|| (vec< 1, bool, Q > const &v1, vec< 1, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator& (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, T, Q > operator~ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, bool, Q > operator&& (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 2, bool, Q > operator|| (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator+ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator- (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator* (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator/ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator% (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator& (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator& (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator| (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator^ (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator<< (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (T scalar, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator>> (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, T, Q > operator~ (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, bool, Q > operator&& (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 2, bool, Q > operator|| (vec< 2, bool, Q > const &v1, vec< 2, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 3, T, Q > const &v1, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator& (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, T, Q > operator~ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, bool, Q > operator&& (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 3, bool, Q > operator|| (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator+ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator- (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator* (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator/ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator% (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator& (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator& (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator| (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator^ (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator<< (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (T scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 1, T, Q > const &scalar, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator>> (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, T, Q > operator~ (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, bool, Q > operator&& (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 3, bool, Q > operator|| (vec< 3, bool, Q > const &v1, vec< 3, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator& (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, T, Q > operator~ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator== (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool operator!= (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, bool, Q > operator&& (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< 4, bool, Q > operator|| (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator+ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator- (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator* (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v, T const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator/ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 1, T, Q > const &scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator% (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 4, T, Q > const &v, vec< 1, T, Q > const &scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator& (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator& (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator| (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator^ (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator<< (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v, T scalar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v1, vec< 1, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (T scalar, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 1, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator>> (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, T, Q > operator~ (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator== (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!= (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, bool, Q > operator&& (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< 4, bool, Q > operator|| (vec< 4, bool, Q > const &v1, vec< 4, bool, Q > const &v2)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > pow (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp2 (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log2 (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sqrt (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > inversesqrt (vec< L, T, Q > const &v)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T zNear)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T zNear)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T zNear)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T zNear, T ep)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T zNear)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, mat< C, R, U, Q > const &a)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, U a)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, U a)
 
template<length_t C, length_t R, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > mix (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, mat< C, R, U, Q > const &a)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectZO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectNO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > project (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectZO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectNO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProject (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , qualifier Q, typename U >
GLM_FUNC_DECL mat< 4, 4, T, Q > pickMatrix (vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > projectZO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > projectNO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > project (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unProjectZO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unProjectNO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unProject (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 
template<typename T , qualifier Q, typename U >
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > pickMatrix (vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, T Epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, T, Q > const &Epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T Epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, T, Q > const &Epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, int MaxULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, int, Q > const &MaxULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int MaxULPs)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &a, mat< C, R, T, Q > const &b, vec< C, int, Q > const &MaxULPs)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType identity ()
 Builds an identity matrix.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtRH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtLH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAt (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType identity ()
 Builds an identity matrix.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > translate (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotate (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotate_slow (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scale (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scale_slow (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > lookAtRH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > lookAtLH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > lookAt (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > conjugate (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > inverse (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isnan (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isinf (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > conjugate (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > inverse (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isnan (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isinf (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > exp (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > log (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > pow (qua< T, Q > const &q, T y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > sqrt (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > exp (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > log (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > pow (qua< T, Q > const &x, T y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > sqrt (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > normalize (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T dot (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > cross (qua< T, Q > const &q1, qua< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T dot (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T length (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > normalize (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotate (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > rotate (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T angle (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > axis (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > angleAxis (T const &angle, vec< 3, T, Q > const &axis)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T angle (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > axis (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > angleAxis (T const &angle, vec< 3, T, Q > const &v)
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c)
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c, T d)
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c)
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c, T d)
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b)
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c)
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c, T d)
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b)
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C)
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C, T D)
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T a, T b, T c)
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T a, T b, T c, T d)
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T a, T b, T c)
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T a, T b, T c, T d)
 
template<typename T >
GLM_FUNC_QUALIFIER T fmin (T a, T b)
 
template<typename T >
GLM_FUNC_QUALIFIER T fmin (T a, T b, T c)
 
template<typename T >
GLM_FUNC_QUALIFIER T fmin (T a, T b, T c, T d)
 
template<typename T >
GLM_FUNC_QUALIFIER T fmax (T a, T b)
 
template<typename T >
GLM_FUNC_QUALIFIER T fmax (T a, T b, T c)
 
template<typename T >
GLM_FUNC_QUALIFIER T fmax (T a, T b, T c, T d)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon ()
 Return the epsilon constant for floating point types.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType pi ()
 Return the pi constant for floating point types.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType cos_one_over_two ()
 Return the value of cos(1 / 2) for floating point types.
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon ()
 Return the epsilon constant for floating point types.
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi ()
 Return the pi constant for floating point types.
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType cos_one_over_two ()
 Return the value of cos(1 / 2) for floating point types.
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextPowerOfTwo (genIUType v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevPowerOfTwo (genIUType v)
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType v, genIUType Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextMultiple (genIUType v, genIUType Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevMultiple (genIUType v, genIUType Multiple)
 
template<typename genIUType >
GLM_FUNC_DECL int findNSB (genIUType x, int significantBitCount)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER bool isPowerOfTwo (genIUType Value)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType nextPowerOfTwo (genIUType value)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType prevPowerOfTwo (genIUType value)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER bool isMultiple (genIUType Value, genIUType Multiple)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType nextMultiple (genIUType Source, genIUType Multiple)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType prevMultiple (genIUType Source, genIUType Multiple)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findNSB (genIUType x, int significantBitCount)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool equal (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool equal (genType const &x, genType const &y, int ULPs)
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, int ULPs)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal (genType const &x, genType const &y, int MaxULPs)
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, int ULPs)
 
template<typename genType >
GLM_FUNC_DECL genType nextFloat (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType prevFloat (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType nextFloat (genType x, int ULPs)
 
template<typename genType >
GLM_FUNC_DECL genType prevFloat (genType x, int ULPs)
 
GLM_FUNC_DECL int floatDistance (float x, float y)
 
GLM_FUNC_DECL int64 floatDistance (double x, double y)
 
template<>
GLM_FUNC_QUALIFIER float nextFloat (float x)
 
template<>
GLM_FUNC_QUALIFIER double nextFloat (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T nextFloat (T x, int ULPs)
 
GLM_FUNC_QUALIFIER float prevFloat (float x)
 
GLM_FUNC_QUALIFIER double prevFloat (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T prevFloat (T x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, T b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, T b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, T b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isPowerOfTwo (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextPowerOfTwo (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevPowerOfTwo (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, T Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, T Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, T Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isPowerOfTwo (vec< L, T, Q > const &Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextPowerOfTwo (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevPowerOfTwo (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isMultiple (vec< L, T, Q > const &Value, T Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isMultiple (vec< L, T, Q > const &Value, vec< L, T, Q > const &Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextMultiple (vec< L, T, Q > const &Source, T Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevMultiple (vec< L, T, Q > const &Source, T Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T Epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &Epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T Epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &Epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int MaxULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &MaxULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int MaxULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &MaxULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatDistance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > floatDistance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextFloat (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevFloat (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > floatDistance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int64, Q > floatDistance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T dot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > normalize (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > faceforward (vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > reflect (vec< L, T, Q > const &I, vec< L, T, Q > const &N)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > refract (vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mask (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateRight (vec< L, T, Q > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateLeft (vec< L, T, Q > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillOne (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillZero (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (u8vec2 const &v)
 
GLM_FUNC_DECL glm::u8vec2 bitfieldDeinterleave (glm::uint16 x)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (u16vec2 const &v)
 
GLM_FUNC_DECL glm::u16vec2 bitfieldDeinterleave (glm::uint32 x)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (u32vec2 const &v)
 
GLM_FUNC_DECL glm::u32vec2 bitfieldDeinterleave (glm::uint64 x)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType mask (genIUType Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mask (vec< L, T, Q > const &v)
 
template<typename genIType >
GLM_FUNC_QUALIFIER genIType bitfieldRotateRight (genIType In, int Shift)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldRotateRight (vec< L, T, Q > const &In, int Shift)
 
template<typename genIType >
GLM_FUNC_QUALIFIER genIType bitfieldRotateLeft (genIType In, int Shift)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldRotateLeft (vec< L, T, Q > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldFillOne (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > bitfieldFillZero (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (u8vec3 const &v)
 
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u16vec3 const &v)
 
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u32vec3 const &v)
 
GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (u8vec4 const &v)
 
GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u16vec4 const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear, T Gamma)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB, T Gamma)
 Convert a sRGB color to linear color using a custom gamma correction.
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear)
 
template<>
GLM_FUNC_QUALIFIER vec< 3, float, lowpconvertLinearToSRGB (vec< 3, float, lowp > const &ColorLinear)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear, T Gamma)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB, T Gamma)
 Convert a sRGB color to linear color using a custom gamma correction.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType zero ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType e ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType euler ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType third ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType zero ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType half_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType e ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType euler ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_three ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_five ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ten ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType third ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_thirds ()
 
template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType golden_ratio ()
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonEqual (float const &x, float const &y, float const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonEqual (double const &x, double const &y, double const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonNotEqual (float const &x, float const &y, float const &epsilon)
 
template<>
GLM_FUNC_QUALIFIER bool epsilonNotEqual (double const &x, double const &y, double const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > epsilonEqual (qua< T, Q > const &x, qua< T, Q > const &y, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > epsilonNotEqual (qua< T, Q > const &x, qua< T, Q > const &y, T const &epsilon)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > iround (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uround (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER int iround (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > iround (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER uint uround (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint, Q > uround (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType row (genType const &m, length_t index, typename genType::row_type const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType::row_type row (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType column (genType const &m, length_t index, typename genType::col_type const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType::col_type column (genType const &m, length_t index)
 
template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > affineInverse (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > affineInverse (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > inverseTranspose (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > inverseTranspose (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > inverseTranspose (mat< 4, 4, T, Q > const &m)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p, vec< L, T, Q > const &rep)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T simplex (vec< L, T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 2, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 3, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 4, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 2, T, Q > const &Position, vec< 2, T, Q > const &rep)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 3, T, Q > const &Position, vec< 3, T, Q > const &rep)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T perlin (vec< 4, T, Q > const &Position, vec< 4, T, Q > const &rep)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T simplex (glm::vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T simplex (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T simplex (vec< 4, T, Q > const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 p)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 
GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 
GLM_FUNC_DECL uint32 packF3x9_E1x5 (vec3 const &v)
 
GLM_FUNC_DECL vec3 unpackF3x9_E1x5 (uint32 p)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > packRGBM (vec< 3, T, Q > const &rgb)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unpackRGBM (vec< 4, T, Q > const &rgbm)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint16, Q > packHalf (vec< L, float, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > unpackHalf (vec< L, uint16, Q > const &p)
 
template<typename uintType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, uintType, Q > packUnorm (vec< L, floatType, Q > const &v)
 
template<typename floatType , length_t L, typename uintType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackUnorm (vec< L, uintType, Q > const &v)
 
template<typename intType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, intType, Q > packSnorm (vec< L, floatType, Q > const &v)
 
template<typename floatType , length_t L, typename intType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackSnorm (vec< L, intType, Q > const &v)
 
GLM_FUNC_DECL uint8 packUnorm2x4 (vec2 const &v)
 
GLM_FUNC_DECL vec2 unpackUnorm2x4 (uint8 p)
 
GLM_FUNC_DECL uint16 packUnorm4x4 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackUnorm4x4 (uint16 p)
 
GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5 (vec3 const &v)
 
GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5 (uint16 p)
 
GLM_FUNC_DECL uint16 packUnorm3x5_1x1 (vec4 const &v)
 
GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1 (uint16 p)
 
GLM_FUNC_DECL uint8 packUnorm2x3_1x2 (vec3 const &v)
 
GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2 (uint8 p)
 
GLM_FUNC_DECL int16 packInt2x8 (i8vec2 const &v)
 
GLM_FUNC_DECL i8vec2 unpackInt2x8 (int16 p)
 
GLM_FUNC_DECL uint16 packUint2x8 (u8vec2 const &v)
 
GLM_FUNC_DECL u8vec2 unpackUint2x8 (uint16 p)
 
GLM_FUNC_DECL int32 packInt4x8 (i8vec4 const &v)
 
GLM_FUNC_DECL i8vec4 unpackInt4x8 (int32 p)
 
GLM_FUNC_DECL uint32 packUint4x8 (u8vec4 const &v)
 
GLM_FUNC_DECL u8vec4 unpackUint4x8 (uint32 p)
 
GLM_FUNC_DECL int packInt2x16 (i16vec2 const &v)
 
GLM_FUNC_DECL i16vec2 unpackInt2x16 (int p)
 
GLM_FUNC_DECL int64 packInt4x16 (i16vec4 const &v)
 
GLM_FUNC_DECL i16vec4 unpackInt4x16 (int64 p)
 
GLM_FUNC_DECL uint packUint2x16 (u16vec2 const &v)
 
GLM_FUNC_DECL u16vec2 unpackUint2x16 (uint p)
 
GLM_FUNC_DECL uint64 packUint4x16 (u16vec4 const &v)
 
GLM_FUNC_DECL u16vec4 unpackUint4x16 (uint64 p)
 
GLM_FUNC_DECL int64 packInt2x32 (i32vec2 const &v)
 
GLM_FUNC_DECL i32vec2 unpackInt2x32 (int64 p)
 
GLM_FUNC_DECL uint64 packUint2x32 (u32vec2 const &v)
 
GLM_FUNC_DECL u32vec2 unpackUint2x32 (uint64 p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > packRGBM (vec< 3, T, Q > const &rgb)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > unpackRGBM (vec< 4, T, Q > const &rgbm)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uint16, Q > packHalf (vec< L, float, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > unpackHalf (vec< L, uint16, Q > const &v)
 
template<typename uintType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, uintType, Q > packUnorm (vec< L, floatType, Q > const &v)
 
template<typename floatType , length_t L, typename uintType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, floatType, Q > unpackUnorm (vec< L, uintType, Q > const &v)
 
template<typename intType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, intType, Q > packSnorm (vec< L, floatType, Q > const &v)
 
template<typename floatType , length_t L, typename intType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, floatType, Q > unpackSnorm (vec< L, intType, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > eulerAngles (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T roll (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T pitch (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T yaw (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 3, 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 4, 4, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThan (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThan (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > eulerAngles (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T roll (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T pitch (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T yaw (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > mat3_cast (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > mat4_cast (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quat_cast (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quat_cast (mat< 4, 4, T, Q > const &m4)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > lessThan (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > lessThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > greaterThan (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > greaterThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType Min, genType Max)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > linearRand (vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > circularRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > sphericalRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > diskRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > ballRand (T Radius)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType linearRand (genType Min, genType Max)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > linearRand (vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType gaussRand (genType Mean, genType Deviation)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > gaussRand (vec< L, T, Q > const &Mean, vec< L, T, Q > const &Deviation)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 2, T, defaultp > diskRand (T Radius)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 3, T, defaultp > ballRand (T Radius)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 2, T, defaultp > circularRand (T Radius)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 3, T, defaultp > sphericalRand (T Radius)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType angle)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType angle)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType acot (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType angle)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sec (genType angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sec (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType csc (genType angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > csc (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cot (genType angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > cot (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asec (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asec (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acsc (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acsc (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acot (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acot (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sech (genType angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > sech (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType csch (genType angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > csch (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType coth (genType angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > coth (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asech (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > asech (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acsch (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acsch (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acoth (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > acoth (vec< L, T, Q > const &x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilPowerOfTwo (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorPowerOfTwo (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundPowerOfTwo (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType v, genType Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType v, genType Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType v, genType Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ceilPowerOfTwo (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ceilPowerOfTwo (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType floorPowerOfTwo (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > floorPowerOfTwo (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType roundPowerOfTwo (genIUType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > roundPowerOfTwo (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ceilMultiple (genType Source, genType Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > ceilMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType floorMultiple (genType Source, genType Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > floorMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType roundMultiple (genType Source, genType Multiple)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > roundMultiple (vec< L, T, Q > const &Source, vec< L, T, Q > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 4, T, Q > const &v)
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL vec< 4, T, defaultp > make_vec4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 2, 3, T, defaultp > make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 2, 4, T, defaultp > make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 3, 2, T, defaultp > make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 3, 4, T, defaultp > make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 2, T, defaultp > make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 3, T, defaultp > make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL qua< T, defaultp > make_quat (T const *const ptr)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 2, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 3, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 4, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 2, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 2, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 3, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 3, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 2, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 2, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 4, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 4, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 3, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 3, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (mat< 4, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (mat< 4, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T const * value_ptr (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T * value_ptr (qua< T, Q > &q)
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 1, T, Q > make_vec1 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 2, T, Q > make_vec2 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 3, T, Q > make_vec3 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
vec< 4, T, Q > make_vec4 (vec< 4, T, Q > const &v)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 2, T, defaultp > make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 3, T, defaultp > make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER vec< 4, T, defaultp > make_vec4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 2, T, defaultp > make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 3, T, defaultp > make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 4, T, defaultp > make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 2, T, defaultp > make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 3, T, defaultp > make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 4, T, defaultp > make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 2, T, defaultp > make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 3, T, defaultp > make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 2, T, defaultp > make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 3, T, defaultp > make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER qua< T, defaultp > make_quat (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType x, int ULPs)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType x, int ULPs)
 
GLM_FUNC_DECL int float_distance (float x, float y)
 
GLM_FUNC_DECL int64 float_distance (double x, double y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > float_distance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > float_distance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 
template<>
GLM_FUNC_QUALIFIER float next_float (float x)
 
template<>
GLM_FUNC_QUALIFIER double next_float (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T next_float (T x, int ULPs)
 
GLM_FUNC_QUALIFIER float prev_float (float x)
 
GLM_FUNC_QUALIFIER double prev_float (double x)
 
template<typename T >
GLM_FUNC_QUALIFIER T prev_float (T x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > next_float (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > next_float (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > next_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prev_float (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prev_float (vec< L, T, Q > const &x, int ULPs)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > prev_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int, Q > float_distance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 
template<length_t L, qualifier Q>
GLM_FUNC_QUALIFIER vec< L, int64, Q > float_distance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER U associatedMin (T x, U a, T y, U b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMin (T x, U a, T y, U b, T z, U c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMax (T x, U a, T y, U b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMax (T x, U a, T y, U b, T z, U c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIER U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType lowestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > highestBitValue (vec< L, T, Q > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoAbove (vec< L, T, Q > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoBelow (vec< L, T, Q > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoNearest (vec< L, T, Q > const &value)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType highestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > highestBitValue (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType lowestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > lowestBitValue (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoAbove (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > powerOfTwoAbove (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoBelow (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > powerOfTwoBelow (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoNearest (genType value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > powerOfTwoNearest (vec< L, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > closestPointOnLine (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > closestPointOnLine (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
 2d lines work as well
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > closestPointOnLine (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > closestPointOnLine (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
 2d lines work as well
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD65XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D65 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD50XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToLinearSRGB (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to linear sRGB.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToD50XYZ (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertLinearSRGBToD65XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D65 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertLinearSRGBToD50XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertD65XYZToLinearSRGB (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to linear sRGB.
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > convertD65XYZToD50XYZ (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgbColor (vec< 3, T, Q > const &hsvValue)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > hsvColor (vec< 3, T, Q > const &rgbValue)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > saturation (T const s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > saturation (T const s, vec< 3, T, Q > const &color)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > saturation (T const s, vec< 4, T, Q > const &color)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T luminosity (vec< 3, T, Q > const &color)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rgbColor (const vec< 3, T, Q > &hsvColor)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > hsvColor (const vec< 3, T, Q > &rgbColor)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > saturation (T const s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > saturation (const T s, const vec< 3, T, Q > &color)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturation (const T s, const vec< 4, T, Q > &color)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T luminosity (const vec< 3, T, Q > &color)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCg (vec< 3, T, Q > const &rgbColor)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCg2rgb (vec< 3, T, Q > const &YCoCgColor)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCgR (vec< 3, T, Q > const &rgbColor)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCgR2rgb (vec< 3, T, Q > const &YCoCgColor)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rgb2YCoCg (vec< 3, T, Q > const &rgbColor)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > YCoCg2rgb (vec< 3, T, Q > const &YCoCgColor)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rgb2YCoCgR (vec< 3, T, Q > const &rgbColor)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > YCoCgR2rgb (vec< 3, T, Q > const &YCoCgRColor)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmod (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > openBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > closeBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 
template<typename T >
GLM_FUNC_QUALIFIER bool isdenormal (T const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, T, Q >::bool_type isdenormal (vec< 1, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q >::bool_type isdenormal (vec< 2, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q >::bool_type isdenormal (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q >::bool_type isdenormal (vec< 4, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fmod (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmod (vec< L, T, Q > const &x, T y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fmod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > openBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > closeBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 
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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER T saturate (T x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > saturate (const vec< 2, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > saturate (const vec< 3, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturate (const vec< 4, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > atan2 (const vec< 2, T, Q > &x, const vec< 2, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > atan2 (const vec< 3, T, Q > &x, const vec< 3, T, Q > &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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > atan2 (const vec< 4, T, Q > &x, const vec< 4, T, Q > &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 , qualifier Q>
GLM_FUNC_DECL vec< 1, bool, Q > isfinite (const vec< 1, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, bool, Q > isfinite (const vec< 2, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, bool, Q > isfinite (const vec< 3, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isfinite (const vec< 4, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename genType >
GLM_FUNC_QUALIFIER 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 , qualifier Q>
GLM_FUNC_QUALIFIER vec< 1, bool, Q > isfinite (vec< 1, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, bool, Q > isfinite (vec< 2, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, bool, Q > isfinite (vec< 3, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isfinite (vec< 4, T, Q > const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename floatType , length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > compNormalize (vec< L, T, Q > const &v)
 
template<length_t L, typename T , typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > compScale (vec< L, floatType, Q > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 
template<typename floatType , length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, floatType, Q > compNormalize (vec< L, T, Q > const &v)
 
template<typename T , length_t L, typename floatType , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > compScale (vec< L, floatType, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compAdd (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compMul (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compMin (vec< L, T, Q > const &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T compMax (vec< L, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator- (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q, tdualquat< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator* (tdualquat< T, Q > const &q, tdualquat< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > operator* (tdualquat< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > operator* (tdualquat< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator* (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator* (T const &s, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > operator/ (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator== (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool operator!= (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dual_quat_identity ()
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > normalize (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > inverse (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > mat2x4_cast (tdualquat< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > mat3x4_cast (tdualquat< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 2, 4, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 3, 4, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator- (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator+ (tdualquat< T, Q > const &q, tdualquat< T, Q > const &p)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator* (tdualquat< T, Q > const &p, tdualquat< T, Q > const &o)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > operator* (tdualquat< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > operator* (vec< 3, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > operator* (tdualquat< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > operator* (vec< 4, T, Q > const &v, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator* (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator* (T const &s, tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > operator/ (tdualquat< T, Q > const &q, T const &s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator== (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool operator!= (tdualquat< T, Q > const &q1, tdualquat< T, Q > const &q2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > dual_quat_identity ()
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > normalize (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > inverse (tdualquat< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > mat2x4_cast (tdualquat< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > mat3x4_cast (tdualquat< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > dualquat_cast (mat< 2, 4, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER tdualquat< T, Q > dualquat_cast (mat< 3, 4, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType linearInterpolation (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseIn (genType const &a)
 Modelled after the cubic y = x^3.
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType linearInterpolation (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quadraticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quadraticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quadraticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubicEaseIn (genType const &a)
 Modelled after the cubic y = x^3.
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubicEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubicEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quinticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quinticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quinticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sineEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sineEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sineEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType circularEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType circularEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType circularEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exponentialEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exponentialEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exponentialEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType elasticEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType elasticEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType elasticEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseIn (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseInOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType backEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bounceEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bounceEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bounceEaseInOut (genType const &a)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > orientate3 (T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3 (vec< 3, T, Q > const &angles)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4 (vec< 3, T, Q > const &angles)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZX (T const &angleZ, T const &angleX)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXZX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXYX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYXY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYZY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleXZY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleYZX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZYX (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > eulerAngleZXY (T const &t1, T const &t2, T const &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 4, 4, T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 2, 2, T, defaultp > orientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_QUALIFIER mat< 3, 3, T, defaultp > orientate3 (T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > orientate3 (vec< 3, T, Q > const &angles)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > orientate4 (vec< 3, T, Q > const &angles)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename T >
GLM_FUNC_QUALIFIER void extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType extend (genType const &Origin, genType const &Source, genType const &Distance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > extend (vec< 2, T, Q > const &Origin, vec< 2, T, Q > const &Source, T const &Distance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > extend (vec< 3, T, Q > const &Origin, vec< 3, T, Q > const &Source, T const &Distance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > extend (vec< 4, T, Q > const &Origin, vec< 4, T, Q > const &Source, T const &Distance)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename genType >
GLM_FUNC_DECL genType fmin (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType fmax (genType x, genType y)
 
template<typename genType >
GLM_FUNC_DECL genType fclamp (genType x, genType minVal, genType maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_QUALIFIER T min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
GLM_FUNC_QUALIFIER T max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
GLM_FUNC_QUALIFIER C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fmin (genType x, genType y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fmax (genType x, genType y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fclamp (genType x, genType minVal, genType maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fclamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fclamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T cross (vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T cross (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp2 (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog2 (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastPow (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastPow (T x, int y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, int, Q > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastExp (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastExp (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLog (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastLog (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastExp2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastExp2 (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLog2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastLog2 (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastSqrt (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastInverseSqrt (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastLength (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastDistance (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastSqrt (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastSqrt (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastInverseSqrt (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastInverseSqrt (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLength (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T fastLength (vec< L, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastDistance (genType x, genType y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T fastDistance (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastNormalize (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastNormalize (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 
template<typename T >
GLM_FUNC_QUALIFIER T wrapAngle (T angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > wrapAngle (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastCos (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastCos (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastSin (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastSin (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastTan (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastTan (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAsin (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAsin (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAcos (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAcos (vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAtan (T y, T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAtan (vec< L, T, Q > const &y, vec< L, T, Q > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER T fastAtan (T x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > fastAtan (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, float, Q > floatNormalize (vec< L, T, Q > const &v)
 
template<typename T >
GLM_FUNC_DECL T gauss (T x, T ExpectedValue, T StandardDeviation)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T gauss (vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
 
template<typename T >
GLM_FUNC_QUALIFIER T gauss (T x, T ExpectedValue, T StandardDeviation)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T gauss (vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T radialGradient (vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T linearGradient (vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T radialGradient (vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T linearGradient (vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool rightHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool leftHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool rightHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool leftHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 
GLM_FUNC_DECL int pow (int x, uint y)
 
GLM_FUNC_DECL int sqrt (int x)
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 
GLM_FUNC_DECL int mod (int x, int y)
 
template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 
GLM_FUNC_DECL uint sqrt (uint x)
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 
GLM_FUNC_DECL uint nlz (uint x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType factorial (genType const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > factorial (vec< 2, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > factorial (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > factorial (vec< 4, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &v0, vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 2, T, Q > &baryPosition, T &distance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &vert0, vec< 3, T, Q > const &vert1, vec< 3, T, Q > const &vert2, vec< 2, T, Q > &baryPosition, T &distance)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPoint1, genType &intersectionNormal1, genType &intersectionPoint2, genType &intersectionNormal2)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, qua< T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 1, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, vec< 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 2, 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 2, 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 2, 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 3, 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 3, 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 3, 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 4, 2, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 4, 3, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, mat< 4, 4, T, Q > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, std::pair< mat< 4, 4, T, Q > const, mat< 4, 4, T, Q > const > const &)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, qua< T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 1, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, vec< 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 2, 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 2, 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 2, 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 3, 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 3, 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 3, 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 4, 2, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 4, 3, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, mat< 4, 4, T, Q > const &a)
 
template<typename CTy , typename CTr , typename T , qualifier Q>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, std::pair< mat< 4, 4, T, Q > const, mat< 4, 4, T, Q > const > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType const &x, genType const &base)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x, vec< L, T, Q > const &base)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType log (genType const &x, genType const &base)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > log (vec< L, T, Q > const &x, vec< L, T, Q > const &base)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > matrixCross3 (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > matrixCross4 (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > matrixCross3 (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > matrixCross4 (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool decompose (mat< 4, 4, T, Q > const &modelMatrix, vec< 3, T, Q > &scale, qua< T, Q > &orientation, vec< 3, T, Q > &translation, vec< 3, T, Q > &skew, vec< 4, T, Q > &perspective)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool decompose (mat< 4, 4, T, Q > const &ModelMatrix, vec< 3, T, Q > &Scale, qua< T, Q > &Orientation, vec< 3, T, Q > &Translation, vec< 3, T, Q > &Skew, vec< 4, T, Q > &Perspective)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > flipud (mat< C, R, T, Q > const &in)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > fliplr (mat< C, R, T, Q > const &in)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void qr_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &q, mat< C,(C< R ? C :R), T, Q > &r)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void rq_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &r, mat< C,(C< R ? C :R), T, Q > &q)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > flipud (mat< C, R, T, Q > const &in)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< C, R, T, Q > fliplr (mat< C, R, T, Q > const &in)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER void qr_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &q, mat< C,(C< R ? C :R), T, Q > &r)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER void rq_decompose (mat< C, R, T, Q > const &in, mat<(C< R ? C :R), R, T, Q > &r, mat< C,(C< R ? C :R), T, Q > &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL void axisAngle (mat< 4, 4, T, Q > const &Mat, vec< 3, T, Q > &Axis, T &Angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > axisAngleMatrix (vec< 3, T, Q > const &Axis, T const Angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > extractMatrixRotation (mat< 4, 4, T, Q > const &Mat)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > interpolate (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const Delta)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER void axisAngle (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > &axis, T &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > axisAngleMatrix (vec< 3, T, Q > const &axis, T const angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > extractMatrixRotation (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > interpolate (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const delta)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > rowMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > rowMajor2 (const mat< 2, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rowMajor3 (const vec< 3, T, Q > &v1, const vec< 3, T, Q > &v2, const vec< 3, T, Q > &v3)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rowMajor3 (const mat< 3, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rowMajor4 (const vec< 4, T, Q > &v1, const vec< 4, T, Q > &v2, const vec< 4, T, Q > &v3, const vec< 4, T, Q > &v4)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rowMajor4 (const mat< 4, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > colMajor2 (const vec< 2, T, Q > &v1, const vec< 2, T, Q > &v2)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > colMajor2 (const mat< 2, 2, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > colMajor3 (const vec< 3, T, Q > &v1, const vec< 3, T, Q > &v2, const vec< 3, T, Q > &v3)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > colMajor3 (const mat< 3, 3, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > colMajor4 (const vec< 4, T, Q > &v1, const vec< 4, T, Q > &v2, const vec< 4, T, Q > &v3, const vec< 4, T, Q > &v4)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > colMajor4 (const mat< 4, 4, T, Q > &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > adjugate (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > adjugate (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > adjugate (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > diagonal2x2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 3, T, Q > diagonal2x3 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 4, T, Q > diagonal2x4 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 2, T, Q > diagonal3x2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > diagonal3x3 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 4, T, Q > diagonal3x4 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > diagonal4x4 (vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 3, T, Q > diagonal4x3 (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 2, T, Q > diagonal4x2 (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 2, 2, T, Q > adjugate (mat< 2, 2, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > adjugate (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > adjugate (mat< 4, 4, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 2, 2, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 3, 3, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 4, 4, T, Q > const &m, T const &epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isIdentity (matType< C, R, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 2, 2, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 3, 3, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 4, 4, T, Q > const &m, T const &epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< C, R, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (mat< 2, 2, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (mat< 3, 3, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (mat< 4, 4, T, Q > const &m, T const &epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isIdentity (mat< C, R, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (mat< 2, 2, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (mat< 3, 3, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (mat< 4, 4, T, Q > const &m, T const &epsilon)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isOrthogonal (mat< C, R, T, Q > const &m, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > translate (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rotate (mat< 3, 3, T, Q > const &m, T angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > scale (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX (mat< 3, 3, T, Q > const &m, T y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY (mat< 3, 3, T, Q > const &m, T x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T mixedProduct (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T mixedProduct (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length2 (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance2 (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, unsigned int Depth)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType length2 (genType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T length2 (vec< L, T, Q > const &v)
 
template<typename T >
GLM_FUNC_QUALIFIER T distance2 (T p0, T p1)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T distance2 (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l1Norm (vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l1Norm (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l2Norm (vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T l2Norm (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lxNorm (vec< 3, T, Q > const &v, unsigned int Depth)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lMaxNorm (vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T lMaxNorm (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > triangleNormal (vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > triangleNormal (vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T normalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastNormalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T normalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T fastNormalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pow2 (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pow3 (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pow4 (genType const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orthonormalize (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > orthonormalize (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > orthonormalize (mat< 3, 3, T, Q > const &m)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > orthonormalize (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType perp (genType const &x, genType const &Normal)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType perp (genType const &x, genType const &Normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > polar (vec< 3, T, Q > const &euclidean)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > euclidean (vec< 2, T, Q > const &polar)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > polar (vec< 3, T, Q > const &euclidean)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > euclidean (vec< 2, T, Q > const &polar)
 
template<typename genType >
GLM_FUNC_DECL genType proj (genType const &x, genType const &Normal)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType proj (genType const &x, genType const &Normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > quat_identity ()
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > squad (qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T extractRealComponent (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3 (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4 (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 3, 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 4, 4, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR T length2 (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua< T, Q > quat_identity ()
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > squad (qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T extractRealComponent (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T length2 (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 
template<typename T , qualifier Q>
length_t components (vec< 1, T, Q > const &v)
 
template<typename T , qualifier Q>
length_t components (vec< 2, T, Q > const &v)
 
template<typename T , qualifier Q>
length_t components (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
length_t components (vec< 4, T, Q > const &v)
 
template<typename genType >
length_t components (genType const &m)
 
template<typename genType >
genType::value_type const * begin (genType const &v)
 
template<typename genType >
genType::value_type const * end (genType const &v)
 
template<typename genType >
genType::value_type * begin (genType &v)
 
template<typename genType >
genType::value_type * end (genType &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotateNormalizedAxis (mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotateNormalizedAxis (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotateNormalizedAxis (mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > rotateNormalizedAxis (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 
template<typename T >
GLM_FUNC_QUALIFIER bool lessThan (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool lessThanEqual (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool greaterThan (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool greaterThanEqual (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool equal (T const &x, T const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER bool notEqual (T const &x, T const &y)
 
GLM_FUNC_QUALIFIER bool any (bool const &x)
 
GLM_FUNC_QUALIFIER bool all (bool const &x)
 
GLM_FUNC_QUALIFIER bool not_ (bool const &x)
 
template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL std::string to_string (genType const &x)
 
template<class matType >
GLM_FUNC_QUALIFIER std::string to_string (matType const &x)
 
template<length_t L, typename T , qualifier Q>
levels (vec< L, T, Q > const &Extent)
 
template<typename T >
levels (T Extent)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (T angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > translate (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > rotate (T angle, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scale (vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearX2D (mat< 3, 3, T, Q > const &m, T y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearY2D (mat< 3, 3, T, Q > const &m, T x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearX3D (mat< 4, 4, T, Q > const &m, T y, T z)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearY3D (mat< 4, 4, T, Q > const &m, T x, T z)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearZ3D (mat< 4, 4, T, Q > const &m, T x, T y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > proj2D (mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > proj3D (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (T scale, T bias)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (mat< 4, 4, T, Q > const &m, T scale, T bias)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX2D (mat< 3, 3, T, Q > const &m, T s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY2D (mat< 3, 3, T, Q > const &m, T s)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > shearX3D (mat< 4, 4, T, Q > const &m, T s, T t)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > shearY3D (mat< 4, 4, T, Q > const &m, T s, T t)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > shearZ3D (mat< 4, 4, T, Q > const &m, T s, T t)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > reflect2D (mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > reflect3D (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > proj2D (const mat< 3, 3, T, Q > &m, const vec< 3, T, Q > &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > proj3D (const mat< 4, 4, T, Q > &m, const vec< 3, T, Q > &normal)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scaleBias (T scale, T bias)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 4, 4, T, Q > scaleBias (mat< 4, 4, T, Q > const &m, T scale, T bias)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_fquat, 16)
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 1, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > xw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > yw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > zw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > wx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > wy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > wz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 2, T, Q > ww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 1, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > xww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > ywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > ywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > ywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > yww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > zww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > wwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 3, T, Q > www (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 1, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > xwww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyx (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyy (const glm::vec< 2, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > yzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > ywww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzx (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzy (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzz (const glm::vec< 3, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > zwww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wxww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wywx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wywy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wywz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wyww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wzww (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwxw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwyw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwzw (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwwx (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwwy (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwwz (const glm::vec< 4, T, Q > &v)
 
template<typename T , qualifier Q>
GLM_INLINE glm::vec< 4, T, Q > wwww (const glm::vec< 4, T, Q > &v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T angle (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType angle (genType const &x, genType const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER T angle (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T orientedAngle (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T orientedAngle (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areCollinear (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthogonal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (vec< L, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (vec< L, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isCompNull (vec< L, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthonormal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool areCollinear (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool areOrthogonal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNormalized (vec< L, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool isNull (vec< L, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, bool, Q > isCompNull (vec< L, T, Q > const &v, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, bool, Q > isCompNull (vec< 2, T, Q > const &v, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, bool, Q > isCompNull (vec< 3, T, Q > const &v, T const &epsilon)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, bool, Q > isCompNull (vec< 4, T, Q > const &v, T const &epsilon)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER bool areOrthonormal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorClamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > clamp (vec< L, T, Q > const &Texcoord)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType clamp (genType const &Texcoord)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > repeat (vec< L, T, Q > const &Texcoord)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType repeat (genType const &Texcoord)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mirrorClamp (vec< L, T, Q > const &Texcoord)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mirrorClamp (genType const &Texcoord)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > mirrorRepeat (vec< L, T, Q > const &Texcoord)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mirrorRepeat (genType const &Texcoord)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &carry)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &borrow)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldReverse (vec< L, T, Q > const &v)
 
template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > bitCount (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findLSB (vec< L, T, Q > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findMSB (vec< L, T, Q > const &v)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type outerProduct (vec< C, T, Q > const &c, vec< R, T, Q > const &r)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type transpose (mat< C, R, T, Q > const &x)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL T determinant (mat< C, R, T, Q > const &m)
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > inverse (mat< C, R, T, Q > const &m)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > radians (vec< L, T, Q > const &degrees)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > degrees (vec< L, T, Q > const &radians)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sin (vec< L, T, Q > const &angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cos (vec< L, T, Q > const &angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tan (vec< L, T, Q > const &angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asin (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acos (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y, vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y_over_x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sinh (vec< L, T, Q > const &angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cosh (vec< L, T, Q > const &angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tanh (vec< L, T, Q > const &angle)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asinh (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acosh (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atanh (vec< L, T, Q > const &x)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool any (vec< L, bool, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool all (vec< L, bool, Q > const &v)
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > not_ (vec< L, bool, Q > const &v)
 

Detailed Description

Core features

GLM_GTX_wrap

GLM_GTX_vector_query

GLM_GTX_vector_angle

GLM_GTX_type_trait

GLM_GTC_type_aligned

GLM_GTX_transform2

GLM_GTX_transform

GLM_GTX_texture

GLM_GTX_string_cast

GLM_GTX_std_based_type

GLM_GTX_spline

GLM_GTX_scalar_relational

GLM_GTX_rotate_vector

GLM_GTX_rotate_normalized_axis

GLM_GTX_quaternion

GLM_GTX_projection

GLM_GTX_polar_coordinates

GLM_GTX_perpendicular

GLM_GTX_orthonormalize

GLM_GTX_optimum_pow

GLM_GTX_number_precision

GLM_GTX_normalize_dot

GLM_GTX_normal

GLM_GTX_norm

GLM_GTX_mixed_producte

GLM_GTX_matrix_query

GLM_GTX_matrix_operation

GLM_GTX_matrix_major_storage

GLM_GTX_matrix_interpolation

GLM_GTX_matrix_factorisation

GLM_GTX_matrix_decompose

GLM_GTX_matrix_cross_product

GLM_GTX_log_base

GLM_GTX_intersect

GLM_GTX_integer

GLM_GTX_handed_coordinate_space

GLM_GTX_gradient_paint

GLM_GTX_functions

gtx_float_normalize

GLM_GTX_fast_trigonometry

GLM_GTX_fast_square_root

GLM_GTX_fast_exponential

GLM_GTX_exterior_product

GLM_GTX_extented_min_max

GLM_GTX_extend

GLM_GTX_euler_angles

GLM_GTX_easing

GLM_GTX_dual_quaternion

GLM_GTX_component_wise

GLM_GTX_common

GLM_GTX_color_space_YCoCg

GLM_GTX_color_space

GLM_GTX_color_encoding

GLM_GTX_closest_point

GLM_GTX_bit

GLM_GTX_associated_min_max

GLM_GTC_ulp

GLM_GTC_type_ptr

gtc_precision

GLM_GTC_round

GLM_GTC_reciprocal

GLM_GTC_packing

GLM_GTC_matrix_inverse

GLM_GTC_matrix_access

GLM_GTC_integer

GLM_GTC_epsilon

GLM_GTC_constants

GLM_GTC_color_space

GLM_GTC_bitfield

GLM_GTC_noise

GLM_GTX_io

Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)

GLM_GTX_matrix_transform_2d

Author
Miguel Ángel Pérez Martínez

Typedef Documentation

◆ return_type_scalar_multiplication

template<typename T , typename Vec >
using glm::return_type_scalar_multiplication
Initial value:
typename std::enable_if<
!std::is_same<T, float>::value
&& std::is_arithmetic<T>::value, Vec
>::type

Enumeration Type Documentation

◆ qualifier

Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp, mediump, highp)

Enumerator
packed_highp 

Typed data is tightly packed in memory and operations are executed with high precision in term of ULPs.

packed_mediump 

Typed data is tightly packed in memory and operations are executed with medium precision in term of ULPs for higher performance.

packed_lowp 

Typed data is tightly packed in memory and operations are executed with low precision in term of ULPs to maximize performance.

highp 

By default highp qualifier is also packed.

mediump 

By default mediump qualifier is also packed.

lowp 

By default lowp qualifier is also packed.

packed 

By default packed qualifier is also high precision.

Function Documentation

◆ equal() [1/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::equal ( genType const & x,
genType const & y,
genType const & epsilon )

Returns the component-wise comparison of |x - y| < epsilon. True if this expression is satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ equal() [2/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::equal ( genType const & x,
genType const & y,
genType const & epsilon )

Returns the component-wise comparison of |x - y| < epsilon. True if this expression is satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ equal() [3/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::equal ( genType const & x,
genType const & y,
int ULPs )

Returns the component-wise comparison between two scalars in term of ULPs. True if this expression is satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ equal() [4/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::equal ( genType const & x,
genType const & y,
int ULPs )

Returns the component-wise comparison between two scalars in term of ULPs. True if this expression is satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ float_distance() [1/4]

GLM_FUNC_QUALIFIER int64 glm::float_distance ( double x,
double y )

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

See also
GLM_GTC_ulp

◆ float_distance() [2/4]

GLM_FUNC_QUALIFIER int glm::float_distance ( float x,
float y )

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

See also
GLM_GTC_ulp

◆ float_distance() [3/4]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > glm::float_distance ( vec< L, double, Q > const & x,
vec< L, double, Q > const & y )

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ float_distance() [4/4]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > glm::float_distance ( vec< L, float, Q > const & x,
vec< L, float, Q > const & y )

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ floatDistance() [1/4]

GLM_FUNC_QUALIFIER int64 glm::floatDistance ( double x,
double y )

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

See also
GLM_EXT_scalar_ulp

◆ floatDistance() [2/4]

GLM_FUNC_QUALIFIER int glm::floatDistance ( float x,
float y )

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

See also
GLM_EXT_scalar_ulp

◆ floatDistance() [3/4]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > glm::floatDistance ( vec< L, double, Q > const & x,
vec< L, double, Q > const & y )

Return the distance in the number of ULP between 2 double-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ floatDistance() [4/4]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > glm::floatDistance ( vec< L, float, Q > const & x,
vec< L, float, Q > const & y )

Return the distance in the number of ULP between 2 single-precision floating-point scalars.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ next_float() [1/8]

template<typename genType >
GLM_FUNC_DECL genType glm::next_float ( genType x)

Return the next ULP value(s) after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ next_float() [2/8]

template<typename genType >
GLM_FUNC_DECL genType glm::next_float ( genType x,
int ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ next_float() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::next_float ( vec< L, T, Q > const & x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::next_float ( vec< L, T, Q > const & x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::next_float ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::next_float ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::next_float ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ next_float() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::next_float ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ nextFloat() [1/8]

template<typename genType >
GLM_FUNC_DECL genType glm::nextFloat ( genType x)

Return the next ULP value(s) after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [2/8]

template<typename genType >
GLM_FUNC_DECL genType glm::nextFloat ( genType x,
int ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::nextFloat ( vec< L, T, Q > const & x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::nextFloat ( vec< L, T, Q > const & x)

Return the next ULP value(s) after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::nextFloat ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::nextFloat ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::nextFloat ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ nextFloat() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::nextFloat ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance after the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ notEqual() [1/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::notEqual ( genType const & x,
genType const & y,
genType const & epsilon )

Returns the component-wise comparison of |x - y| >= epsilon. True if this expression is not satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ notEqual() [2/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::notEqual ( genType const & x,
genType const & y,
genType const & epsilon )

Returns the component-wise comparison of |x - y| >= epsilon. True if this expression is not satisfied.

Template Parameters
genTypeFloating-point or integer scalar types

◆ notEqual() [3/4]

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::notEqual ( genType const & x,
genType const & y,
int ULPs )

Returns the component-wise comparison between two scalars in term of ULPs. True if this expression is not satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them not equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ notEqual() [4/4]

template<typename genType >
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool glm::notEqual ( genType const & x,
genType const & y,
int ULPs )

Returns the component-wise comparison between two scalars in term of ULPs. True if this expression is not satisfied.

Parameters
xFirst operand.
ySecond operand.
ULPsMaximum difference in ULPs between the two operators to consider them not equal.
Template Parameters
genTypeFloating-point or integer scalar types

◆ prev_float() [1/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prev_float ( genType x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ prev_float() [2/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prev_float ( genType x,
int ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_GTC_ulp

◆ prev_float() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::prev_float ( vec< L, T, Q > const & x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::prev_float ( vec< L, T, Q > const & x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::prev_float ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::prev_float ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::prev_float ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prev_float() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::prev_float ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_GTC_ulp

◆ prevFloat() [1/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prevFloat ( genType x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [2/8]

template<typename genType >
GLM_FUNC_DECL genType glm::prevFloat ( genType x,
int ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
genTypeA floating-point scalar type.
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [3/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::prevFloat ( vec< L, T, Q > const & x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [4/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::prevFloat ( vec< L, T, Q > const & x)

Return the previous ULP value(s) before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [5/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::prevFloat ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [6/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::prevFloat ( vec< L, T, Q > const & x,
int ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [7/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > glm::prevFloat ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp

◆ prevFloat() [8/8]

template<length_t L, typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< L, T, Q > glm::prevFloat ( vec< L, T, Q > const & x,
vec< L, int, Q > const & ULPs )

Return the value(s) ULP distance before the input value(s).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
See also
GLM_EXT_scalar_ulp