6 template<length_t L,
typename T, qualifier Q,
bool Aligned>
17# if GLM_HAS_BITSCAN_WINDOWS
18 template<qualifier Q,
bool Aligned>
24 _BitScanReverse(
reinterpret_cast<unsigned long*
>(&Result.x), v.x);
25 _BitScanReverse(
reinterpret_cast<unsigned long*
>(&Result.y), v.y);
26 _BitScanReverse(
reinterpret_cast<unsigned long*
>(&Result.z), v.z);
27 _BitScanReverse(
reinterpret_cast<unsigned long*
>(&Result.w), v.w);
33 template<
typename genType>
34 GLM_FUNC_QUALIFIER
int iround(genType x)
36 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'iround' only accept floating-point inputs");
37 assert(
static_cast<genType
>(0.0) <= x);
39 return static_cast<int>(x +
static_cast<genType
>(0.5));
42 template<length_t L,
typename T, qualifier Q>
45 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'iround' only accept floating-point inputs");
51 template<
typename genType>
52 GLM_FUNC_QUALIFIER uint
uround(genType x)
54 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'uround' only accept floating-point inputs");
55 assert(
static_cast<genType
>(0.0) <= x);
57 return static_cast<uint
>(x +
static_cast<genType
>(0.5));
60 template<length_t L,
typename T, qualifier Q>
63 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'uround' only accept floating-point inputs");
GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool all(vec< L, bool, Q > const &v)
Definition func_vector_relational.inl:67
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Definition func_vector_relational.inl:13
GLM_FUNC_DECL vec< L, int, Q > iround(vec< L, T, Q > const &x)
Definition integer.inl:43
GLM_FUNC_DECL vec< L, uint, Q > uround(vec< L, T, Q > const &x)
Definition integer.inl:61
detail namespace with internal helper functions
Definition json.h:249
Core features
Definition common.hpp:21
Definition func_integer.inl:122
Definition func_exponential.inl:25
Definition qualifier.hpp:35