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)