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,P>lerp(constdetail::tvec2<T,P>&x,constdetail::tvec2<T,P>&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,P>lerp(constdetail::tvec3<T,P>&x,constdetail::tvec3<T,P>&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,P>lerp(constdetail::tvec4<T,P>&x,constdetail::tvec4<T,P>&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,P>lerp(constdetail::tvec2<T,P>&x,constdetail::tvec2<T,P>&y,constdetail::tvec2<T,P>&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,P>lerp(constdetail::tvec3<T,P>&x,constdetail::tvec3<T,P>&y,constdetail::tvec3<T,P>&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,P>lerp(constdetail::tvec4<T,P>&x,constdetail::tvec4<T,P>&y,constdetail::tvec4<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec2<T,P>lerp(constdetail::tvec2<T,P>&x,constdetail::tvec2<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec3<T,P>lerp(constdetail::tvec3<T,P>&x,constdetail::tvec3<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec4<T,P>lerp(constdetail::tvec4<T,P>&x,constdetail::tvec4<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec2<T,P>lerp(constdetail::tvec2<T,P>&x,constdetail::tvec2<T,P>&y,constdetail::tvec2<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec3<T,P>lerp(constdetail::tvec3<T,P>&x,constdetail::tvec3<T,P>&y,constdetail::tvec3<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec4<T,P>lerp(constdetail::tvec4<T,P>&x,constdetail::tvec4<T,P>&y,constdetail::tvec4<T,P>&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,P>const&x,detail::tquat<T,P>const&y,Tconst&a){returnmix(x,y,a);}//!< \brief Returns the slurp interpolation between two quaternions.
template<typenameT,precisionP>GLM_FUNC_QUALIFIERTslerp(detail::tquat<T,P>const&x,detail::tquat<T,P>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,P>saturate(constdetail::tvec2<T,P>&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,P>saturate(constdetail::tvec3<T,P>&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,P>saturate(constdetail::tvec4<T,P>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT,precisionP>GLM_FUNC_QUALIFIERdetail::tvec2<T,P>saturate(constdetail::tvec2<T,P>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT,precisionP>GLM_FUNC_QUALIFIERdetail::tvec3<T,P>saturate(constdetail::tvec3<T,P>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT,precisionP>GLM_FUNC_QUALIFIERdetail::tvec4<T,P>saturate(constdetail::tvec4<T,P>&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,P>atan2(constdetail::tvec2<T,P>&x,constdetail::tvec2<T,P>&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,P>atan2(constdetail::tvec3<T,P>&x,constdetail::tvec3<T,P>&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,P>atan2(constdetail::tvec4<T,P>&x,constdetail::tvec4<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec2<T,P>atan2(constdetail::tvec2<T,P>&x,constdetail::tvec2<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec3<T,P>atan2(constdetail::tvec3<T,P>&x,constdetail::tvec3<T,P>&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,precisionP>GLM_FUNC_QUALIFIERdetail::tvec4<T,P>atan2(constdetail::tvec4<T,P>&x,constdetail::tvec4<T,P>&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)
template<typenamevalType,precisionP>detail::tvec2<bool,P>isfinite(constdetail::tvec2<valType,P>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenamevalType,precisionP>detail::tvec3<bool,P>isfinite(constdetail::tvec3<valType,P>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenamevalType,precisionP>detail::tvec4<bool,P>isfinite(constdetail::tvec4<valType,P>&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,highp>bool2;//!< \brief boolean type with 2 components. (From GLM_GTX_compatibility extension)