template<typenameT>GLM_FUNC_QUALIFIERTlerp(Tx,Ty,Ta){returnmix(x,y,a);}//!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec2<T>lerp(constdetail::tvec2<T>&x,constdetail::tvec2<T>&y,Ta){returnmix(x,y,a);}//!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec3<T>lerp(constdetail::tvec3<T>&x,constdetail::tvec3<T>&y,Ta){returnmix(x,y,a);}//!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec4<T>lerp(constdetail::tvec4<T>&x,constdetail::tvec4<T>&y,Ta){returnmix(x,y,a);}//!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec2<T>lerp(constdetail::tvec2<T>&x,constdetail::tvec2<T>&y,constdetail::tvec2<T>&a){returnmix(x,y,a);}//!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec3<T>lerp(constdetail::tvec3<T>&x,constdetail::tvec3<T>&y,constdetail::tvec3<T>&a){returnmix(x,y,a);}//!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec4<T>lerp(constdetail::tvec4<T>&x,constdetail::tvec4<T>&y,constdetail::tvec4<T>&a){returnmix(x,y,a);}//!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERTslerp(detail::tquat<T>const&x,detail::tquat<T>const&y,Tconst&a){returnmix(x,y,a);}//!< \brief Returns the slurp interpolation between two quaternions.
template<typenameT>GLM_FUNC_QUALIFIERTsaturate(Tx){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec2<T>saturate(constdetail::tvec2<T>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec3<T>saturate(constdetail::tvec3<T>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec4<T>saturate(constdetail::tvec4<T>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERTatan2(Tx,Ty){returnatan(x,y);}//!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec2<T>atan2(constdetail::tvec2<T>&x,constdetail::tvec2<T>&y){returnatan(x,y);}//!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec3<T>atan2(constdetail::tvec3<T>&x,constdetail::tvec3<T>&y){returnatan(x,y);}//!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typenameT>GLM_FUNC_QUALIFIERdetail::tvec4<T>atan2(constdetail::tvec4<T>&x,constdetail::tvec4<T>&y){returnatan(x,y);}//!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
template<typenamegenType>boolisfinite(genTypeconst&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenamevalType>detail::tvec2<bool>isfinite(constdetail::tvec2<valType>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenamevalType>detail::tvec3<bool>isfinite(constdetail::tvec3<valType>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenamevalType>detail::tvec4<bool>isfinite(constdetail::tvec4<valType>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
typedefboolbool1;//!< \brief boolean type with 1 component. (From GLM_GTX_compatibility extension)
typedefdetail::tvec2<bool>bool2;//!< \brief boolean type with 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tvec3<bool>bool3;//!< \brief boolean type with 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tvec4<bool>bool4;//!< \brief boolean type with 4 components. (From GLM_GTX_compatibility extension)
typedefboolbool1x1;//!< \brief boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
typedefdetail::tmat2x2<bool>bool2x2;//!< \brief boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat2x3<bool>bool2x3;//!< \brief boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat2x4<bool>bool2x4;//!< \brief boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat3x2<bool>bool3x2;//!< \brief boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat3x3<bool>bool3x3;//!< \brief boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat3x4<bool>bool3x4;//!< \brief boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat4x2<bool>bool4x2;//!< \brief boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat4x3<bool>bool4x3;//!< \brief boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat4x4<bool>bool4x4;//!< \brief boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
typedefintint1;//!< \brief integer vector with 1 component. (From GLM_GTX_compatibility extension)
typedefdetail::tvec2<int>int2;//!< \brief integer vector with 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tvec3<int>int3;//!< \brief integer vector with 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tvec4<int>int4;//!< \brief integer vector with 4 components. (From GLM_GTX_compatibility extension)
typedefintint1x1;//!< \brief integer matrix with 1 component. (From GLM_GTX_compatibility extension)
typedefdetail::tmat2x2<int>int2x2;//!< \brief integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat2x3<int>int2x3;//!< \brief integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat2x4<int>int2x4;//!< \brief integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat3x2<int>int3x2;//!< \brief integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat3x3<int>int3x3;//!< \brief integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat3x4<int>int3x4;//!< \brief integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat4x2<int>int4x2;//!< \brief integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat4x3<int>int4x3;//!< \brief integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
typedefdetail::tmat4x4<int>int4x4;//!< \brief integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)