5 template<
typename T, qualifier Q>
10 return asin(
sqrt(x.x * x.x + x.y * x.y + x.z * x.z)) *
static_cast<T
>(2);
13 return acos(x.w) *
static_cast<T
>(2);
16 template<
typename T, qualifier Q>
19 T
const tmp1 =
static_cast<T
>(1) - x.w * x.w;
20 if(tmp1 <=
static_cast<T
>(0))
22 T
const tmp2 =
static_cast<T
>(1) /
sqrt(tmp1);
26 template<
typename T, qualifier Q>
30 T
const s =
glm::sin(a *
static_cast<T
>(0.5));
32 return qua<T, Q>(glm::cos(a *
static_cast<T
>(0.5)), v * s);
GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x)
GLM_FUNC_QUALIFIER vec< L, T, Q > sqrt(vec< L, T, Q > const &x)
Definition func_exponential.inl:128
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 > asin(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:68
GLM_FUNC_QUALIFIER vec< L, T, Q > acos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:77
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:6
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:17
GLM_FUNC_DECL qua< T, Q > angleAxis(T const &angle, vec< 3, T, Q > const &axis)
Definition quaternion_trigonometric.inl:27
GLM_FUNC_DECL GLM_CONSTEXPR genType cos_one_over_two()
Return the value of cos(1 / 2) for floating point types.
Definition scalar_constants.inl:20
Core features
Definition common.hpp:21
Definition type_quat.hpp:20
Definition qualifier.hpp:35