3 template<
typename T, qualifier Q>
6 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'mix' only accept floating-point inputs");
8 T
const cosTheta = dot(x, y);
11 if(cosTheta >
static_cast<T
>(1) -
epsilon<T>())
28 template<
typename T, qualifier Q>
31 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'lerp' only accept floating-point inputs");
34 assert(a >=
static_cast<T
>(0));
35 assert(a <=
static_cast<T
>(1));
37 return x * (
static_cast<T
>(1) - a) + (y * a);
40 template<
typename T, qualifier Q>
43 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'slerp' only accept floating-point inputs");
47 T cosTheta = dot(x, y);
51 if(cosTheta <
static_cast<T
>(0))
58 if(cosTheta >
static_cast<T
>(1) -
epsilon<T>())
75 template<
typename T, qualifier Q>
81 template<
typename T, qualifier Q>
87 template<
typename T, qualifier Q>
90 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'isnan' only accept floating-point inputs");
95 template<
typename T, qualifier Q>
98 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'isinf' only accept floating-point inputs");
104#if GLM_CONFIG_SIMD == GLM_ENABLE
105# include "quaternion_common_simd.inl"
GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)
Definition func_common.inl:655
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Definition func_common.inl:613
GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
Definition func_common.inl:526
GLM_FUNC_QUALIFIER mat< C, R, T, Q > inverse(mat< C, R, T, Q > const &m)
Definition func_matrix.inl:388
GLM_FUNC_QUALIFIER vec< L, T, Q > sin(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:41
GLM_FUNC_QUALIFIER vec< L, T, Q > acos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:77
GLM_FUNC_DECL qua< T, Q > conjugate(qua< T, Q > const &q)
Definition quaternion_common.inl:76
GLM_FUNC_DECL qua< T, Q > slerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)
Definition quaternion_common.inl:41
GLM_FUNC_DECL qua< T, Q > lerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)
Definition quaternion_common.inl:29
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:6
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition scalar_constants.inl:6
Core features
Definition common.hpp:21
Definition type_quat.hpp:20
Definition qualifier.hpp:35