template<typenameT>inlineTlerp(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,precisionP>inlinedetail::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>inlinedetail::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>inlinedetail::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>inlinedetail::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>inlinedetail::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>inlinedetail::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>inlineTslerp(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>inlineTsaturate(Tx){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
template<typenameT,precisionP>inlinedetail::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>inlinedetail::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>inlinedetail::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>inlineTatan2(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,precisionP>inlinedetail::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>inlinedetail::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>inlinedetail::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<typenameT,precisionP>detail::tvec2<bool,P>isfinite(constdetail::tvec2<T,P>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenameT,precisionP>detail::tvec3<bool,P>isfinite(constdetail::tvec3<T,P>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
template<typenameT,precisionP>detail::tvec4<bool,P>isfinite(constdetail::tvec4<T,P>&x);//!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)