template<typenameT,precisionP>GLM_FUNC_QUALIFIERtvec3<T,P>lerp(consttvec3<T,P>&x,consttvec3<T,P>&y,consttvec3<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_QUALIFIERtvec4<T,P>lerp(consttvec4<T,P>&x,consttvec4<T,P>&y,consttvec4<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_QUALIFIERTslerp(tquat<T,P>const&x,tquat<T,P>const&y,Tconst&a){returnmix(x,y,a);}//!< \brief Returns the slurp interpolation between two quaternions.
template<typenameT,precisionP>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,precisionP>GLM_FUNC_QUALIFIERtvec2<T,P>saturate(consttvec2<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_QUALIFIERtvec3<T,P>saturate(consttvec3<T,P>&x){returnclamp(x,T(0),T(1));}//!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)