Cinder  0.9.1
Namespaces | Classes | Typedefs | Enumerations | Functions
glm Namespace Reference

Namespaces

 detail
 
 gtc
 
 gtx
 
 io
 

Classes

struct  tdualquat
 
struct  tmat2x2
 
struct  tmat2x3
 
struct  tmat2x4
 
struct  tmat3x2
 
struct  tmat3x3
 
struct  tmat3x4
 
struct  tmat4x2
 
struct  tmat4x3
 
struct  tmat4x4
 
struct  tquat
 
struct  tvec1
 
struct  tvec2
 
struct  tvec3
 
struct  tvec4
 

Typedefs

typedef int length_t
 
typedef float lowp_float_t
 
typedef float mediump_float_t
 
typedef double highp_float_t
 
typedef lowp_float_t lowp_float
 
typedef mediump_float_t mediump_float
 
typedef highp_float_t highp_float
 
typedef mediump_float float_t
 
typedef float float32
 
typedef double float64
 
typedef std::size_t sizeType
 
typedef detail::int8 int8
 
typedef detail::int16 int16
 
typedef detail::int32 int32
 
typedef detail::int64 int64
 
typedef detail::uint8 uint8
 
typedef detail::uint16 uint16
 
typedef detail::uint32 uint32
 
typedef detail::uint64 uint64
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::highp_int_t highp_int
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::mediump_uint_t mediump_uint
 
typedef detail::highp_uint_t highp_uint
 
typedef mediump_int int_t
 
typedef mediump_uint uint_t
 
typedef unsigned int uint
 
typedef tmat2x2< float, lowplowp_mat2
 
typedef tmat2x2< float, mediumpmediump_mat2
 
typedef tmat2x2< float, highphighp_mat2
 
typedef tmat2x2< float, lowplowp_mat2x2
 
typedef tmat2x2< float, mediumpmediump_mat2x2
 
typedef tmat2x2< float, highphighp_mat2x2
 
typedef tmat2x3< float, lowplowp_mat2x3
 
typedef tmat2x3< float, mediumpmediump_mat2x3
 
typedef tmat2x3< float, highphighp_mat2x3
 
typedef tmat2x4< float, lowplowp_mat2x4
 
typedef tmat2x4< float, mediumpmediump_mat2x4
 
typedef tmat2x4< float, highphighp_mat2x4
 
typedef tmat3x2< float, lowplowp_mat3x2
 
typedef tmat3x2< float, mediumpmediump_mat3x2
 
typedef tmat3x2< float, highphighp_mat3x2
 
typedef tmat3x3< float, lowplowp_mat3
 
typedef tmat3x3< float, mediumpmediump_mat3
 
typedef tmat3x3< float, highphighp_mat3
 
typedef tmat3x3< float, lowplowp_mat3x3
 
typedef tmat3x3< float, mediumpmediump_mat3x3
 
typedef tmat3x3< float, highphighp_mat3x3
 
typedef tmat3x4< float, lowplowp_mat3x4
 
typedef tmat3x4< float, mediumpmediump_mat3x4
 
typedef tmat3x4< float, highphighp_mat3x4
 
typedef tmat4x2< float, lowplowp_mat4x2
 
typedef tmat4x2< float, mediumpmediump_mat4x2
 
typedef tmat4x2< float, highphighp_mat4x2
 
typedef tmat4x3< float, lowplowp_mat4x3
 
typedef tmat4x3< float, mediumpmediump_mat4x3
 
typedef tmat4x3< float, highphighp_mat4x3
 
typedef tmat4x4< float, lowplowp_mat4
 
typedef tmat4x4< float, mediumpmediump_mat4
 
typedef tmat4x4< float, highphighp_mat4
 
typedef tmat4x4< float, lowplowp_mat4x4
 
typedef tmat4x4< float, mediumpmediump_mat4x4
 
typedef tmat4x4< float, highphighp_mat4x4
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef mat2x2 mat2
 
typedef mat3x3 mat3
 
typedef mat4x4 mat4
 
typedef tmat2x2< double, lowplowp_dmat2
 
typedef tmat2x2< double, mediumpmediump_dmat2
 
typedef tmat2x2< double, highphighp_dmat2
 
typedef tmat2x2< double, lowplowp_dmat2x2
 
typedef tmat2x2< double, mediumpmediump_dmat2x2
 
typedef tmat2x2< double, highphighp_dmat2x2
 
typedef tmat2x3< double, lowplowp_dmat2x3
 
typedef tmat2x3< double, mediumpmediump_dmat2x3
 
typedef tmat2x3< double, highphighp_dmat2x3
 
typedef tmat2x4< double, lowplowp_dmat2x4
 
typedef tmat2x4< double, mediumpmediump_dmat2x4
 
typedef tmat2x4< double, highphighp_dmat2x4
 
typedef tmat3x2< double, lowplowp_dmat3x2
 
typedef tmat3x2< double, mediumpmediump_dmat3x2
 
typedef tmat3x2< double, highphighp_dmat3x2
 
typedef tmat3x3< float, lowplowp_dmat3
 
typedef tmat3x3< double, mediumpmediump_dmat3
 
typedef tmat3x3< double, highphighp_dmat3
 
typedef tmat3x3< double, lowplowp_dmat3x3
 
typedef tmat3x3< double, mediumpmediump_dmat3x3
 
typedef tmat3x3< double, highphighp_dmat3x3
 
typedef tmat3x4< double, lowplowp_dmat3x4
 
typedef tmat3x4< double, mediumpmediump_dmat3x4
 
typedef tmat3x4< double, highphighp_dmat3x4
 
typedef tmat4x2< double, lowplowp_dmat4x2
 
typedef tmat4x2< double, mediumpmediump_dmat4x2
 
typedef tmat4x2< double, highphighp_dmat4x2
 
typedef tmat4x3< double, lowplowp_dmat4x3
 
typedef tmat4x3< double, mediumpmediump_dmat4x3
 
typedef tmat4x3< double, highphighp_dmat4x3
 
typedef tmat4x4< double, lowplowp_dmat4
 
typedef tmat4x4< double, mediumpmediump_dmat4
 
typedef tmat4x4< double, highphighp_dmat4
 
typedef tmat4x4< double, lowplowp_dmat4x4
 
typedef tmat4x4< double, mediumpmediump_dmat4x4
 
typedef tmat4x4< double, highphighp_dmat4x4
 
typedef highp_dmat2x2 dmat2
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
typedef tvec1< float, highphighp_vec1_t
 
typedef tvec1< float, mediumpmediump_vec1_t
 
typedef tvec1< float, lowplowp_vec1_t
 
typedef tvec1< double, highphighp_dvec1_t
 
typedef tvec1< double, mediumpmediump_dvec1_t
 
typedef tvec1< double, lowplowp_dvec1_t
 
typedef tvec1< int, highphighp_ivec1_t
 
typedef tvec1< int, mediumpmediump_ivec1_t
 
typedef tvec1< int, lowplowp_ivec1_t
 
typedef tvec1< uint, highphighp_uvec1_t
 
typedef tvec1< uint, mediumpmediump_uvec1_t
 
typedef tvec1< uint, lowplowp_uvec1_t
 
typedef tvec1< bool, highphighp_bvec1_t
 
typedef tvec1< bool, mediumpmediump_bvec1_t
 
typedef tvec1< bool, lowplowp_bvec1_t
 
typedef tvec2< float, highphighp_vec2
 
typedef tvec2< float, mediumpmediump_vec2
 
typedef tvec2< float, lowplowp_vec2
 
typedef tvec2< double, highphighp_dvec2
 
typedef tvec2< double, mediumpmediump_dvec2
 
typedef tvec2< double, lowplowp_dvec2
 
typedef tvec2< int, highphighp_ivec2
 
typedef tvec2< int, mediumpmediump_ivec2
 
typedef tvec2< int, lowplowp_ivec2
 
typedef tvec2< uint, highphighp_uvec2
 
typedef tvec2< uint, mediumpmediump_uvec2
 
typedef tvec2< uint, lowplowp_uvec2
 
typedef tvec2< bool, highphighp_bvec2
 
typedef tvec2< bool, mediumpmediump_bvec2
 
typedef tvec2< bool, lowplowp_bvec2
 
typedef tvec3< float, highphighp_vec3
 
typedef tvec3< float, mediumpmediump_vec3
 
typedef tvec3< float, lowplowp_vec3
 
typedef tvec3< double, highphighp_dvec3
 
typedef tvec3< double, mediumpmediump_dvec3
 
typedef tvec3< double, lowplowp_dvec3
 
typedef tvec3< int, highphighp_ivec3
 
typedef tvec3< int, mediumpmediump_ivec3
 
typedef tvec3< int, lowplowp_ivec3
 
typedef tvec3< uint, highphighp_uvec3
 
typedef tvec3< uint, mediumpmediump_uvec3
 
typedef tvec3< uint, lowplowp_uvec3
 
typedef tvec3< bool, highphighp_bvec3
 
typedef tvec3< bool, mediumpmediump_bvec3
 
typedef tvec3< bool, lowplowp_bvec3
 
typedef tvec4< float, highphighp_vec4
 
typedef tvec4< float, mediumpmediump_vec4
 
typedef tvec4< float, lowplowp_vec4
 
typedef tvec4< double, highphighp_dvec4
 
typedef tvec4< double, mediumpmediump_dvec4
 
typedef tvec4< double, lowplowp_dvec4
 
typedef tvec4< int, highphighp_ivec4
 
typedef tvec4< int, mediumpmediump_ivec4
 
typedef tvec4< int, lowplowp_ivec4
 
typedef tvec4< uint, highphighp_uvec4
 
typedef tvec4< uint, mediumpmediump_uvec4
 
typedef tvec4< uint, lowplowp_uvec4
 
typedef tvec4< bool, highphighp_bvec4
 
typedef tvec4< bool, mediumpmediump_bvec4
 
typedef tvec4< bool, lowplowp_bvec4
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef tquat< float, lowplowp_quat
 
typedef tquat< float, mediumpmediump_quat
 
typedef tquat< float, highphighp_quat
 
typedef highp_quat quat
 
typedef lowp_quat lowp_fquat
 
typedef mediump_quat mediump_fquat
 
typedef highp_quat highp_fquat
 
typedef quat fquat
 
typedef tquat< double, lowplowp_dquat
 
typedef tquat< double, mediumpmediump_dquat
 
typedef tquat< double, highphighp_dquat
 
typedef highp_dquat dquat
 
typedef detail::int8 lowp_int8
 
typedef detail::int16 lowp_int16
 
typedef detail::int32 lowp_int32
 
typedef detail::int64 lowp_int64
 
typedef detail::int8 lowp_int8_t
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_i8
 
typedef detail::int16 lowp_i16
 
typedef detail::int32 lowp_i32
 
typedef detail::int64 lowp_i64
 
typedef detail::int8 mediump_int8
 
typedef detail::int16 mediump_int16
 
typedef detail::int32 mediump_int32
 
typedef detail::int64 mediump_int64
 
typedef detail::int8 mediump_int8_t
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_i8
 
typedef detail::int16 mediump_i16
 
typedef detail::int32 mediump_i32
 
typedef detail::int64 mediump_i64
 
typedef detail::int8 highp_int8
 
typedef detail::int16 highp_int16
 
typedef detail::int32 highp_int32
 
typedef detail::int64 highp_int64
 
typedef detail::int8 highp_int8_t
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_i8
 
typedef detail::int16 highp_i16
 
typedef detail::int32 highp_i32
 
typedef detail::int64 highp_i64
 
typedef detail::int8 int8_t
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64_t
 
typedef detail::int8 i8
 
typedef detail::int16 i16
 
typedef detail::int32 i32
 
typedef detail::int64 i64
 
typedef tvec1< i8, lowplowp_i8vec1
 
typedef tvec2< i8, lowplowp_i8vec2
 
typedef tvec3< i8, lowplowp_i8vec3
 
typedef tvec4< i8, lowplowp_i8vec4
 
typedef tvec1< i8, mediumpmediump_i8vec1
 
typedef tvec2< i8, mediumpmediump_i8vec2
 
typedef tvec3< i8, mediumpmediump_i8vec3
 
typedef tvec4< i8, mediumpmediump_i8vec4
 
typedef tvec1< i8, highphighp_i8vec1
 
typedef tvec2< i8, highphighp_i8vec2
 
typedef tvec3< i8, highphighp_i8vec3
 
typedef tvec4< i8, highphighp_i8vec4
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef tvec1< i16, lowplowp_i16vec1
 
typedef tvec2< i16, lowplowp_i16vec2
 
typedef tvec3< i16, lowplowp_i16vec3
 
typedef tvec4< i16, lowplowp_i16vec4
 
typedef tvec1< i16, mediumpmediump_i16vec1
 
typedef tvec2< i16, mediumpmediump_i16vec2
 
typedef tvec3< i16, mediumpmediump_i16vec3
 
typedef tvec4< i16, mediumpmediump_i16vec4
 
typedef tvec1< i16, highphighp_i16vec1
 
typedef tvec2< i16, highphighp_i16vec2
 
typedef tvec3< i16, highphighp_i16vec3
 
typedef tvec4< i16, highphighp_i16vec4
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef tvec1< i32, lowplowp_i32vec1
 
typedef tvec2< i32, lowplowp_i32vec2
 
typedef tvec3< i32, lowplowp_i32vec3
 
typedef tvec4< i32, lowplowp_i32vec4
 
typedef tvec1< i32, mediumpmediump_i32vec1
 
typedef tvec2< i32, mediumpmediump_i32vec2
 
typedef tvec3< i32, mediumpmediump_i32vec3
 
typedef tvec4< i32, mediumpmediump_i32vec4
 
typedef tvec1< i32, highphighp_i32vec1
 
typedef tvec2< i32, highphighp_i32vec2
 
typedef tvec3< i32, highphighp_i32vec3
 
typedef tvec4< i32, highphighp_i32vec4
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef tvec1< i64, lowplowp_i64vec1
 
typedef tvec2< i64, lowplowp_i64vec2
 
typedef tvec3< i64, lowplowp_i64vec3
 
typedef tvec4< i64, lowplowp_i64vec4
 
typedef tvec1< i64, mediumpmediump_i64vec1
 
typedef tvec2< i64, mediumpmediump_i64vec2
 
typedef tvec3< i64, mediumpmediump_i64vec3
 
typedef tvec4< i64, mediumpmediump_i64vec4
 
typedef tvec1< i64, highphighp_i64vec1
 
typedef tvec2< i64, highphighp_i64vec2
 
typedef tvec3< i64, highphighp_i64vec3
 
typedef tvec4< i64, highphighp_i64vec4
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint8 lowp_uint8_t
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_u8
 
typedef detail::uint16 lowp_u16
 
typedef detail::uint32 lowp_u32
 
typedef detail::uint64 lowp_u64
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint8 mediump_uint8_t
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_u8
 
typedef detail::uint16 mediump_u16
 
typedef detail::uint32 mediump_u32
 
typedef detail::uint64 mediump_u64
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint8 highp_uint8_t
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_u8
 
typedef detail::uint16 highp_u16
 
typedef detail::uint32 highp_u32
 
typedef detail::uint64 highp_u64
 
typedef detail::uint8 uint8_t
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 u8
 
typedef detail::uint16 u16
 
typedef detail::uint32 u32
 
typedef detail::uint64 u64
 
typedef tvec1< u8, lowplowp_u8vec1
 
typedef tvec2< u8, lowplowp_u8vec2
 
typedef tvec3< u8, lowplowp_u8vec3
 
typedef tvec4< u8, lowplowp_u8vec4
 
typedef tvec1< u8, mediumpmediump_u8vec1
 
typedef tvec2< u8, mediumpmediump_u8vec2
 
typedef tvec3< u8, mediumpmediump_u8vec3
 
typedef tvec4< u8, mediumpmediump_u8vec4
 
typedef tvec1< u8, highphighp_u8vec1
 
typedef tvec2< u8, highphighp_u8vec2
 
typedef tvec3< u8, highphighp_u8vec3
 
typedef tvec4< u8, highphighp_u8vec4
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef tvec1< u16, lowplowp_u16vec1
 
typedef tvec2< u16, lowplowp_u16vec2
 
typedef tvec3< u16, lowplowp_u16vec3
 
typedef tvec4< u16, lowplowp_u16vec4
 
typedef tvec1< u16, mediumpmediump_u16vec1
 
typedef tvec2< u16, mediumpmediump_u16vec2
 
typedef tvec3< u16, mediumpmediump_u16vec3
 
typedef tvec4< u16, mediumpmediump_u16vec4
 
typedef tvec1< u16, highphighp_u16vec1
 
typedef tvec2< u16, highphighp_u16vec2
 
typedef tvec3< u16, highphighp_u16vec3
 
typedef tvec4< u16, highphighp_u16vec4
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef tvec1< u32, lowplowp_u32vec1
 
typedef tvec2< u32, lowplowp_u32vec2
 
typedef tvec3< u32, lowplowp_u32vec3
 
typedef tvec4< u32, lowplowp_u32vec4
 
typedef tvec1< u32, mediumpmediump_u32vec1
 
typedef tvec2< u32, mediumpmediump_u32vec2
 
typedef tvec3< u32, mediumpmediump_u32vec3
 
typedef tvec4< u32, mediumpmediump_u32vec4
 
typedef tvec1< u32, highphighp_u32vec1
 
typedef tvec2< u32, highphighp_u32vec2
 
typedef tvec3< u32, highphighp_u32vec3
 
typedef tvec4< u32, highphighp_u32vec4
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef tvec1< u64, lowplowp_u64vec1
 
typedef tvec2< u64, lowplowp_u64vec2
 
typedef tvec3< u64, lowplowp_u64vec3
 
typedef tvec4< u64, lowplowp_u64vec4
 
typedef tvec1< u64, mediumpmediump_u64vec1
 
typedef tvec2< u64, mediumpmediump_u64vec2
 
typedef tvec3< u64, mediumpmediump_u64vec3
 
typedef tvec4< u64, mediumpmediump_u64vec4
 
typedef tvec1< u64, highphighp_u64vec1
 
typedef tvec2< u64, highphighp_u64vec2
 
typedef tvec3< u64, highphighp_u64vec3
 
typedef tvec4< u64, highphighp_u64vec4
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::float32 lowp_float32
 
typedef detail::float64 lowp_float64
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64_t
 
typedef float32 lowp_f32
 
typedef float64 lowp_f64
 
typedef detail::float32 mediump_float32
 
typedef detail::float64 mediump_float64
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64_t
 
typedef float32 mediump_f32
 
typedef float64 mediump_f64
 
typedef detail::float32 highp_float32
 
typedef detail::float64 highp_float64
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64_t
 
typedef float32 highp_f32
 
typedef float64 highp_f64
 
typedef highp_float32_t float32_t
 
typedef highp_float64_t float64_t
 
typedef highp_float32_t f32
 
typedef highp_float64_t f64
 
typedef tvec1< float, lowplowp_vec1
 
typedef tvec1< float, lowplowp_fvec1
 
typedef tvec2< float, lowplowp_fvec2
 
typedef tvec3< float, lowplowp_fvec3
 
typedef tvec4< float, lowplowp_fvec4
 
typedef tvec1< float, mediumpmediump_vec1
 
typedef tvec1< float, mediumpmediump_fvec1
 
typedef tvec2< float, mediumpmediump_fvec2
 
typedef tvec3< float, mediumpmediump_fvec3
 
typedef tvec4< float, mediumpmediump_fvec4
 
typedef tvec1< float, highphighp_vec1
 
typedef tvec1< float, highphighp_fvec1
 
typedef tvec2< float, highphighp_fvec2
 
typedef tvec3< float, highphighp_fvec3
 
typedef tvec4< float, highphighp_fvec4
 
typedef tvec1< f32, lowplowp_f32vec1
 
typedef tvec2< f32, lowplowp_f32vec2
 
typedef tvec3< f32, lowplowp_f32vec3
 
typedef tvec4< f32, lowplowp_f32vec4
 
typedef tvec1< f32, mediumpmediump_f32vec1
 
typedef tvec2< f32, mediumpmediump_f32vec2
 
typedef tvec3< f32, mediumpmediump_f32vec3
 
typedef tvec4< f32, mediumpmediump_f32vec4
 
typedef tvec1< f32, highphighp_f32vec1
 
typedef tvec2< f32, highphighp_f32vec2
 
typedef tvec3< f32, highphighp_f32vec3
 
typedef tvec4< f32, highphighp_f32vec4
 
typedef tvec1< f64, lowplowp_f64vec1
 
typedef tvec2< f64, lowplowp_f64vec2
 
typedef tvec3< f64, lowplowp_f64vec3
 
typedef tvec4< f64, lowplowp_f64vec4
 
typedef tvec1< f64, mediumpmediump_f64vec1
 
typedef tvec2< f64, mediumpmediump_f64vec2
 
typedef tvec3< f64, mediumpmediump_f64vec3
 
typedef tvec4< f64, mediumpmediump_f64vec4
 
typedef tvec1< f64, highphighp_f64vec1
 
typedef tvec2< f64, highphighp_f64vec2
 
typedef tvec3< f64, highphighp_f64vec3
 
typedef tvec4< f64, highphighp_f64vec4
 
typedef tmat2x2< f32, lowplowp_fmat2x2
 
typedef tmat2x3< f32, lowplowp_fmat2x3
 
typedef tmat2x4< f32, lowplowp_fmat2x4
 
typedef tmat3x2< f32, lowplowp_fmat3x2
 
typedef tmat3x3< f32, lowplowp_fmat3x3
 
typedef tmat3x4< f32, lowplowp_fmat3x4
 
typedef tmat4x2< f32, lowplowp_fmat4x2
 
typedef tmat4x3< f32, lowplowp_fmat4x3
 
typedef tmat4x4< f32, lowplowp_fmat4x4
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef tmat2x2< f32, mediumpmediump_fmat2x2
 
typedef tmat2x3< f32, mediumpmediump_fmat2x3
 
typedef tmat2x4< f32, mediumpmediump_fmat2x4
 
typedef tmat3x2< f32, mediumpmediump_fmat3x2
 
typedef tmat3x3< f32, mediumpmediump_fmat3x3
 
typedef tmat3x4< f32, mediumpmediump_fmat3x4
 
typedef tmat4x2< f32, mediumpmediump_fmat4x2
 
typedef tmat4x3< f32, mediumpmediump_fmat4x3
 
typedef tmat4x4< f32, mediumpmediump_fmat4x4
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef tmat2x2< f32, highphighp_fmat2x2
 
typedef tmat2x3< f32, highphighp_fmat2x3
 
typedef tmat2x4< f32, highphighp_fmat2x4
 
typedef tmat3x2< f32, highphighp_fmat3x2
 
typedef tmat3x3< f32, highphighp_fmat3x3
 
typedef tmat3x4< f32, highphighp_fmat3x4
 
typedef tmat4x2< f32, highphighp_fmat4x2
 
typedef tmat4x3< f32, highphighp_fmat4x3
 
typedef tmat4x4< f32, highphighp_fmat4x4
 
typedef highp_fmat2x2 highp_fmat2
 
typedef highp_fmat3x3 highp_fmat3
 
typedef highp_fmat4x4 highp_fmat4
 
typedef tmat2x2< f32, lowplowp_f32mat2x2
 
typedef tmat2x3< f32, lowplowp_f32mat2x3
 
typedef tmat2x4< f32, lowplowp_f32mat2x4
 
typedef tmat3x2< f32, lowplowp_f32mat3x2
 
typedef tmat3x3< f32, lowplowp_f32mat3x3
 
typedef tmat3x4< f32, lowplowp_f32mat3x4
 
typedef tmat4x2< f32, lowplowp_f32mat4x2
 
typedef tmat4x3< f32, lowplowp_f32mat4x3
 
typedef tmat4x4< f32, lowplowp_f32mat4x4
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef tmat2x2< f32, mediumpmediump_f32mat2x2
 
typedef tmat2x3< f32, mediumpmediump_f32mat2x3
 
typedef tmat2x4< f32, mediumpmediump_f32mat2x4
 
typedef tmat3x2< f32, mediumpmediump_f32mat3x2
 
typedef tmat3x3< f32, mediumpmediump_f32mat3x3
 
typedef tmat3x4< f32, mediumpmediump_f32mat3x4
 
typedef tmat4x2< f32, mediumpmediump_f32mat4x2
 
typedef tmat4x3< f32, mediumpmediump_f32mat4x3
 
typedef tmat4x4< f32, mediumpmediump_f32mat4x4
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef tmat2x2< f32, highphighp_f32mat2x2
 
typedef tmat2x3< f32, highphighp_f32mat2x3
 
typedef tmat2x4< f32, highphighp_f32mat2x4
 
typedef tmat3x2< f32, highphighp_f32mat3x2
 
typedef tmat3x3< f32, highphighp_f32mat3x3
 
typedef tmat3x4< f32, highphighp_f32mat3x4
 
typedef tmat4x2< f32, highphighp_f32mat4x2
 
typedef tmat4x3< f32, highphighp_f32mat4x3
 
typedef tmat4x4< f32, highphighp_f32mat4x4
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef tmat2x2< f64, lowplowp_f64mat2x2
 
typedef tmat2x3< f64, lowplowp_f64mat2x3
 
typedef tmat2x4< f64, lowplowp_f64mat2x4
 
typedef tmat3x2< f64, lowplowp_f64mat3x2
 
typedef tmat3x3< f64, lowplowp_f64mat3x3
 
typedef tmat3x4< f64, lowplowp_f64mat3x4
 
typedef tmat4x2< f64, lowplowp_f64mat4x2
 
typedef tmat4x3< f64, lowplowp_f64mat4x3
 
typedef tmat4x4< f64, lowplowp_f64mat4x4
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef tmat2x2< f64, mediumpmediump_f64mat2x2
 
typedef tmat2x3< f64, mediumpmediump_f64mat2x3
 
typedef tmat2x4< f64, mediumpmediump_f64mat2x4
 
typedef tmat3x2< f64, mediumpmediump_f64mat3x2
 
typedef tmat3x3< f64, mediumpmediump_f64mat3x3
 
typedef tmat3x4< f64, mediumpmediump_f64mat3x4
 
typedef tmat4x2< f64, mediumpmediump_f64mat4x2
 
typedef tmat4x3< f64, mediumpmediump_f64mat4x3
 
typedef tmat4x4< f64, mediumpmediump_f64mat4x4
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef tmat2x2< f64, highphighp_f64mat2x2
 
typedef tmat2x3< f64, highphighp_f64mat2x3
 
typedef tmat2x4< f64, highphighp_f64mat2x4
 
typedef tmat3x2< f64, highphighp_f64mat3x2
 
typedef tmat3x3< f64, highphighp_f64mat3x3
 
typedef tmat3x4< f64, highphighp_f64mat3x4
 
typedef tmat4x2< f64, highphighp_f64mat4x2
 
typedef tmat4x3< f64, highphighp_f64mat4x3
 
typedef tmat4x4< f64, highphighp_f64mat4x4
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef tquat< f32, lowplowp_f32quat
 
typedef tquat< f64, lowplowp_f64quat
 
typedef tquat< f32, mediumpmediump_f32quat
 
typedef tquat< f64, mediumpmediump_f64quat
 
typedef tquat< f32, highphighp_f32quat
 
typedef tquat< f64, highphighp_f64quat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef fmat2x2 fmat2
 
typedef fmat3x3 fmat3
 
typedef fmat4x4 fmat4
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef f32mat2x2 f32mat2
 
typedef f32mat3x3 f32mat3
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32quat f32quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef f64mat2x2 f64mat2
 
typedef f64mat3x3 f64mat3
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64quat f64quat
 
typedef tmat2x2< int, highphighp_imat2
 
typedef tmat3x3< int, highphighp_imat3
 
typedef tmat4x4< int, highphighp_imat4
 
typedef tmat2x2< int, highphighp_imat2x2
 
typedef tmat2x3< int, highphighp_imat2x3
 
typedef tmat2x4< int, highphighp_imat2x4
 
typedef tmat3x2< int, highphighp_imat3x2
 
typedef tmat3x3< int, highphighp_imat3x3
 
typedef tmat3x4< int, highphighp_imat3x4
 
typedef tmat4x2< int, highphighp_imat4x2
 
typedef tmat4x3< int, highphighp_imat4x3
 
typedef tmat4x4< int, highphighp_imat4x4
 
typedef tmat2x2< int, mediumpmediump_imat2
 
typedef tmat3x3< int, mediumpmediump_imat3
 
typedef tmat4x4< int, mediumpmediump_imat4
 
typedef tmat2x2< int, mediumpmediump_imat2x2
 
typedef tmat2x3< int, mediumpmediump_imat2x3
 
typedef tmat2x4< int, mediumpmediump_imat2x4
 
typedef tmat3x2< int, mediumpmediump_imat3x2
 
typedef tmat3x3< int, mediumpmediump_imat3x3
 
typedef tmat3x4< int, mediumpmediump_imat3x4
 
typedef tmat4x2< int, mediumpmediump_imat4x2
 
typedef tmat4x3< int, mediumpmediump_imat4x3
 
typedef tmat4x4< int, mediumpmediump_imat4x4
 
typedef tmat2x2< int, lowplowp_imat2
 
typedef tmat3x3< int, lowplowp_imat3
 
typedef tmat4x4< int, lowplowp_imat4
 
typedef tmat2x2< int, lowplowp_imat2x2
 
typedef tmat2x3< int, lowplowp_imat2x3
 
typedef tmat2x4< int, lowplowp_imat2x4
 
typedef tmat3x2< int, lowplowp_imat3x2
 
typedef tmat3x3< int, lowplowp_imat3x3
 
typedef tmat3x4< int, lowplowp_imat3x4
 
typedef tmat4x2< int, lowplowp_imat4x2
 
typedef tmat4x3< int, lowplowp_imat4x3
 
typedef tmat4x4< int, lowplowp_imat4x4
 
typedef tmat2x2< uint, highphighp_umat2
 
typedef tmat3x3< uint, highphighp_umat3
 
typedef tmat4x4< uint, highphighp_umat4
 
typedef tmat2x2< uint, highphighp_umat2x2
 
typedef tmat2x3< uint, highphighp_umat2x3
 
typedef tmat2x4< uint, highphighp_umat2x4
 
typedef tmat3x2< uint, highphighp_umat3x2
 
typedef tmat3x3< uint, highphighp_umat3x3
 
typedef tmat3x4< uint, highphighp_umat3x4
 
typedef tmat4x2< uint, highphighp_umat4x2
 
typedef tmat4x3< uint, highphighp_umat4x3
 
typedef tmat4x4< uint, highphighp_umat4x4
 
typedef tmat2x2< uint, mediumpmediump_umat2
 
typedef tmat3x3< uint, mediumpmediump_umat3
 
typedef tmat4x4< uint, mediumpmediump_umat4
 
typedef tmat2x2< uint, mediumpmediump_umat2x2
 
typedef tmat2x3< uint, mediumpmediump_umat2x3
 
typedef tmat2x4< uint, mediumpmediump_umat2x4
 
typedef tmat3x2< uint, mediumpmediump_umat3x2
 
typedef tmat3x3< uint, mediumpmediump_umat3x3
 
typedef tmat3x4< uint, mediumpmediump_umat3x4
 
typedef tmat4x2< uint, mediumpmediump_umat4x2
 
typedef tmat4x3< uint, mediumpmediump_umat4x3
 
typedef tmat4x4< uint, mediumpmediump_umat4x4
 
typedef tmat2x2< uint, lowplowp_umat2
 
typedef tmat3x3< uint, lowplowp_umat3
 
typedef tmat4x4< uint, lowplowp_umat4
 
typedef tmat2x2< uint, lowplowp_umat2x2
 
typedef tmat2x3< uint, lowplowp_umat2x3
 
typedef tmat2x4< uint, lowplowp_umat2x4
 
typedef tmat3x2< uint, lowplowp_umat3x2
 
typedef tmat3x3< uint, lowplowp_umat3x3
 
typedef tmat3x4< uint, lowplowp_umat3x4
 
typedef tmat4x2< uint, lowplowp_umat4x2
 
typedef tmat4x3< uint, lowplowp_umat4x3
 
typedef tmat4x4< 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 highp_dvec1_t highp_dvec1
 
typedef mediump_dvec1_t mediump_dvec1
 
typedef lowp_dvec1_t lowp_dvec1
 
typedef highp_ivec1_t highp_ivec1
 
typedef mediump_ivec1_t mediump_ivec1
 
typedef lowp_ivec1_t lowp_ivec1
 
typedef highp_uvec1_t highp_uvec1
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef highp_bvec1_t highp_bvec1
 
typedef mediump_bvec1_t mediump_bvec1
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef highp_bvec1 bvec1
 
typedef highp_vec1 vec1
 
typedef highp_dvec1 dvec1
 
typedef highp_ivec1 ivec1
 
typedef highp_uvec1 uvec1
 
typedef bool bool1
 
typedef tvec2< bool, highpbool2
 
typedef tvec3< bool, highpbool3
 
typedef tvec4< bool, highpbool4
 
typedef bool bool1x1
 
typedef tmat2x2< bool, highpbool2x2
 
typedef tmat2x3< bool, highpbool2x3
 
typedef tmat2x4< bool, highpbool2x4
 
typedef tmat3x2< bool, highpbool3x2
 
typedef tmat3x3< bool, highpbool3x3
 
typedef tmat3x4< bool, highpbool3x4
 
typedef tmat4x2< bool, highpbool4x2
 
typedef tmat4x3< bool, highpbool4x3
 
typedef tmat4x4< bool, highpbool4x4
 
typedef int int1
 
typedef tvec2< int, highpint2
 
typedef tvec3< int, highpint3
 
typedef tvec4< int, highpint4
 
typedef int int1x1
 
typedef tmat2x2< int, highpint2x2
 
typedef tmat2x3< int, highpint2x3
 
typedef tmat2x4< int, highpint2x4
 
typedef tmat3x2< int, highpint3x2
 
typedef tmat3x3< int, highpint3x3
 
typedef tmat3x4< int, highpint3x4
 
typedef tmat4x2< int, highpint4x2
 
typedef tmat4x3< int, highpint4x3
 
typedef tmat4x4< int, highpint4x4
 
typedef float float1
 
typedef tvec2< float, highpfloat2
 
typedef tvec3< float, highpfloat3
 
typedef tvec4< float, highpfloat4
 
typedef float float1x1
 
typedef tmat2x2< float, highpfloat2x2
 
typedef tmat2x3< float, highpfloat2x3
 
typedef tmat2x4< float, highpfloat2x4
 
typedef tmat3x2< float, highpfloat3x2
 
typedef tmat3x3< float, highpfloat3x3
 
typedef tmat3x4< float, highpfloat3x4
 
typedef tmat4x2< float, highpfloat4x2
 
typedef tmat4x3< float, highpfloat4x3
 
typedef tmat4x4< float, highpfloat4x4
 
typedef double double1
 
typedef tvec2< double, highpdouble2
 
typedef tvec3< double, highpdouble3
 
typedef tvec4< double, highpdouble4
 
typedef double double1x1
 
typedef tmat2x2< double, highpdouble2x2
 
typedef tmat2x3< double, highpdouble2x3
 
typedef tmat2x4< double, highpdouble2x4
 
typedef tmat3x2< double, highpdouble3x2
 
typedef tmat3x3< double, highpdouble3x3
 
typedef tmat3x4< double, highpdouble3x4
 
typedef tmat4x2< double, highpdouble4x2
 
typedef tmat4x3< double, highpdouble4x3
 
typedef tmat4x4< double, highpdouble4x4
 
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 = typename std::enable_if< !std::is_same< T, float >::value &&std::is_arithmetic< T >::value, Vec >::type
 
typedef tvec1< std::size_t, defaultpsize1
 
typedef tvec2< std::size_t, defaultpsize2
 
typedef tvec3< std::size_t, defaultpsize3
 
typedef tvec4< std::size_t, defaultpsize4
 
typedef tvec1< std::size_t, defaultpsize1_t
 
typedef tvec2< std::size_t, defaultpsize2_t
 
typedef tvec3< std::size_t, defaultpsize3_t
 
typedef tvec4< std::size_t, defaultpsize4_t
 

Enumerations

enum  precision { highp, mediump, lowp, defaultp = highp }
 
enum  ctor { uninitialize }
 
enum  profile { nice, fast, simd }
 

Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > abs (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floor (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > trunc (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > round (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundEven (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceil (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fract (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > min (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > min (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > max (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > max (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType x, genType minVal, genType maxVal)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > clamp (vecType< T, P > const &x, T minVal, T maxVal)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > clamp (vecType< T, P > const &x, vecType< T, P > const &minVal, vecType< T, P > const &maxVal)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, U a)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T edge, vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (vecType< T, P > const &edge, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > smoothstep (T edge0, T edge1, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > smoothstep (vecType< T, P > const &edge0, vecType< T, P > const &edge1, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isnan (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isinf (vecType< T, P > const &x)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<>
GLM_FUNC_QUALIFIER int32 abs (int32 x)
 
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType abs (genFIType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > abs (vecType< T, P > const &x)
 
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType sign (genFIType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > sign (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > floor (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType trunc (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > trunc (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType round (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > round (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType roundEven (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > roundEven (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > ceil (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fract (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fract (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType mod (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > mod (vecType< T, P > const &x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > mod (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType modf (genType x, genType &i)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > modf (tvec1< T, P > const &x, tvec1< T, P > &i)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > modf (tvec2< T, P > const &x, tvec2< T, P > &i)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > modf (tvec3< T, P > const &x, tvec3< T, P > &i)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > modf (tvec4< T, P > const &x, tvec4< T, P > &i)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType min (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > min (vecType< T, P > const &a, T b)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > min (vecType< T, P > const &a, vecType< T, P > const &b)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType max (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > max (vecType< T, P > const &a, T b)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > max (vecType< T, P > const &a, vecType< T, P > const &b)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType clamp (genType x, genType minVal, genType maxVal)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > clamp (vecType< T, P > const &x, T minVal, T maxVal)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > clamp (vecType< T, P > const &x, vecType< T, P > const &minVal, vecType< T, P > const &maxVal)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_QUALIFIER genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, U a)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > mix (vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType step (genType edge, genType x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_QUALIFIER vecType< T, P > step (T edge, vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_QUALIFIER vecType< T, P > step (vecType< T, P > const &edge, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType smoothstep (genType edge0, genType edge1, genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > smoothstep (T edge0, T edge1, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > smoothstep (vecType< T, P > const &edge0, vecType< T, P > const &edge1, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isnan (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > isnan (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isinf (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > isinf (vecType< T, P > const &x)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_QUALIFIER vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_QUALIFIER vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_QUALIFIER vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_QUALIFIER vecType< float, P > uintBitsToFloat (vecType< uint, P > 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<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > frexp (tvec1< T, P > const &x, tvec1< int, P > &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > frexp (tvec2< T, P > const &x, tvec2< int, P > &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > frexp (tvec3< T, P > const &x, tvec3< int, P > &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > frexp (tvec4< T, P > const &x, tvec4< int, P > &exp)
 
template<typename genType , precision P>
GLM_FUNC_QUALIFIER genType ldexp (genType const &x, int const &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > ldexp (tvec1< T, P > const &x, tvec1< int, P > const &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > ldexp (tvec2< T, P > const &x, tvec2< int, P > const &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > ldexp (tvec3< T, P > const &x, tvec3< int, P > const &exp)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > ldexp (tvec4< T, P > const &x, tvec4< int, P > const &exp)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > pow (vecType< T, P > const &base, vecType< T, P > const &exponent)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > exp2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > log2 (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sqrt (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > inversesqrt (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > pow (vecType< T, P > const &base, vecType< T, P > const &exponent)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > exp (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > log (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType exp2 (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > exp2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType log2 (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > log2 (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > sqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType inversesqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > inversesqrt (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLlength (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLdistance (vecType< T, P > const &p0, vecType< T, P > const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLdot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > normalize (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > faceforward (vecType< T, P > const &N, vecType< T, P > const &I, vecType< T, P > const &Nref)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T eta)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType length (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERlength (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType distance (genType const &p0, genType const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERdistance (vecType< T, P > const &p0, vecType< T, P > const &p1)
 
template<typename T >
GLM_FUNC_QUALIFIERdot (T x, T y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERdot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > cross (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType normalize (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > normalize (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > faceforward (vecType< T, P > const &N, vecType< T, P > const &I, vecType< T, P > const &Nref)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType reflect (genType const &I, genType const &N)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType refract (genType const &I, genType const &N, genType const &eta)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T eta)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > uaddCarry (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &carry)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< uint, P > usubBorrow (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &borrow)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void umulExtended (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL void imulExtended (vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldExtract (vecType< T, P > const &Value, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldInsert (vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldReverse (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > bitCount (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findLSB (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< int, P > findMSB (vecType< T, P > const &v)
 
GLM_FUNC_QUALIFIER uint uaddCarry (uint const &x, uint const &y, uint &Carry)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< uint, P > uaddCarry (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &Carry)
 
GLM_FUNC_QUALIFIER uint usubBorrow (uint const &x, uint const &y, uint &Borrow)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< uint, P > usubBorrow (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &Borrow)
 
GLM_FUNC_QUALIFIER void umulExtended (uint const &x, uint const &y, uint &msb, uint &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER void umulExtended (vecType< uint, P > const &x, vecType< uint, P > const &y, vecType< uint, P > &msb, vecType< uint, P > &lsb)
 
GLM_FUNC_QUALIFIER void imulExtended (int x, int y, int &msb, int &lsb)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER void imulExtended (vecType< int, P > const &x, vecType< int, P > const &y, vecType< int, P > &msb, vecType< int, P > &lsb)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldExtract (genIUType Value, int Offset, int Bits)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldExtract (vecType< T, P > 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<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldInsert (vecType< T, P > const &Base, vecType< T, P > const &Insert, int Offset, int Bits)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType bitfieldReverse (genType x)
 
template<typename T , glm::precision P, template< typename, glm::precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldReverse (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER int bitCount (genType x)
 
template<typename T , glm::precision P, template< typename, glm::precision > class vecType>
GLM_FUNC_QUALIFIER vecType< int, P > bitCount (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findLSB (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< int, P > findLSB (vecType< T, P > const &x)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER int findMSB (genIUType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< int, P > findMSB (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECLdeterminant (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL matType< T, P > inverse (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIER matType< T, P > matrixCompMult (matType< T, P > const &x, matType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecTypeA, template< typename, precision > class vecTypeB>
GLM_FUNC_QUALIFIER detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct (vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIER matType< T, P >::transpose_type transpose (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIERdeterminant (matType< T, P > const &m)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIER matType< T, P > inverse (matType< T, P > const &m)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec2< typename genType::value_type, defaultpnoise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec3< typename genType::value_type, defaultpnoise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL tvec4< typename genType::value_type, defaultpnoise4 (genType const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERnoise1 (T const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec2< T, defaultpnoise2 (T const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec3< T, defaultpnoise3 (T const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec4< T, defaultpnoise4 (T const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERnoise1 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERnoise1 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERnoise1 (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > noise2 (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > noise2 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > noise2 (tvec4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > noise3 (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > noise3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > noise3 (tvec4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > noise4 (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > noise4 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > noise4 (tvec4< T, P > const &x)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint p)
 
GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > radians (vecType< T, P > const &degrees)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > degrees (vecType< T, P > const &radians)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sin (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cos (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tan (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asin (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acos (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y, vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atan (vecType< T, P > const &y_over_x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sinh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > cosh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > tanh (vecType< T, P > const &angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > asinh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > acosh (vecType< T, P > const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > atanh (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType radians (genType degrees)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > radians (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType degrees (genType radians)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > degrees (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > sin (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > cos (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > tan (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > asin (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > acos (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType atan (genType const &y, genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > atan (vecType< T, P > const &a, vecType< T, P > const &b)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > atan (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > sinh (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > cosh (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > tanh (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asinh (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > asinh (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acosh (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > acosh (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType atanh (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > atanh (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > equal (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > lessThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > equal (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool any (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator+ (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator+ (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator+ (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator- (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator- (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator- (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator* (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator* (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P >::col_type operator* (tmat2x2< T, P > const &m, typename tmat2x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P >::row_type operator* (typename tmat2x2< T, P >::col_type const &v, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator* (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator* (tmat2x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator* (tmat2x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator/ (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator/ (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P >::col_type operator/ (tmat2x2< T, P > const &m, typename tmat2x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P >::row_type operator/ (typename tmat2x2< T, P >::col_type const &v, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator/ (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > const operator- (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator+ (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator+ (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator+ (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator- (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator- (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator- (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator* (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator* (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P >::col_type operator* (tmat2x2< T, P > const &m, typename tmat2x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P >::row_type operator* (typename tmat2x2< T, P >::col_type const &v, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator* (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator* (tmat2x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator* (tmat2x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator/ (tmat2x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator/ (T const &s, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P >::col_type operator/ (tmat2x2< T, P > const &m, typename tmat2x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P >::row_type operator/ (typename tmat2x2< T, P >::col_type const &v, tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator/ (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > const operator- (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat2x2< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator+ (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator+ (tmat2x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator- (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator- (tmat2x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator* (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator* (T const &s, tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P >::col_type operator* (tmat2x3< T, P > const &m, typename tmat2x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P >::row_type operator* (typename tmat2x3< T, P >::col_type const &v, tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator* (tmat2x3< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator* (tmat2x3< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator* (tmat2x3< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator/ (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator/ (T const &s, tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > const operator- (tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator+ (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator+ (tmat2x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator- (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator- (tmat2x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator* (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator* (T const &s, tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P >::col_type operator* (tmat2x3< T, P > const &m, typename tmat2x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P >::row_type operator* (typename tmat2x3< T, P >::col_type const &v, tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator* (tmat2x3< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator* (tmat2x3< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator* (tmat2x3< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator/ (tmat2x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator/ (T const &s, tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > const operator- (tmat2x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat2x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat2x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator+ (tmat2x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator+ (tmat2x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator- (tmat2x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator- (tmat2x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator* (tmat2x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator* (T const &s, tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P >::col_type operator* (tmat2x4< T, P > const &m, typename tmat2x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P >::row_type operator* (typename tmat2x4< T, P >::col_type const &v, tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator* (tmat2x4< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator* (tmat2x4< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator* (tmat2x4< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator/ (tmat2x4< T, P > const &m, T s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator/ (T s, tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > const operator- (tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator+ (tmat2x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator+ (tmat2x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator- (tmat2x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator- (tmat2x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator* (tmat2x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator* (T const &s, tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P >::col_type operator* (tmat2x4< T, P > const &m, typename tmat2x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P >::row_type operator* (typename tmat2x4< T, P >::col_type const &v, tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator* (tmat2x4< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator* (tmat2x4< T, P > const &m1, tmat2x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator* (tmat2x4< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator/ (tmat2x4< T, P > const &m, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator/ (T s, tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > const operator- (tmat2x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat2x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat2x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator+ (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator+ (tmat3x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator- (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator- (tmat3x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator* (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator* (T const &s, tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P >::col_type operator* (tmat3x2< T, P > const &m, typename tmat3x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P >::row_type operator* (typename tmat3x2< T, P >::col_type const &v, tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > operator* (tmat3x2< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator* (tmat3x2< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator* (tmat3x2< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator/ (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator/ (T const &s, tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > const operator- (tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator+ (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator+ (tmat3x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator- (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator- (tmat3x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator* (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator* (T const &s, tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P >::col_type operator* (tmat3x2< T, P > const &m, typename tmat3x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P >::row_type operator* (typename tmat3x2< T, P >::col_type const &v, tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator* (tmat3x2< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator* (tmat3x2< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator* (tmat3x2< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator/ (tmat3x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator/ (T const &s, tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > const operator- (tmat3x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat3x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat3x2< T, P > const &m1, tmat3x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator+ (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator+ (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator+ (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator- (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator- (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator- (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator* (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator* (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P >::col_type operator* (tmat3x3< T, P > const &m, typename tmat3x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P >::row_type operator* (typename tmat3x3< T, P >::col_type const &v, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator* (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator* (tmat3x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator* (tmat3x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator/ (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator/ (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P >::col_type operator/ (tmat3x3< T, P > const &m, typename tmat3x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P >::row_type operator/ (typename tmat3x3< T, P >::col_type const &v, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator/ (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > const operator- (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator+ (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator+ (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator+ (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator- (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator- (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator- (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator* (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator* (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P >::col_type operator* (tmat3x3< T, P > const &m, typename tmat3x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P >::row_type operator* (typename tmat3x3< T, P >::col_type const &v, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator* (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator* (tmat3x3< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator* (tmat3x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator/ (tmat3x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator/ (T const &s, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P >::col_type operator/ (tmat3x3< T, P > const &m, typename tmat3x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P >::row_type operator/ (typename tmat3x3< T, P >::col_type const &v, tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator/ (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > const operator- (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat3x3< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator+ (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator+ (tmat3x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator- (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator- (tmat3x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator* (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator* (T const &s, tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P >::col_type operator* (tmat3x4< T, P > const &m, typename tmat3x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P >::row_type operator* (typename tmat3x4< T, P >::col_type const &v, tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator* (tmat3x4< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator* (tmat3x4< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator* (tmat3x4< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator/ (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator/ (T const &s, tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > const operator- (tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator+ (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator+ (tmat3x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator- (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator- (tmat3x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator* (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator* (T const &s, tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P >::col_type operator* (tmat3x4< T, P > const &m, typename tmat3x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P >::row_type operator* (typename tmat3x4< T, P >::col_type const &v, tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator* (tmat3x4< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator* (tmat3x4< T, P > const &m1, tmat2x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator* (tmat3x4< T, P > const &m1, tmat3x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator/ (tmat3x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator/ (T const &s, tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > const operator- (tmat3x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat3x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat3x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator+ (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator+ (tmat4x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator- (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator- (tmat4x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator* (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator* (T const &s, tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P >::col_type operator* (tmat4x2< T, P > const &m, typename tmat4x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P >::row_type operator* (typename tmat4x2< T, P >::col_type const &v, tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > operator* (tmat4x2< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator* (tmat4x2< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > operator* (tmat4x3< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator/ (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > operator/ (T const &s, tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > const operator- (tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator+ (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator+ (tmat4x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator- (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator- (tmat4x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator* (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator* (T const &s, tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P >::col_type operator* (tmat4x2< T, P > const &m, typename tmat4x2< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P >::row_type operator* (typename tmat4x2< T, P >::col_type const &v, tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > operator* (tmat4x2< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > operator* (tmat4x2< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator* (tmat4x2< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator/ (tmat4x2< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > operator/ (T const &s, tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > const operator- (tmat4x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat4x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat4x2< T, P > const &m1, tmat4x2< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator+ (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator+ (tmat4x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator- (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator- (tmat4x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator* (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator* (T const &s, tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P >::col_type operator* (tmat4x3< T, P > const &m, typename tmat4x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P >::row_type operator* (typename tmat4x3< T, P >::col_type const &v, tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > operator* (tmat4x3< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator* (tmat4x3< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator/ (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > operator/ (T const &s, tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > const operator- (tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator+ (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator+ (tmat4x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator- (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator- (tmat4x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator* (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator* (T const &s, tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P >::col_type operator* (tmat4x3< T, P > const &m, typename tmat4x3< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P >::row_type operator* (typename tmat4x3< T, P >::col_type const &v, tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > operator* (tmat4x3< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > operator* (tmat4x3< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator* (tmat4x3< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator/ (tmat4x3< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > operator/ (T const &s, tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > const operator- (tmat4x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > const operator++ (tmat4x3< T, P > const &m, int)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > const operator-- (tmat4x3< T, P > const &m, int)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat4x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat4x3< T, P > const &m1, tmat4x3< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator+ (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator+ (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator+ (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator- (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator- (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator- (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator* (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator* (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P >::col_type operator* (tmat4x4< T, P > const &m, typename tmat4x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P >::row_type operator* (typename tmat4x4< T, P >::col_type const &v, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > operator* (tmat4x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > operator* (tmat4x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator* (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator/ (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator/ (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P >::col_type operator/ (tmat4x4< T, P > const &m, typename tmat4x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P >::row_type operator/ (typename tmat4x4< T, P >::col_type &v, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > operator/ (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > const operator- (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator+ (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator+ (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator+ (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator- (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator- (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator- (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator* (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator* (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P >::col_type operator* (tmat4x4< T, P > const &m, typename tmat4x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P >::row_type operator* (typename tmat4x4< T, P >::col_type const &v, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > operator* (tmat4x4< T, P > const &m1, tmat2x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > operator* (tmat4x4< T, P > const &m1, tmat3x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator* (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator/ (tmat4x4< T, P > const &m, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator/ (T const &s, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P >::col_type operator/ (tmat4x4< T, P > const &m, typename tmat4x4< T, P >::row_type const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P >::row_type operator/ (typename tmat4x4< T, P >::col_type const &v, tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > operator/ (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > const operator- (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > const operator++ (tmat4x4< T, P > const &m, int)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > const operator-- (tmat4x4< T, P > const &m, int)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator+ (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator+ (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator+ (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator- (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator- (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator- (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator* (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator* (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator* (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator/ (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator/ (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator/ (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator- (tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL bool operator== (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL bool operator!= (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator% (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator% (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator% (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator& (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator& (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator& (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator| (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator| (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator| (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator^ (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator^ (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator^ (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator<< (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator<< (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator<< (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator>> (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator>> (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator>> (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec1< T, P > operator~ (tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator+ (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator+ (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator+ (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator- (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator- (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator- (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator* (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator* (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator* (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator/ (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator/ (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator/ (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator- (tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator++ (tvec1< T, P > const &v, int)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator-- (tvec1< T, P > const &v, int)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator% (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator% (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator% (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator& (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator& (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator& (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator| (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator| (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator| (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator^ (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator^ (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator^ (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator<< (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator<< (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator<< (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator>> (tvec1< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator>> (T const &s, tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator>> (tvec1< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P > operator~ (tvec1< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator+ (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator+ (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator+ (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator+ (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator+ (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator- (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator- (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator- (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator- (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator- (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator* (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator* (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator* (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator* (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator* (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator/ (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator/ (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator/ (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator/ (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator/ (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator- (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator% (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator% (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator% (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator% (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator% (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator& (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator& (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator& (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator& (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator& (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator| (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator| (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator| (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator| (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator| (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator^ (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator^ (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator^ (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator^ (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator^ (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator<< (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator<< (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator<< (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator<< (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator<< (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator>> (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator>> (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator>> (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator>> (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator>> (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > operator~ (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator+ (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator+ (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator+ (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator+ (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator+ (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator- (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator- (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator- (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator- (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator- (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator* (tvec2< T, P > const &v1, T const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator* (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator* (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator* (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator* (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator/ (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator/ (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator/ (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator/ (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator/ (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator- (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator% (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator% (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator% (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator% (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator% (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator& (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator& (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator& (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator& (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator& (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator| (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator| (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator| (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator| (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator| (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator^ (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator^ (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator^ (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator^ (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator^ (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator<< (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator<< (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator<< (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator<< (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator<< (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator>> (tvec2< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator>> (tvec2< T, P > const &v1, tvec1< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator>> (T const &s, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator>> (tvec1< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator>> (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > operator~ (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator+ (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator+ (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator+ (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator+ (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator+ (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator- (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator- (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator- (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator- (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator- (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator/ (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator/ (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator/ (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator/ (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator/ (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator- (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator% (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator% (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator% (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator% (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator% (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator& (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator& (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator& (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator& (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator& (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator| (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator| (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator| (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator| (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator| (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator^ (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator^ (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator^ (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator^ (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator^ (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator<< (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator<< (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator<< (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator<< (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator<< (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator>> (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator>> (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator>> (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator>> (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator>> (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator~ (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator+ (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator+ (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator+ (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator+ (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator+ (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator- (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator- (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator- (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator- (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator- (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator/ (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator/ (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator/ (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator/ (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator/ (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator- (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator% (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator% (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator% (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator% (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator% (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator& (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator& (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator& (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator& (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator& (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator| (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator| (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator| (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator| (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator| (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator^ (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator^ (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator^ (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator^ (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator^ (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator<< (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator<< (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator<< (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator<< (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator<< (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator>> (tvec3< T, P > const &v, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator>> (tvec3< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator>> (T const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator>> (tvec1< T, P > const &s, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator>> (tvec3< T, P > const &v1, tvec3< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator~ (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator+ (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator+ (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator+ (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator+ (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator+ (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator- (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator- (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator- (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator- (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator- (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator/ (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator/ (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator/ (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator/ (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator/ (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator- (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL bool operator== (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL bool operator!= (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator% (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator% (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator% (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator% (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator% (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator& (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator& (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator& (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator& (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator& (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator| (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator| (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator| (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator| (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator| (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator^ (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator^ (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator^ (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator^ (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator^ (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator<< (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator<< (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator<< (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator<< (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator<< (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator>> (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator>> (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator>> (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator>> (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator>> (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator~ (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator+ (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator+ (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator+ (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator- (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator- (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator- (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator/ (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator/ (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator/ (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator- (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator% (tvec4< T, P > const &v, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator% (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator% (T s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator% (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator% (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator& (tvec4< T, P > const &v, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator& (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator& (T s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator& (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator& (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator| (tvec4< T, P > const &v, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator| (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator| (T s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator| (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator| (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator^ (tvec4< T, P > const &v, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator^ (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator^ (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator^ (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator^ (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator<< (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator<< (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator<< (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator<< (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator<< (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator>> (tvec4< T, P > const &v, T scalar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator>> (tvec4< T, P > const &v, tvec1< T, P > const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator>> (T scalar, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator>> (tvec1< T, P > const &s, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator>> (tvec4< T, P > const &v1, tvec4< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator~ (tvec4< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 
template<typename T , precision P, template< typename, precision > class vecIUType>
GLM_FUNC_DECL vecIUType< T, P > mask (vecIUType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldFillOne (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > bitfieldFillZero (vecType< T, P > 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 int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
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<typename T , precision P, template< typename, precision > class vecIUType>
GLM_FUNC_QUALIFIER vecIUType< T, P > mask (vecIUType< T, P > const &v)
 
template<typename genIType >
GLM_FUNC_QUALIFIER genIType bitfieldRotateRight (genIType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldRotateRight (vecType< T, P > const &In, int Shift)
 
template<typename genIType >
GLM_FUNC_QUALIFIER genIType bitfieldRotateLeft (genIType In, int Shift)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldRotateLeft (vecType< T, P > const &In, int Shift)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldFillOne (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > bitfieldFillZero (vecType< T, P > const &Value, int FirstBit, int BitCount)
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType epsilon ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType zero ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType one ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType half_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType three_over_two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType one_over_two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType four_over_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType e ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType euler ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_three ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType root_five ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ln_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ln_ten ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType third ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType two_thirds ()
 
template<typename genType >
GLM_FUNC_QUALIFIER genType golden_ratio ()
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type 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<>
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<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, vecType< T, P > const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > epsilonNotEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > epsilonNotEqual (vecType< T, P > const &x, vecType< T, P > const &y, vecType< T, P > const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > epsilonEqual (tquat< T, P > const &x, tquat< T, P > const &y, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > epsilonNotEqual (tquat< T, P > const &x, tquat< T, P > const &y, T const &epsilon)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mod (genIUType x, genIUType y)
 
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 , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > affineInverse (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > affineInverse (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > inverseTranspose (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > inverseTranspose (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > inverseTranspose (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultportho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultportho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpfrustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpperspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpperspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpinfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultptweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultptweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > project (tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL tvec3< T, P > unProject (tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL tmat4x4< T, P > pickMatrix (tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > lookAt (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > translate (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > rotate (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > rotate_slow (tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > scale (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > scale_slow (tmat4x4< T, P > const &m, tvec3< T, P > const &v)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultportho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultportho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpfrustum (T left, T right, T bottom, T top, T nearVal, T farVal)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpperspective (T fovy, T aspect, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpperspectiveFov (T fov, T width, T height, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpinfinitePerspective (T fovy, T aspect, T zNear)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultptweakedInfinitePerspective (T fovy, T aspect, T zNear, T ep)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultptweakedInfinitePerspective (T fovy, T aspect, T zNear)
 
template<typename T , typename U , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > project (tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > unProject (tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)
 
template<typename T , precision P, typename U >
GLM_FUNC_QUALIFIER tmat4x4< T, P > pickMatrix (tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > lookAt (tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLperlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLperlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLsimplex (vecType< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERperlin (tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERperlin (tvec3< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERperlin (tvec4< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERperlin (tvec2< T, P > const &Position, tvec2< T, P > const &rep)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERperlin (tvec3< T, P > const &Position, tvec3< T, P > const &rep)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERperlin (tvec4< T, P > const &Position, tvec4< T, P > const &rep)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERsimplex (glm::tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERsimplex (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERsimplex (tvec4< T, P > 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)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > operator- (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > operator+ (tquat< T, P > const &q, tquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > operator* (tquat< T, P > const &q, tquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > operator* (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > operator* (tvec4< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > operator* (tquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > operator* (T const &s, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > operator/ (tquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECLlength (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > normalize (tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECLdot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > mix (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > lerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > slerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > conjugate (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > inverse (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotate (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > eulerAngles (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECLroll (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECLpitch (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECLyaw (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > mat3_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > mat4_cast (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > quat_cast (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECLangle (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > axis (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > angleAxis (T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > lessThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > greaterThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > equal (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > notEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > conjugate (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > inverse (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > operator- (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > operator+ (tquat< T, P > const &q, tquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > operator* (tquat< T, P > const &q, tquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (tvec4< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > operator* (tquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > operator* (T const &s, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > operator/ (tquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tquat< T, P > const &q1, tquat< T, P > const &q2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tquat< T, P > const &q1, tquat< T, P > const &q2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlength (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > normalize (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > cross (tquat< T, P > const &q1, tquat< T, P > const &q2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > mix (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > lerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > slerp (tquat< T, P > const &x, tquat< T, P > const &y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > rotate (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > eulerAngles (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERroll (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERpitch (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERyaw (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > mat3_cast (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > mat4_cast (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > quat_cast (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > quat_cast (tmat4x4< T, P > const &m4)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERangle (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > axis (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > angleAxis (T const &angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > lessThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > lessThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > greaterThan (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > greaterThanEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > equal (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > notEqual (tquat< T, P > const &x, tquat< T, P > const &y)
 
template<typename genTYpe >
GLM_FUNC_DECL genTYpe linearRand (genTYpe Min, genTYpe Max)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > linearRand (vecType< T, P > const &Min, vecType< T, P > const &Max)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultpcircularRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultpsphericalRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultpdiskRand (T Radius)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultpballRand (T Radius)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType linearRand (genType Min, genType Max)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > linearRand (vecType< T, P > const &Min, vecType< T, P > const &Max)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType gaussRand (genType Mean, genType Deviation)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > gaussRand (vecType< T, P > const &Mean, vecType< T, P > const &Deviation)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec2< T, defaultpdiskRand (T Radius)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec3< T, defaultpballRand (T Radius)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec2< T, defaultpcircularRand (T Radius)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec3< T, defaultpsphericalRand (T Radius)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sec (genType angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > sec (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType csc (genType angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > csc (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType cot (genType angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > cot (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asec (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > asec (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acsc (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > acsc (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acot (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > acot (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType sech (genType angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > sech (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType csch (genType angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > csch (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType coth (genType angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > coth (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType asech (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > asech (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acsch (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > acsch (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType acoth (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > acoth (vecType< T, P > const &x)
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundPowerOfTwo (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType Value, genIUType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, T Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isMultiple (vecType< T, P > const &Value, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > ceilMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > floorMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > roundMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isPowerOfTwo (genType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > isPowerOfTwo (vecType< T, P > const &Value)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ceilPowerOfTwo (genType value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > ceilPowerOfTwo (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType floorPowerOfTwo (genType value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > floorPowerOfTwo (vecType< T, P > const &v)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType roundPowerOfTwo (genIUType value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > roundPowerOfTwo (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isMultiple (genType Value, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > isMultiple (vecType< T, P > const &Value, T Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > isMultiple (vecType< T, P > const &Value, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType ceilMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > ceilMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType floorMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > floorMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType roundMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > roundMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &vec)
 
template<typename T >
GLM_FUNC_DECL tvec2< T, defaultpmake_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec3< T, defaultpmake_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tvec4< T, defaultpmake_vec4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultpmake_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x3< T, defaultpmake_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x4< T, defaultpmake_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x2< T, defaultpmake_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultpmake_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x4< T, defaultpmake_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x2< T, defaultpmake_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x3< T, defaultpmake_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpmake_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultpmake_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultpmake_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpmake_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL tquat< T, defaultpmake_quat (T const *const ptr)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tvec2< T, P > const &vec)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tvec2< T, P > &vec)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tvec3< T, P > const &vec)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tvec3< T, P > &vec)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tvec4< T, P > const &vec)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tvec4< T, P > &vec)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat2x2< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat2x2< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat3x3< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat3x3< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat4x4< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat2x3< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat2x3< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat3x2< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat3x2< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat2x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat2x4< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat4x2< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat4x2< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat3x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat3x4< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tmat4x3< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tmat4x3< T, P > &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T const * value_ptr (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T * value_ptr (tquat< T, P > &q)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec2< T, defaultpmake_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec3< T, defaultpmake_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tvec4< T, defaultpmake_vec4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat2x2< T, defaultpmake_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat2x3< T, defaultpmake_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat2x4< T, defaultpmake_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat3x2< T, defaultpmake_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat3x3< T, defaultpmake_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat3x4< T, defaultpmake_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x2< T, defaultpmake_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x3< T, defaultpmake_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpmake_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat2x2< T, defaultpmake_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat3x3< T, defaultpmake_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpmake_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_QUALIFIER tquat< T, defaultpmake_quat (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 
template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uintfloat_distance (vecType< T > const &x, vecType< T > const &y)
 
template<>
GLM_FUNC_QUALIFIER float next_float (float const &x)
 
template<>
GLM_FUNC_QUALIFIER double next_float (double const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > next_float (vecType< T, P > const &x)
 
GLM_FUNC_QUALIFIER float prev_float (float const &x)
 
GLM_FUNC_QUALIFIER double prev_float (double const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > prev_float (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERnext_float (T const &x, uint const &ulps)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > next_float (vecType< T, P > const &x, vecType< uint, P > const &ulps)
 
template<typename T >
GLM_FUNC_QUALIFIERprev_float (T const &x, uint const &ulps)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > prev_float (vecType< T, P > const &x, vecType< uint, P > const &ulps)
 
template<typename T >
GLM_FUNC_QUALIFIER uint float_distance (T const &x, T const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< uint, P > float_distance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECLassociatedMin (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL tvec2< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECLassociatedMin (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U >
GLM_FUNC_DECLassociatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename T , typename U >
GLM_FUNC_DECLassociatedMax (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL tvec2< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_DECLassociatedMax (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c)
 
template<typename T , typename U >
GLM_FUNC_DECLassociatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename T , typename U , precision P>
GLM_FUNC_QUALIFIERassociatedMin (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER tvec2< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMin (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIERassociatedMin (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIERassociatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMin (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMin (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMin (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIERassociatedMax (T x, U a, T y, U b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER tvec2< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIERassociatedMax (T x, U a, T y, U b, T z, U c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c)
 
template<typename T , typename U >
GLM_FUNC_QUALIFIERassociatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMax (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMax (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)
 
template<typename T , typename U , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< U, P > associatedMax (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > highestBitValue (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest (vecType< T, P > const &value)
 
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType highestBitValue (genIUType Value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > highestBitValue (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoAbove (genType value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > powerOfTwoAbove (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoBelow (genType value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > powerOfTwoBelow (vecType< T, P > const &v)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType powerOfTwoNearest (genType value)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > powerOfTwoNearest (vecType< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > closestPointOnLine (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > closestPointOnLine (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > closestPointOnLine (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > closestPointOnLine (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgbColor (tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > hsvColor (tvec3< T, P > const &rgbValue)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpsaturation (T const s)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > saturation (T const s, tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > saturation (T const s, tvec4< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_DECLluminosity (tvec3< T, P > const &color)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rgbColor (const tvec3< T, P > &hsvColor)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > hsvColor (const tvec3< T, P > &rgbColor)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpsaturation (T const s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > saturation (const T s, const tvec3< T, P > &color)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > saturation (const T s, const tvec4< T, P > &color)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERluminosity (const tvec3< T, P > &color)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rgb2YCoCg (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rgb2YCoCgR (tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > YCoCg2rgb (tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > YCoCgR2rgb (tvec3< T, P > const &YCoCgRColor)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER bool isdenormal (T const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1< T, P >::bool_type isdenormal (tvec1< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P >::bool_type isdenormal (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P >::bool_type isdenormal (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P >::bool_type isdenormal (tvec4< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERlerp (T x, T y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, T a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > lerp (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > lerp (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > lerp (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERsaturate (T x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > saturate (const tvec2< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > saturate (const tvec3< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > saturate (const tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERatan2 (T x, T y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > atan2 (const tvec2< T, P > &x, const tvec2< T, P > &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > atan2 (const tvec3< T, P > &x, const tvec3< T, P > &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > atan2 (const tvec4< T, P > &x, const tvec4< T, P > &y)
 
template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< bool, P > isfinite (const tvec2< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< bool, P > isfinite (const tvec3< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< bool, P > isfinite (const tvec4< T, P > &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER bool isfinite (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< bool, P > isfinite (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< bool, P > isfinite (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > isfinite (tvec4< T, P > const &x)
 
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 T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERcompAdd (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERcompMul (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERcompMin (vecType< T, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERcompMax (vecType< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > operator+ (tdualquat< T, P > const &q, tdualquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > operator* (tdualquat< T, P > const &q, tdualquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > operator* (tdualquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > operator* (T const &s, tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > operator/ (tdualquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > normalize (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > dualquat_cast (tmat3x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > operator- (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > operator+ (tdualquat< T, P > const &q, tdualquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > operator* (tdualquat< T, P > const &p, tdualquat< T, P > const &o)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tdualquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > operator* (tvec3< T, P > const &v, tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (tdualquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > operator* (tvec4< T, P > const &v, tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > operator* (tdualquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > operator* (T const &s, tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > operator/ (tdualquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator== (tdualquat< T, P > const &q1, tdualquat< T, P > const &q2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool operator!= (tdualquat< T, P > const &q1, tdualquat< T, P > const &q2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > normalize (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat< T, P > dualquat_cast (tmat3x4< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpeulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL tmat4x4< T, defaultpyawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_DECL tmat2x2< T, defaultporientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_DECL tmat3x3< T, defaultporientate3 (T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orientate3 (tvec3< T, P > const &angles)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientate4 (tvec3< T, P > const &angles)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleX (T const &angleX)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleY (T const &angleY)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleZ (T const &angleZ)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleZX (T const &angleZ, T const &angleX)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpeulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat4x4< T, defaultpyawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat2x2< T, defaultporientate2 (T const &angle)
 
template<typename T >
GLM_FUNC_QUALIFIER tmat3x3< T, defaultporientate3 (T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > orientate3 (tvec3< T, P > const &angles)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > orientate4 (tvec3< T, P > const &angles)
 
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 , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > extend (tvec2< T, P > const &Origin, tvec2< T, P > const &Source, T const &Distance)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > extend (tvec3< T, P > const &Origin, tvec3< T, P > const &Source, T const &Distance)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > extend (tvec4< T, P > const &Origin, tvec4< T, P > const &Source, T const &Distance)
 
template<typename T >
GLM_FUNC_DECLmin (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_DECLmin (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_DECLmax (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_DECLmax (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 T >
GLM_FUNC_QUALIFIERmin (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_QUALIFIERmin (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_QUALIFIERmax (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_QUALIFIERmax (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_DECL genType fastPow (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastPow (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECLfastExp (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECLfastLog (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECLfastExp2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastExp2 (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECLfastLog2 (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastLog2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastPow (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastPow (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIERfastPow (T x, int y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastPow (vecType< T, P > const &x, vecType< int, P > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIERfastExp (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastExp (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLog (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastLog (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastExp2 (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastExp2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLog2 (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastLog2 (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > fastInverseSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLfastLength (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLfastDistance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastInverseSqrt (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastInverseSqrt (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastLength (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERfastLength (vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastDistance (genType x, genType y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERfastDistance (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType fastNormalize (genType x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastNormalize (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_DECLwrapAngle (T angle)
 
template<typename T >
GLM_FUNC_DECLfastSin (T angle)
 
template<typename T >
GLM_FUNC_DECLfastCos (T angle)
 
template<typename T >
GLM_FUNC_DECLfastTan (T angle)
 
template<typename T >
GLM_FUNC_DECLfastAsin (T angle)
 
template<typename T >
GLM_FUNC_DECLfastAcos (T angle)
 
template<typename T >
GLM_FUNC_DECLfastAtan (T y, T x)
 
template<typename T >
GLM_FUNC_DECLfastAtan (T angle)
 
template<typename T >
GLM_FUNC_QUALIFIERwrapAngle (T angle)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > wrapAngle (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastCos (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastCos (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastSin (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastSin (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastTan (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastTan (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastAsin (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastAsin (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastAcos (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastAcos (vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastAtan (T y, T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastAtan (vecType< T, P > const &y, vecType< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERfastAtan (T x)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > fastAtan (vecType< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECLradialGradient (tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_DECLlinearGradient (tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERradialGradient (tvec2< T, P > const &Center, T const &Radius, tvec2< T, P > const &Focal, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlinearGradient (tvec2< T, P > const &Point0, tvec2< T, P > const &Point1, tvec2< T, P > const &Position)
 
template<typename T , precision P>
GLM_FUNC_DECL bool rightHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL bool leftHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool rightHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool leftHanded (tvec3< T, P > const &tangent, tvec3< T, P > const &binormal, tvec3< T, P > const &normal)
 
GLM_FUNC_DECL int pow (int x, int 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 , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > factorial (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > factorial (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > factorial (tvec4< T, P > 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 genType >
GLM_FUNC_DECL bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
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 genType >
GLM_FUNC_QUALIFIER bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &v0, genType const &v1, genType const &v2, genType &baryPosition)
 
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 , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tquat< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tvec2< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tvec3< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tvec4< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat2x2< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat2x3< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat2x4< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat3x2< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat3x3< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat3x4< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat4x2< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat4x3< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, tmat4x4< T, P > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_DECL std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &, std::pair< tmat4x4< T, P > const, tmat4x4< T, P > const > const &)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tquat< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tvec2< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tvec3< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tvec4< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat2x2< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat2x3< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat2x4< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat3x2< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat3x3< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat3x4< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat4x2< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat4x3< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, tmat4x4< T, P > const &a)
 
template<typename CTy , typename CTr , typename T , precision P>
GLM_FUNC_QUALIFIER std::basic_ostream< CTy, CTr > & operator<< (std::basic_ostream< CTy, CTr > &os, std::pair< tmat4x4< T, P > const, tmat4x4< T, P > const > const &a)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType x, genType base)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > sign (vecType< T, P > const &x, vecType< T, P > const &base)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType log (genType const &x, genType const &base)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > log (vecType< T, P > const &x, vecType< T, P > const &base)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > matrixCross3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > matrixCross4 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > matrixCross3 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > matrixCross4 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL bool decompose (tmat4x4< T, P > const &modelMatrix, tvec3< T, P > &scale, tquat< T, P > &orientation, tvec3< T, P > &translation, tvec3< T, P > &skew, tvec4< T, P > &perspective)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > combine (tvec3< T, P > const &a, tvec3< T, P > const &b, T ascl, T bscl)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER void v3Scale (tvec3< T, P > &v, T desiredLength)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool decompose (tmat4x4< T, P > const &ModelMatrix, tvec3< T, P > &Scale, tquat< T, P > &Orientation, tvec3< T, P > &Translation, tvec3< T, P > &Skew, tvec4< T, P > &Perspective)
 
template<typename T , precision P>
GLM_FUNC_DECL void axisAngle (tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > axisAngleMatrix (tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > extractMatrixRotation (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > interpolate (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER void axisAngle (tmat4x4< T, P > const &mat, tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > axisAngleMatrix (tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > extractMatrixRotation (tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > interpolate (tmat4x4< T, P > const &m1, tmat4x4< T, P > const &m2, T const delta)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > rowMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > rowMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rowMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > colMajor2 (tmat2x2< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > colMajor3 (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tvec4< T, P > const &v1, tvec4< T, P > const &v2, tvec4< T, P > const &v3, tvec4< T, P > const &v4)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > colMajor4 (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > rowMajor2 (tvec2< T, P > const &v1, tvec2< T, P > const &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > rowMajor2 (const tmat2x2< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rowMajor3 (const tvec3< T, P > &v1, const tvec3< T, P > &v2, const tvec3< T, P > &v3)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rowMajor3 (const tmat3x3< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > rowMajor4 (const tvec4< T, P > &v1, const tvec4< T, P > &v2, const tvec4< T, P > &v3, const tvec4< T, P > &v4)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > rowMajor4 (const tmat4x4< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > colMajor2 (const tvec2< T, P > &v1, const tvec2< T, P > &v2)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > colMajor2 (const tmat2x2< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > colMajor3 (const tvec3< T, P > &v1, const tvec3< T, P > &v2, const tvec3< T, P > &v3)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > colMajor3 (const tmat3x3< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > colMajor4 (const tvec4< T, P > &v1, const tvec4< T, P > &v2, const tvec4< T, P > &v3, const tvec4< T, P > &v4)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > colMajor4 (const tmat4x4< T, P > &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2< T, P > diagonal2x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > diagonal2x3 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > diagonal2x4 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2< T, P > diagonal3x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > diagonal3x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > diagonal3x4 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2< T, P > diagonal4x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3< T, P > diagonal4x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > diagonal4x4 (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2< T, P > diagonal2x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3< T, P > diagonal2x3 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4< T, P > diagonal2x4 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2< T, P > diagonal3x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > diagonal3x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4< T, P > diagonal3x4 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > diagonal4x4 (tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3< T, P > diagonal4x3 (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2< T, P > diagonal4x2 (tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNull (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL bool isNormalized (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool isNull (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool isNull (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool isNull (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIER bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool isNormalized (tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool isNormalized (tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool isNormalized (tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIER bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > translate (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > rotate (tmat3x3< T, P > const &m, T angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > scale (tmat3x3< T, P > const &m, tvec2< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_DECLmixedProduct (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERmixedProduct (tvec3< T, P > const &v1, tvec3< T, P > const &v2, tvec3< T, P > const &v3)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL genType higherMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > higherMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL genType lowerMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > lowerMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType higherMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > higherMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType lowerMultiple (genType Source, genType Multiple)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< T, P > lowerMultiple (vecType< T, P > const &Source, vecType< T, P > const &Multiple)
 
template<typename T >
GLM_FUNC_DECLlength2 (T const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length2 (genType const &x)
 
template<typename T >
GLM_FUNC_DECLdistance2 (T const &p0, T const &p1)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
GLM_FUNC_DECLl1Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECLl1Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECLl2Norm (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECLl2Norm (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECLlxNorm (tvec3< T, P > const &x, tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_DECLlxNorm (tvec3< T, P > const &x, unsigned int Depth)
 
template<typename T >
GLM_FUNC_QUALIFIERlength2 (T const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlength2 (tvec2< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlength2 (tvec3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlength2 (tvec4< T, P > const &x)
 
template<typename T >
GLM_FUNC_QUALIFIERdistance2 (T const &p0, T const &p1)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERdistance2 (tvec2< T, P > const &p0, tvec2< T, P > const &p1)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERdistance2 (tvec3< T, P > const &p0, tvec3< T, P > const &p1)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERdistance2 (tvec4< T, P > const &p0, tvec4< T, P > const &p1)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERl1Norm (tvec3< T, P > const &a, tvec3< T, P > const &b)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERl1Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERl2Norm (tvec3< T, P > const &a, tvec3< T, P > const &b)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERl2Norm (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlxNorm (tvec3< T, P > const &x, tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlxNorm (tvec3< T, P > const &v, unsigned int Depth)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > triangleNormal (tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > triangleNormal (tvec3< T, P > const &p1, tvec3< T, P > const &p2, tvec3< T, P > const &p3)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLnormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECLfastNormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERnormalizeDot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERfastNormalizeDot (vecType< T, P > const &x, vecType< T, P > 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 , precision P>
GLM_FUNC_DECL tmat3x3< T, P > orthonormalize (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > orthonormalize (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > orthonormalize (tmat3x3< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > orthonormalize (tvec3< T, P > const &x, tvec3< T, P > const &y)
 
template<typename vecType >
GLM_FUNC_DECL vecType perp (vecType const &x, vecType const &Normal)
 
template<typename vecType >
GLM_FUNC_QUALIFIER vecType perp (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > polar (tvec3< T, P > const &euclidean)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > euclidean (tvec2< T, P > const &polar)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > polar (tvec3< T, P > const &euclidean)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > euclidean (tvec2< T, P > const &polar)
 
template<typename vecType >
GLM_FUNC_DECL vecType proj (vecType const &x, vecType const &Normal)
 
template<typename vecType >
GLM_FUNC_QUALIFIER vecType proj (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECLextractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > toMat3 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > toMat4 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename T , precision P>
GLM_FUNC_DECLlength2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERextractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERlength2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename genType >
const genType::value_type * begin (genType const &v)
 
template<typename genType >
const genType::value_type * 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 , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotateNormalizedAxis (tmat4x4< T, P > const &m, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotateNormalizedAxis (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > rotateNormalizedAxis (tmat4x4< T, P > const &m, T const &angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat< T, P > rotateNormalizedAxis (tquat< T, P > const &q, T const &angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > slerp (tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec2< T, P > rotate (tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tvec3< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateX (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateY (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotateZ (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateX (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateY (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotateZ (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > orientation (tvec3< T, P > const &Normal, tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > slerp (tvec3< T, P > const &x, tvec3< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > rotate (tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rotate (tvec3< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > rotate (tvec4< T, P > const &v, T const &angle, tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rotateX (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rotateY (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > rotateZ (tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > rotateX (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > rotateY (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > rotateZ (tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > orientation (tvec3< T, P > const &Normal, tvec3< T, P > 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)
 
GLM_FUNC_QUALIFIER mat4 mat4_cast (detail::fmat4x4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD matrixCompMult (detail::fmat4x4SIMD const &x, detail::fmat4x4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD outerProduct (detail::fvec4SIMD const &c, detail::fvec4SIMD const &r)
 
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD transpose (detail::fmat4x4SIMD const &m)
 
GLM_FUNC_QUALIFIER float determinant (detail::fmat4x4SIMD const &m)
 
GLM_FUNC_QUALIFIER quat quat_cast (detail::fquatSIMD const &x)
 
template<typename T >
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast_impl (const T m0[], const T m1[], const T m2[])
 
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast (detail::fmat4x4SIMD const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast (tmat4x4< T, P > const &m)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER detail::fquatSIMD quatSIMD_cast (tmat3x3< T, P > const &m)
 
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD mat4SIMD_cast (detail::fquatSIMD const &q)
 
GLM_FUNC_QUALIFIER mat4 mat4_cast (detail::fquatSIMD const &q)
 
GLM_FUNC_QUALIFIER float length (detail::fquatSIMD const &q)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD normalize (detail::fquatSIMD const &q)
 
GLM_FUNC_QUALIFIER float dot (detail::fquatSIMD const &q1, detail::fquatSIMD const &q2)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD mix (detail::fquatSIMD const &x, detail::fquatSIMD const &y, float const &a)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD lerp (detail::fquatSIMD const &x, detail::fquatSIMD const &y, float const &a)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD slerp (detail::fquatSIMD const &x, detail::fquatSIMD const &y, float const &a)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD fastMix (detail::fquatSIMD const &x, detail::fquatSIMD const &y, float const &a)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD fastSlerp (detail::fquatSIMD const &x, detail::fquatSIMD const &y, float const &a)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD conjugate (detail::fquatSIMD const &q)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD inverse (detail::fquatSIMD const &q)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD angleAxisSIMD (float const &angle, vec3 const &v)
 
GLM_FUNC_QUALIFIER detail::fquatSIMD angleAxisSIMD (float const &angle, float const &x, float const &y, float const &z)
 
GLM_FUNC_QUALIFIER __m128 fastSin (__m128 x)
 
GLM_FUNC_QUALIFIER vec4 vec4_cast (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD abs (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD sign (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD floor (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD trunc (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD round (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD ceil (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD fract (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD mod (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD mod (detail::fvec4SIMD const &x, float const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD min (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD min (detail::fvec4SIMD const &x, float const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD max (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD max (detail::fvec4SIMD const &x, float const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD clamp (detail::fvec4SIMD const &x, detail::fvec4SIMD const &minVal, detail::fvec4SIMD const &maxVal)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD clamp (detail::fvec4SIMD const &x, float const &minVal, float const &maxVal)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD mix (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y, detail::fvec4SIMD const &a)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD step (detail::fvec4SIMD const &edge, detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD step (float const &edge, detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD smoothstep (detail::fvec4SIMD const &edge0, detail::fvec4SIMD const &edge1, detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD smoothstep (float const &edge0, float const &edge1, detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD fma (detail::fvec4SIMD const &a, detail::fvec4SIMD const &b, detail::fvec4SIMD const &c)
 
GLM_FUNC_QUALIFIER float length (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER float fastLength (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER float niceLength (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD length4 (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastLength4 (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD niceLength4 (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER float distance (detail::fvec4SIMD const &p0, detail::fvec4SIMD const &p1)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD distance4 (detail::fvec4SIMD const &p0, detail::fvec4SIMD const &p1)
 
GLM_FUNC_QUALIFIER float dot (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD dot4 (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD cross (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD normalize (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastNormalize (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD faceforward (detail::fvec4SIMD const &N, detail::fvec4SIMD const &I, detail::fvec4SIMD const &Nref)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD reflect (detail::fvec4SIMD const &I, detail::fvec4SIMD const &N)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD refract (detail::fvec4SIMD const &I, detail::fvec4SIMD const &N, float const &eta)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD sqrt (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD niceSqrt (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastSqrt (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD inversesqrt (detail::fvec4SIMD const &x)
 
GLM_FUNC_QUALIFIER detail::fvec4SIMD fastInversesqrt (detail::fvec4SIMD 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<template< typename, precision > class matType, typename T , precision P>
GLM_FUNC_DECL std::string to_string (matType< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > translate (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > rotate (T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > scale (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > translate (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > rotate (T angle, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > scale (tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearX2D (tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > shearY2D (tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearX3D (const tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearY3D (const tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > shearZ3D (const tmat4x4< T, P > &m, T x, T y)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > proj2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > proj3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
GLM_FUNC_DECL tmat4x4< valType, P > scaleBias (tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearX2D (const tmat3x3< T, P > &m, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > shearY2D (const tmat3x3< T, P > &m, T s)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > shearX3D (const tmat4x4< T, P > &m, T s, T t)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > shearY3D (const tmat4x4< T, P > &m, T s, T t)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > shearZ3D (const tmat4x4< T, P > &m, T s, T t)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > reflect2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > reflect3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3< T, P > proj2D (const tmat3x3< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > proj3D (const tmat4x4< T, P > &m, const tvec3< T, P > &normal)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > scaleBias (T scale, T bias)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4< T, P > scaleBias (const tmat4x4< T, P > &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 (float64, aligned_float64, 8)
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 
 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 (mat2x2, aligned_mat2x2, 16)
 
 GLM_ALIGNED_TYPEDEF (mat3x3, aligned_mat3x3, 16)
 
 GLM_ALIGNED_TYPEDEF (mat4x4, aligned_mat4x4, 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 (fquat, 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 vecType >
GLM_FUNC_DECL vecType::value_type angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECLorientedAngle (tvec2< T, P > const &x, tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECLorientedAngle (tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType angle (genType const &x, genType const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIERangle (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERorientedAngle (tvec2< T, P > const &x, tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIERorientedAngle (tvec3< T, P > const &x, tvec3< T, P > const &y, tvec3< T, P > const &ref)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool isNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool isNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< bool, P > isCompNull (tvec2< T, P > const &v, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< bool, P > isCompNull (tvec3< T, P > const &v, T const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< bool, P > isCompNull (tvec4< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > 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 mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType clamp (genType const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > clamp (tvec2< T, P > const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > clamp (tvec3< T, P > const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > clamp (tvec4< T, P > const &Texcoord)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType repeat (genType const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > repeat (tvec2< T, P > const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > repeat (tvec3< T, P > const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > repeat (tvec4< T, P > const &Texcoord)
 
template<typename genType , precision P>
GLM_FUNC_QUALIFIER genType mirrorRepeat (genType const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2< T, P > mirrorRepeat (tvec2< T, P > const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3< T, P > mirrorRepeat (tvec3< T, P > const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4< T, P > mirrorRepeat (tvec4< T, P > const &Texcoord)
 

Typedef Documentation

typedef int glm::length_t
typedef float glm::lowp_float_t
typedef float glm::mediump_float_t
typedef double glm::highp_float_t
typedef std::size_t glm::sizeType
typedef tvec1<float, highp> glm::highp_vec1_t
typedef tvec1<float, lowp> glm::lowp_vec1_t
typedef tvec1<double, highp> glm::highp_dvec1_t
typedef tvec1<double, lowp> glm::lowp_dvec1_t
typedef tvec1<int, lowp> glm::lowp_ivec1_t
typedef tvec1<bool, highp> glm::highp_bvec1_t
typedef tvec1<bool, lowp> glm::lowp_bvec1_t
typedef tquat<float, lowp> glm::lowp_quat

Quaternion of low single-precision floating-point numbers.

See also
GLM_GTC_quaternion
typedef tquat<float, mediump> glm::mediump_quat

Quaternion of medium single-precision floating-point numbers.

See also
GLM_GTC_quaternion
typedef tquat<float, highp> glm::highp_quat

Quaternion of high single-precision floating-point numbers.

See also
GLM_GTC_quaternion

Quaternion of default single-precision floating-point numbers.

Quaternion of low single-precision floating-point numbers.

See also
GLM_GTC_quaternion

Quaternion of medium single-precision floating-point numbers.

See also
GLM_GTC_quaternion

Quaternion of high single-precision floating-point numbers.

See also
GLM_GTC_quaternion
typedef tquat<double, lowp> glm::lowp_dquat

Quaternion of low double-precision floating-point numbers.

See also
GLM_GTC_quaternion
typedef tquat<double, mediump> glm::mediump_dquat

Quaternion of medium double-precision floating-point numbers.

See also
GLM_GTC_quaternion
typedef tquat<double, highp> glm::highp_dquat

Quaternion of high double-precision floating-point numbers.

See also
GLM_GTC_quaternion

Quaternion of default double-precision floating-point numbers.

See also
GLM_GTC_quaternion

1 component vector of high precision floating-point numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of medium precision floating-point numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of low precision floating-point numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of high precision signed integer numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of medium precision signed integer numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of low precision signed integer numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of high precision unsigned integer numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of medium precision unsigned integer numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of low precision unsigned integer numbers. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of high precision boolean. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of medium precision boolean. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of low precision boolean. There is no guarantee on the actual precision.

See also
GLM_GTC_vec1 extension.

1 component vector of boolean.

See also
GLM_GTC_vec1 extension.

1 component vector of floating-point numbers.

See also
GLM_GTC_vec1 extension.

1 component vector of floating-point numbers.

See also
GLM_GTC_vec1 extension.

1 component vector of signed integer numbers.

See also
GLM_GTC_vec1 extension.

1 component vector of unsigned integer numbers.

See also
GLM_GTC_vec1 extension.
template<typename T , typename Vec >
using glm::return_type_scalar_multiplication = typedef typename std::enable_if< !std::is_same<T, float>::value && std::is_arithmetic<T>::value, Vec >::type

Enumeration Type Documentation

Enumerator
highp 
mediump 
lowp 
defaultp 
enum glm::ctor
Enumerator
uninitialize 
Enumerator
nice 
fast 
simd 

Function Documentation

template<>
GLM_FUNC_QUALIFIER int32 glm::abs ( int32  x)
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType glm::abs ( genFIType  x)
template<typename genFIType >
GLM_FUNC_QUALIFIER genFIType glm::sign ( genFIType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::trunc ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::round ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::roundEven ( genType  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::modf ( tvec1< T, P > const &  x,
tvec1< T, P > &  i 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::modf ( tvec2< T, P > const &  x,
tvec2< T, P > &  i 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::modf ( tvec3< T, P > const &  x,
tvec3< T, P > &  i 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::modf ( tvec4< T, P > const &  x,
tvec4< T, P > &  i 
)
template<typename genType >
GLM_FUNC_QUALIFIER bool glm::isnan ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER bool glm::isinf ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::frexp ( genType  x,
int &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::frexp ( tvec1< T, P > const &  x,
tvec1< int, P > &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::frexp ( tvec2< T, P > const &  x,
tvec2< int, P > &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::frexp ( tvec3< T, P > const &  x,
tvec3< int, P > &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::frexp ( tvec4< T, P > const &  x,
tvec4< int, P > &  exp 
)
template<typename genType , precision P>
GLM_FUNC_QUALIFIER genType glm::ldexp ( genType const &  x,
int const &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::ldexp ( tvec1< T, P > const &  x,
tvec1< int, P > const &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::ldexp ( tvec2< T, P > const &  x,
tvec2< int, P > const &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::ldexp ( tvec3< T, P > const &  x,
tvec3< int, P > const &  exp 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::ldexp ( tvec4< T, P > const &  x,
tvec4< int, P > const &  exp 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::exp2 ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::log2 ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::inversesqrt ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::length ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::distance ( genType const &  p0,
genType const &  p1 
)
template<typename T >
GLM_FUNC_QUALIFIER T glm::dot ( x,
y 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::normalize ( genType const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::faceforward ( genType const &  N,
genType const &  I,
genType const &  Nref 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::refract ( genType const &  I,
genType const &  N,
genType const &  eta 
)
GLM_FUNC_QUALIFIER uint glm::uaddCarry ( uint const &  x,
uint const &  y,
uint Carry 
)
GLM_FUNC_QUALIFIER uint glm::usubBorrow ( uint const &  x,
uint const &  y,
uint Borrow 
)
GLM_FUNC_QUALIFIER void glm::umulExtended ( uint const &  x,
uint const &  y,
uint msb,
uint lsb 
)
GLM_FUNC_QUALIFIER void glm::imulExtended ( int  x,
int  y,
int &  msb,
int &  lsb 
)
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType glm::bitfieldExtract ( genIUType  Value,
int  Offset,
int  Bits 
)
template<typename genIUType >
GLM_FUNC_QUALIFIER genIUType glm::bitfieldInsert ( genIUType const &  Base,
genIUType const &  Insert,
int  Offset,
int  Bits 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::bitfieldReverse ( genType  x)
template<typename T , precision P, template< typename, precision > class matType>
GLM_FUNC_QUALIFIER matType<T, P>::transpose_type glm::transpose ( matType< T, P > const &  m)
template<typename T >
GLM_FUNC_QUALIFIER T glm::noise1 ( T const &  x)
template<typename T >
GLM_FUNC_QUALIFIER tvec2<T, defaultp> glm::noise2 ( T const &  x)
template<typename T >
GLM_FUNC_QUALIFIER tvec3<T, defaultp> glm::noise3 ( T const &  x)
template<typename T >
GLM_FUNC_QUALIFIER tvec4<T, defaultp> glm::noise4 ( T const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::noise1 ( tvec2< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::noise1 ( tvec3< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::noise1 ( tvec4< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::noise2 ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::noise2 ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::noise2 ( tvec4< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::noise3 ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::noise3 ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::noise3 ( tvec4< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::noise4 ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::noise4 ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::noise4 ( tvec4< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::radians ( genType  degrees)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::degrees ( genType  radians)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::atan ( genType const &  y,
genType const &  x 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::asinh ( genType const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::acosh ( genType const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::atanh ( genType const &  x)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator+ ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator+ ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator+ ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator- ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator- ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator- ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator* ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P>::col_type glm::operator* ( tmat2x2< T, P > const &  m,
typename tmat2x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P>::row_type glm::operator* ( typename tmat2x2< T, P >::col_type const &  v,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator/ ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator/ ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P>::col_type glm::operator/ ( tmat2x2< T, P > const &  m,
typename tmat2x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P>::row_type glm::operator/ ( typename tmat2x2< T, P >::col_type const &  v,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator/ ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> const glm::operator- ( tmat2x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator+ ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator+ ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator+ ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator- ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator- ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator- ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator* ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P>::col_type glm::operator* ( tmat2x2< T, P > const &  m,
typename tmat2x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P>::row_type glm::operator* ( typename tmat2x2< T, P >::col_type const &  v,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator* ( tmat2x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator/ ( tmat2x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator/ ( T const &  s,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P>::col_type glm::operator/ ( tmat2x2< T, P > const &  m,
typename tmat2x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P>::row_type glm::operator/ ( typename tmat2x2< T, P >::col_type const &  v,
tmat2x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator/ ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> const glm::operator- ( tmat2x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat2x2< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator+ ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator+ ( tmat2x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator- ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator- ( tmat2x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator* ( T const &  s,
tmat2x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P>::col_type glm::operator* ( tmat2x3< T, P > const &  m,
typename tmat2x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P>::row_type glm::operator* ( typename tmat2x3< T, P >::col_type const &  v,
tmat2x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator/ ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator/ ( T const &  s,
tmat2x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> const glm::operator- ( tmat2x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator+ ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator+ ( tmat2x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator- ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator- ( tmat2x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator* ( T const &  s,
tmat2x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P>::col_type glm::operator* ( tmat2x3< T, P > const &  m,
typename tmat2x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P>::row_type glm::operator* ( typename tmat2x3< T, P >::col_type const &  v,
tmat2x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator* ( tmat2x3< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator/ ( tmat2x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator/ ( T const &  s,
tmat2x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> const glm::operator- ( tmat2x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat2x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat2x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator+ ( tmat2x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator+ ( tmat2x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator- ( tmat2x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator- ( tmat2x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator* ( T const &  s,
tmat2x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P>::col_type glm::operator* ( tmat2x4< T, P > const &  m,
typename tmat2x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P>::row_type glm::operator* ( typename tmat2x4< T, P >::col_type const &  v,
tmat2x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator/ ( tmat2x4< T, P > const &  m,
s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator/ ( s,
tmat2x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> const glm::operator- ( tmat2x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator+ ( tmat2x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator+ ( tmat2x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator- ( tmat2x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator- ( tmat2x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator* ( T const &  s,
tmat2x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P>::col_type glm::operator* ( tmat2x4< T, P > const &  m,
typename tmat2x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P>::row_type glm::operator* ( typename tmat2x4< T, P >::col_type const &  v,
tmat2x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m1,
tmat2x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator* ( tmat2x4< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator/ ( tmat2x4< T, P > const &  m,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator/ ( s,
tmat2x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> const glm::operator- ( tmat2x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat2x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat2x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator+ ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator+ ( tmat3x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator- ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator- ( tmat3x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator* ( T const &  s,
tmat3x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P>::col_type glm::operator* ( tmat3x2< T, P > const &  m,
typename tmat3x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P>::row_type glm::operator* ( typename tmat3x2< T, P >::col_type const &  v,
tmat3x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator/ ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator/ ( T const &  s,
tmat3x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> const glm::operator- ( tmat3x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator+ ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator+ ( tmat3x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator- ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator- ( tmat3x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator* ( T const &  s,
tmat3x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P>::col_type glm::operator* ( tmat3x2< T, P > const &  m,
typename tmat3x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P>::row_type glm::operator* ( typename tmat3x2< T, P >::col_type const &  v,
tmat3x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator* ( tmat3x2< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator/ ( tmat3x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator/ ( T const &  s,
tmat3x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> const glm::operator- ( tmat3x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat3x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat3x2< T, P > const &  m1,
tmat3x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator+ ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator+ ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator+ ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator- ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator- ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator- ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator* ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P>::col_type glm::operator* ( tmat3x3< T, P > const &  m,
typename tmat3x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P>::row_type glm::operator* ( typename tmat3x3< T, P >::col_type const &  v,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator/ ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator/ ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P>::col_type glm::operator/ ( tmat3x3< T, P > const &  m,
typename tmat3x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P>::row_type glm::operator/ ( typename tmat3x3< T, P >::col_type const &  v,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator/ ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> const glm::operator- ( tmat3x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator+ ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator+ ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator+ ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator- ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator- ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator- ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator* ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P>::col_type glm::operator* ( tmat3x3< T, P > const &  m,
typename tmat3x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P>::row_type glm::operator* ( typename tmat3x3< T, P >::col_type const &  v,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator* ( tmat3x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator/ ( tmat3x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator/ ( T const &  s,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P>::col_type glm::operator/ ( tmat3x3< T, P > const &  m,
typename tmat3x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P>::row_type glm::operator/ ( typename tmat3x3< T, P >::col_type const &  v,
tmat3x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator/ ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> const glm::operator- ( tmat3x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat3x3< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator+ ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator+ ( tmat3x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator- ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator- ( tmat3x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator* ( T const &  s,
tmat3x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P>::col_type glm::operator* ( tmat3x4< T, P > const &  m,
typename tmat3x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P>::row_type glm::operator* ( typename tmat3x4< T, P >::col_type const &  v,
tmat3x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator/ ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator/ ( T const &  s,
tmat3x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> const glm::operator- ( tmat3x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator+ ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator+ ( tmat3x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator- ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator- ( tmat3x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator* ( T const &  s,
tmat3x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P>::col_type glm::operator* ( tmat3x4< T, P > const &  m,
typename tmat3x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P>::row_type glm::operator* ( typename tmat3x4< T, P >::col_type const &  v,
tmat3x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m1,
tmat2x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator* ( tmat3x4< T, P > const &  m1,
tmat3x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator/ ( tmat3x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator/ ( T const &  s,
tmat3x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> const glm::operator- ( tmat3x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat3x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat3x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator+ ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator+ ( tmat4x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator- ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator- ( tmat4x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator* ( T const &  s,
tmat4x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P>::col_type glm::operator* ( tmat4x2< T, P > const &  m,
typename tmat4x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P>::row_type glm::operator* ( typename tmat4x2< T, P >::col_type const &  v,
tmat4x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x3< T, P > glm::operator* ( tmat4x3< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator/ ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> glm::operator/ ( T const &  s,
tmat4x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x2<T, P> const glm::operator- ( tmat4x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator+ ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator+ ( tmat4x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator- ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator- ( tmat4x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator* ( T const &  s,
tmat4x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P>::col_type glm::operator* ( tmat4x2< T, P > const &  m,
typename tmat4x2< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P>::row_type glm::operator* ( typename tmat4x2< T, P >::col_type const &  v,
tmat4x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator* ( tmat4x2< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator/ ( tmat4x2< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> glm::operator/ ( T const &  s,
tmat4x2< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x2<T, P> const glm::operator- ( tmat4x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat4x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat4x2< T, P > const &  m1,
tmat4x2< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator+ ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator+ ( tmat4x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator- ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator- ( tmat4x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator* ( T const &  s,
tmat4x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P>::col_type glm::operator* ( tmat4x3< T, P > const &  m,
typename tmat4x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P>::row_type glm::operator* ( typename tmat4x3< T, P >::col_type const &  v,
tmat4x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator/ ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> glm::operator/ ( T const &  s,
tmat4x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x3<T, P> const glm::operator- ( tmat4x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator+ ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator+ ( tmat4x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator- ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator- ( tmat4x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator* ( T const &  s,
tmat4x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P>::col_type glm::operator* ( tmat4x3< T, P > const &  m,
typename tmat4x3< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P>::row_type glm::operator* ( typename tmat4x3< T, P >::col_type const &  v,
tmat4x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator* ( tmat4x3< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator/ ( tmat4x3< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> glm::operator/ ( T const &  s,
tmat4x3< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> const glm::operator- ( tmat4x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> const glm::operator++ ( tmat4x3< T, P > const &  m,
int   
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x3<T, P> const glm::operator-- ( tmat4x3< T, P > const &  m,
int   
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat4x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat4x3< T, P > const &  m1,
tmat4x3< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator+ ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator+ ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator+ ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator- ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator- ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator- ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator* ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P>::col_type glm::operator* ( tmat4x4< T, P > const &  m,
typename tmat4x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P>::row_type glm::operator* ( typename tmat4x4< T, P >::col_type const &  v,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator/ ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator/ ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P>::col_type glm::operator/ ( tmat4x4< T, P > const &  m,
typename tmat4x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P>::row_type glm::operator/ ( typename tmat4x4< T, P >::col_type &  v,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> glm::operator/ ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4<T, P> const glm::operator- ( tmat4x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator+ ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator+ ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator+ ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator- ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator- ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator- ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator* ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P>::col_type glm::operator* ( tmat4x4< T, P > const &  m,
typename tmat4x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P>::row_type glm::operator* ( typename tmat4x4< T, P >::col_type const &  v,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m1,
tmat2x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m1,
tmat3x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator* ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator/ ( tmat4x4< T, P > const &  m,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator/ ( T const &  s,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P>::col_type glm::operator/ ( tmat4x4< T, P > const &  m,
typename tmat4x4< T, P >::row_type const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P>::row_type glm::operator/ ( typename tmat4x4< T, P >::col_type const &  v,
tmat4x4< T, P > const &  m 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::operator/ ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> const glm::operator- ( tmat4x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> const glm::operator++ ( tmat4x4< T, P > const &  m,
int   
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> const glm::operator-- ( tmat4x4< T, P > const &  m,
int   
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tmat4x4< T, P > const &  m1,
tmat4x4< T, P > const &  m2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator+ ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator+ ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator+ ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator- ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator- ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator- ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator* ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator* ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator* ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator/ ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator/ ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator/ ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator- ( tvec1< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL bool glm::operator== ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL bool glm::operator!= ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator% ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator% ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator% ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator& ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator& ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator& ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator| ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator| ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator| ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator^ ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator^ ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator^ ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator<< ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator<< ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator<< ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator>> ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator>> ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator>> ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec1<T, P> glm::operator~ ( tvec1< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator+ ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator+ ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator+ ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator- ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator- ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator- ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator* ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator* ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator* ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator/ ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator/ ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator/ ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator- ( tvec1< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator++ ( tvec1< T, P > const &  v,
int   
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator-- ( tvec1< T, P > const &  v,
int   
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator% ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator% ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator% ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator& ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator& ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator& ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator| ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator| ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator| ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator^ ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator^ ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator^ ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator<< ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator<< ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator<< ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator>> ( tvec1< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator>> ( T const &  s,
tvec1< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator>> ( tvec1< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P> glm::operator~ ( tvec1< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator+ ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator+ ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator+ ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator+ ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator+ ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator- ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator- ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator* ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator* ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator* ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator* ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator* ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator/ ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator/ ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator/ ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator/ ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator/ ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator% ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator% ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator% ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator% ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator% ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator& ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator& ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator& ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator& ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator& ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator| ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator| ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator| ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator| ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator| ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator^ ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator^ ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator^ ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator^ ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator^ ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator<< ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator<< ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator<< ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator<< ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator<< ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator>> ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator>> ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator>> ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator>> ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator>> ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec2<T, P> glm::operator~ ( tvec2< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator+ ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator+ ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator+ ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator+ ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator+ ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator- ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator- ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator* ( tvec2< T, P > const &  v1,
T const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator* ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator* ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator* ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator* ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator/ ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator/ ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator/ ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator/ ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator/ ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator- ( tvec2< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator% ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator% ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator% ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator% ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator% ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator& ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator& ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator& ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator& ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator& ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator| ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator| ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator| ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator| ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator| ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator^ ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator^ ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator^ ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator^ ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator^ ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator<< ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator<< ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator<< ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator<< ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator<< ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator>> ( tvec2< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator>> ( tvec2< T, P > const &  v1,
tvec1< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator>> ( T const &  s,
tvec2< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator>> ( tvec1< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator>> ( tvec2< T, P > const &  v1,
tvec2< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::operator~ ( tvec2< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator+ ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator+ ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator+ ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator+ ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator+ ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator- ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator- ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator* ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator* ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator/ ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator/ ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator/ ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator/ ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator/ ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator% ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator% ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator% ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator% ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator% ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator& ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator& ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator& ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator& ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator& ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator| ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator| ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator| ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator| ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator| ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator^ ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator^ ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator^ ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator^ ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator^ ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator<< ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator<< ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator<< ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator<< ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator<< ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator>> ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator>> ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator>> ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator>> ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator>> ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec3<T, P> glm::operator~ ( tvec3< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator+ ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator+ ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator+ ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator+ ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator+ ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator- ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator- ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator/ ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator/ ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator/ ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator/ ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator/ ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator- ( tvec3< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator% ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator% ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator% ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator% ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator% ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator& ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator& ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator& ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator& ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator& ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator| ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator| ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator| ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator| ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator| ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator^ ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator^ ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator^ ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator^ ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator^ ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator<< ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator<< ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator<< ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator<< ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator<< ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator>> ( tvec3< T, P > const &  v,
T const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator>> ( tvec3< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator>> ( T const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator>> ( tvec1< T, P > const &  s,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator>> ( tvec3< T, P > const &  v1,
tvec3< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator~ ( tvec3< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator+ ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator+ ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator+ ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator+ ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator+ ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator- ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator- ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator* ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator* ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator* ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator* ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator* ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator/ ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator/ ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator/ ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator/ ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator/ ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_DECL bool glm::operator== ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL bool glm::operator!= ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator% ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator% ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator% ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator% ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator% ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator& ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator& ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator& ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator& ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator& ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator| ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator| ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator| ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator| ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator| ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator^ ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator^ ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator^ ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator^ ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator^ ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator<< ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator<< ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator<< ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator<< ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator<< ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator>> ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator>> ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator>> ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator>> ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator>> ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_DECL tvec4<T, P> glm::operator~ ( tvec4< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator+ ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator+ ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator+ ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator- ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator* ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator* ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator* ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator/ ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator/ ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator/ ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator- ( tvec4< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator% ( tvec4< T, P > const &  v,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator% ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator% ( s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator% ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator% ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator& ( tvec4< T, P > const &  v,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator& ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator& ( s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator& ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator& ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator| ( tvec4< T, P > const &  v,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator| ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator| ( s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator| ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator| ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator^ ( tvec4< T, P > const &  v,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator^ ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator^ ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator^ ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator^ ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator<< ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator<< ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator<< ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator<< ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator<< ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator>> ( tvec4< T, P > const &  v,
scalar 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator>> ( tvec4< T, P > const &  v,
tvec1< T, P > const &  s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator>> ( scalar,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator>> ( tvec1< T, P > const &  s,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator>> ( tvec4< T, P > const &  v1,
tvec4< T, P > const &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator~ ( tvec4< T, P > const &  v)
template<typename genIType >
GLM_FUNC_QUALIFIER genIType glm::bitfieldRotateRight ( genIType  In,
int  Shift 
)
template<typename genIType >
GLM_FUNC_QUALIFIER genIType glm::bitfieldRotateLeft ( genIType  In,
int  Shift 
)
template<>
GLM_FUNC_QUALIFIER bool glm::epsilonEqual ( float const &  x,
float const &  y,
float const &  epsilon 
)
template<>
GLM_FUNC_QUALIFIER bool glm::epsilonEqual ( double const &  x,
double const &  y,
double const &  epsilon 
)
template<>
GLM_FUNC_QUALIFIER bool glm::epsilonNotEqual ( float const &  x,
float const &  y,
float const &  epsilon 
)
template<>
GLM_FUNC_QUALIFIER bool glm::epsilonNotEqual ( double const &  x,
double const &  y,
double const &  epsilon 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<bool, P> glm::epsilonEqual ( vecType< T, P > const &  x,
vecType< T, P > const &  y,
vecType< T, P > const &  epsilon 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<bool, P> glm::epsilonNotEqual ( vecType< T, P > const &  x,
vecType< T, P > const &  y,
T const &  epsilon 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<bool, P> glm::epsilonNotEqual ( vecType< T, P > const &  x,
vecType< T, P > const &  y,
vecType< T, P > const &  epsilon 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<bool, P> glm::epsilonEqual ( tquat< T, P > const &  x,
tquat< T, P > const &  y,
T const &  epsilon 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<bool, P> glm::epsilonNotEqual ( tquat< T, P > const &  x,
tquat< T, P > const &  y,
T const &  epsilon 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::affineInverse ( tmat3x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::affineInverse ( tmat4x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::inverseTranspose ( tmat2x2< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::inverseTranspose ( tmat3x3< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::inverseTranspose ( tmat4x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::rotate_slow ( tmat4x4< T, P > const &  m,
angle,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::scale_slow ( tmat4x4< T, P > const &  m,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::perlin ( tvec2< T, P > const &  Position)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::perlin ( tvec3< T, P > const &  Position)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::perlin ( tvec4< T, P > const &  Position)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::perlin ( tvec2< T, P > const &  Position,
tvec2< T, P > const &  rep 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::perlin ( tvec3< T, P > const &  Position,
tvec3< T, P > const &  rep 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::perlin ( tvec4< T, P > const &  Position,
tvec4< T, P > const &  rep 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::simplex ( glm::tvec2< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::simplex ( tvec3< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::simplex ( tvec4< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tquat< T, P > const &  q1,
tquat< T, P > const &  q2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tquat< T, P > const &  q1,
tquat< T, P > const &  q2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tquat<T, P> glm::cross ( tquat< T, P > const &  q1,
tquat< T, P > const &  q2 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::linearRand ( genType  Min,
genType  Max 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::gaussRand ( vecType< T, P > const &  Mean,
vecType< T, P > const &  Deviation 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::sec ( genType  angle)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::sec ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::csc ( genType  angle)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::csc ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::cot ( genType  angle)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::cot ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::asec ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::asec ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::acsc ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::acsc ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::acot ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::acot ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::sech ( genType  angle)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::sech ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::csch ( genType  angle)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::csch ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::coth ( genType  angle)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::coth ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::asech ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::asech ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::acsch ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::acsch ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::acoth ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::acoth ( vecType< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER bool glm::isPowerOfTwo ( genType  Value)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::ceilPowerOfTwo ( genType  value)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::floorPowerOfTwo ( genType  value)
template<typename genType >
GLM_FUNC_QUALIFIER bool glm::isMultiple ( genType  Value,
genType  Multiple 
)
template<>
GLM_FUNC_QUALIFIER float glm::next_float ( float const &  x)
template<>
GLM_FUNC_QUALIFIER double glm::next_float ( double const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::next_float ( vecType< T, P > const &  x)
GLM_FUNC_QUALIFIER float glm::prev_float ( float const &  x)
GLM_FUNC_QUALIFIER double glm::prev_float ( double const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::prev_float ( vecType< T, P > const &  x)
template<typename T >
GLM_FUNC_QUALIFIER T glm::next_float ( T const &  x,
uint const &  ulps 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::next_float ( vecType< T, P > const &  x,
vecType< uint, P > const &  ulps 
)
template<typename T >
GLM_FUNC_QUALIFIER T glm::prev_float ( T const &  x,
uint const &  ulps 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::prev_float ( vecType< T, P > const &  x,
vecType< uint, P > const &  ulps 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<uint, P> glm::float_distance ( vecType< T, P > const &  x,
vecType< T, P > const &  y 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::powerOfTwoAbove ( genType  value)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::powerOfTwoBelow ( genType  value)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::powerOfTwoNearest ( genType  value)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::rgbColor ( const tvec3< T, P > &  hsvColor)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::hsvColor ( const tvec3< T, P > &  rgbColor)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::saturation ( const T  s,
const tvec3< T, P > &  color 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::saturation ( const T  s,
const tvec4< T, P > &  color 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::luminosity ( const tvec3< T, P > &  color)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::isdenormal ( T const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec1<T, P>::bool_type glm::isdenormal ( tvec1< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P>::bool_type glm::isdenormal ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P>::bool_type glm::isdenormal ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P>::bool_type glm::isdenormal ( tvec4< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<bool, P> glm::isfinite ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<bool, P> glm::isfinite ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<bool, P> glm::isfinite ( tvec4< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER T glm::compAdd ( vecType< T, P > const &  v)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER T glm::compMul ( vecType< T, P > const &  v)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER T glm::compMin ( vecType< T, P > const &  v)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER T glm::compMax ( vecType< T, P > const &  v)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tdualquat<T, P> glm::operator- ( tdualquat< T, P > const &  q)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( tdualquat< T, P > const &  q,
tvec3< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::operator* ( tvec3< T, P > const &  v,
tdualquat< T, P > const &  q 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator* ( tdualquat< T, P > const &  q,
tvec4< T, P > const &  v 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::operator* ( tvec4< T, P > const &  v,
tdualquat< T, P > const &  q 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator== ( tdualquat< T, P > const &  q1,
tdualquat< T, P > const &  q2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER bool glm::operator!= ( tdualquat< T, P > const &  q1,
tdualquat< T, P > const &  q2 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::extend ( genType const &  Origin,
genType const &  Source,
genType const &  Distance 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::extend ( tvec2< T, P > const &  Origin,
tvec2< T, P > const &  Source,
T const &  Distance 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::extend ( tvec3< T, P > const &  Origin,
tvec3< T, P > const &  Source,
T const &  Distance 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::extend ( tvec4< T, P > const &  Origin,
tvec4< T, P > const &  Source,
T const &  Distance 
)
template<typename T >
GLM_FUNC_QUALIFIER T glm::fastPow ( x,
int  y 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastPow ( vecType< T, P > const &  x,
vecType< int, P > const &  y 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::fastLog ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::fastExp2 ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::fastLog2 ( genType  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::fastNormalize ( genType  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastNormalize ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::wrapAngle ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastCos ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastSin ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastTan ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastAsin ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastAcos ( vecType< T, P > const &  x)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastAtan ( vecType< T, P > const &  y,
vecType< T, P > const &  x 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::fastAtan ( vecType< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::factorial ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::factorial ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::factorial ( tvec4< T, P > const &  x)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::log ( genType const &  x,
genType const &  base 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER vecType<T, P> glm::log ( vecType< T, P > const &  x,
vecType< T, P > const &  base 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::combine ( tvec3< T, P > const &  a,
tvec3< T, P > const &  b,
ascl,
bscl 
)

Make a linear combination of two vectors and return the result.

template<typename T , precision P>
GLM_FUNC_QUALIFIER void glm::v3Scale ( tvec3< T, P > &  v,
desiredLength 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::rowMajor2 ( const tmat2x2< T, P > &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::rowMajor3 ( const tvec3< T, P > &  v1,
const tvec3< T, P > &  v2,
const tvec3< T, P > &  v3 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::rowMajor3 ( const tmat3x3< T, P > &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::rowMajor4 ( const tvec4< T, P > &  v1,
const tvec4< T, P > &  v2,
const tvec4< T, P > &  v3,
const tvec4< T, P > &  v4 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::rowMajor4 ( const tmat4x4< T, P > &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::colMajor2 ( const tvec2< T, P > &  v1,
const tvec2< T, P > &  v2 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat2x2<T, P> glm::colMajor2 ( const tmat2x2< T, P > &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::colMajor3 ( const tvec3< T, P > &  v1,
const tvec3< T, P > &  v2,
const tvec3< T, P > &  v3 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::colMajor3 ( const tmat3x3< T, P > &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::colMajor4 ( const tvec4< T, P > &  v1,
const tvec4< T, P > &  v2,
const tvec4< T, P > &  v3,
const tvec4< T, P > &  v4 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::colMajor4 ( const tmat4x4< T, P > &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::length2 ( tvec2< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::length2 ( tvec3< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::length2 ( tvec4< T, P > const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::distance2 ( tvec2< T, P > const &  p0,
tvec2< T, P > const &  p1 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::distance2 ( tvec3< T, P > const &  p0,
tvec3< T, P > const &  p1 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER T glm::distance2 ( tvec4< T, P > const &  p0,
tvec4< T, P > const &  p1 
)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::lessThan ( T const &  x,
T const &  y 
)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::lessThanEqual ( T const &  x,
T const &  y 
)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::greaterThan ( T const &  x,
T const &  y 
)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::greaterThanEqual ( T const &  x,
T const &  y 
)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::equal ( T const &  x,
T const &  y 
)
template<typename T >
GLM_FUNC_QUALIFIER bool glm::notEqual ( T const &  x,
T const &  y 
)
GLM_FUNC_QUALIFIER bool glm::any ( bool const &  x)
GLM_FUNC_QUALIFIER bool glm::all ( bool const &  x)
GLM_FUNC_QUALIFIER bool glm::not_ ( bool const &  x)
GLM_FUNC_QUALIFIER mat4 glm::mat4_cast ( detail::fmat4x4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD glm::matrixCompMult ( detail::fmat4x4SIMD const &  x,
detail::fmat4x4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD glm::outerProduct ( detail::fvec4SIMD const &  c,
detail::fvec4SIMD const &  r 
)
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD glm::transpose ( detail::fmat4x4SIMD const &  m)
GLM_FUNC_QUALIFIER float glm::determinant ( detail::fmat4x4SIMD const &  m)
GLM_FUNC_QUALIFIER quat glm::quat_cast ( detail::fquatSIMD const &  x)
template<typename T >
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::quatSIMD_cast_impl ( const T  m0[],
const T  m1[],
const T  m2[] 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::quatSIMD_cast ( detail::fmat4x4SIMD const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::quatSIMD_cast ( tmat4x4< T, P > const &  m)
template<typename T , precision P>
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::quatSIMD_cast ( tmat3x3< T, P > const &  m)
GLM_FUNC_QUALIFIER detail::fmat4x4SIMD glm::mat4SIMD_cast ( detail::fquatSIMD const &  q)
GLM_FUNC_QUALIFIER mat4 glm::mat4_cast ( detail::fquatSIMD const &  q)
GLM_FUNC_QUALIFIER float glm::length ( detail::fquatSIMD const &  q)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::normalize ( detail::fquatSIMD const &  q)
GLM_FUNC_QUALIFIER float glm::dot ( detail::fquatSIMD const &  q1,
detail::fquatSIMD const &  q2 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::mix ( detail::fquatSIMD const &  x,
detail::fquatSIMD const &  y,
float const &  a 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::lerp ( detail::fquatSIMD const &  x,
detail::fquatSIMD const &  y,
float const &  a 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::slerp ( detail::fquatSIMD const &  x,
detail::fquatSIMD const &  y,
float const &  a 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::fastMix ( detail::fquatSIMD const &  x,
detail::fquatSIMD const &  y,
float const &  a 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::fastSlerp ( detail::fquatSIMD const &  x,
detail::fquatSIMD const &  y,
float const &  a 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::conjugate ( detail::fquatSIMD const &  q)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::inverse ( detail::fquatSIMD const &  q)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::angleAxisSIMD ( float const &  angle,
vec3 const &  v 
)
GLM_FUNC_QUALIFIER detail::fquatSIMD glm::angleAxisSIMD ( float const &  angle,
float const &  x,
float const &  y,
float const &  z 
)
GLM_FUNC_QUALIFIER __m128 glm::fastSin ( __m128  x)
GLM_FUNC_QUALIFIER vec4 glm::vec4_cast ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::abs ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::sign ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::floor ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::trunc ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::round ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::ceil ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::fract ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::mod ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::mod ( detail::fvec4SIMD const &  x,
float const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::min ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::min ( detail::fvec4SIMD const &  x,
float const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::max ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::max ( detail::fvec4SIMD const &  x,
float const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::clamp ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  minVal,
detail::fvec4SIMD const &  maxVal 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::clamp ( detail::fvec4SIMD const &  x,
float const &  minVal,
float const &  maxVal 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::mix ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y,
detail::fvec4SIMD const &  a 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::step ( detail::fvec4SIMD const &  edge,
detail::fvec4SIMD const &  x 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::step ( float const &  edge,
detail::fvec4SIMD const &  x 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::smoothstep ( detail::fvec4SIMD const &  edge0,
detail::fvec4SIMD const &  edge1,
detail::fvec4SIMD const &  x 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::smoothstep ( float const &  edge0,
float const &  edge1,
detail::fvec4SIMD const &  x 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::fma ( detail::fvec4SIMD const &  a,
detail::fvec4SIMD const &  b,
detail::fvec4SIMD const &  c 
)
GLM_FUNC_QUALIFIER float glm::length ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER float glm::fastLength ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER float glm::niceLength ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::length4 ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::fastLength4 ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::niceLength4 ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER float glm::distance ( detail::fvec4SIMD const &  p0,
detail::fvec4SIMD const &  p1 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::distance4 ( detail::fvec4SIMD const &  p0,
detail::fvec4SIMD const &  p1 
)
GLM_FUNC_QUALIFIER float glm::dot ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::dot4 ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::cross ( detail::fvec4SIMD const &  x,
detail::fvec4SIMD const &  y 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::normalize ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::fastNormalize ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::faceforward ( detail::fvec4SIMD const &  N,
detail::fvec4SIMD const &  I,
detail::fvec4SIMD const &  Nref 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::reflect ( detail::fvec4SIMD const &  I,
detail::fvec4SIMD const &  N 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::refract ( detail::fvec4SIMD const &  I,
detail::fvec4SIMD const &  N,
float const &  eta 
)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::sqrt ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::niceSqrt ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::fastSqrt ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::inversesqrt ( detail::fvec4SIMD const &  x)
GLM_FUNC_QUALIFIER detail::fvec4SIMD glm::fastInversesqrt ( detail::fvec4SIMD const &  x)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::shearX2D ( const tmat3x3< T, P > &  m,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::shearY2D ( const tmat3x3< T, P > &  m,
s 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat3x3<T, P> glm::reflect2D ( const tmat3x3< T, P > &  m,
const tvec3< T, P > &  normal 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::reflect3D ( const tmat4x4< T, P > &  m,
const tvec3< T, P > &  normal 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::scaleBias ( scale,
bias 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tmat4x4<T, P> glm::scaleBias ( const tmat4x4< T, P > &  m,
scale,
bias 
)
template<typename genType >
GLM_FUNC_QUALIFIER genType glm::angle ( genType const &  x,
genType const &  y 
)
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_QUALIFIER T glm::angle ( vecType< T, P > const &  x,
vecType< T, P > const &  y 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<bool, P> glm::isCompNull ( tvec2< T, P > const &  v,
T const &  epsilon 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<bool, P> glm::isCompNull ( tvec3< T, P > const &  v,
T const &  epsilon 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<bool, P> glm::isCompNull ( tvec4< T, P > const &  v,
T const &  epsilon 
)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::clamp ( tvec2< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::clamp ( tvec3< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::clamp ( tvec4< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::repeat ( tvec2< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::repeat ( tvec3< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::repeat ( tvec4< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec2<T, P> glm::mirrorRepeat ( tvec2< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec3<T, P> glm::mirrorRepeat ( tvec3< T, P > const &  Texcoord)
template<typename T , precision P>
GLM_FUNC_QUALIFIER tvec4<T, P> glm::mirrorRepeat ( tvec4< T, P > const &  Texcoord)