1#include "../detail/_vectorize.hpp"
5 template<length_t L,
typename T, qualifier Q>
6 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
vec<L, T, Q> min(
vec<L, T, Q> const& x,
vec<L, T, Q> const& y,
vec<L, T, Q> const& z)
8 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'min' only accept floating-point or integer inputs");
12 template<length_t L,
typename T, qualifier Q>
13 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
vec<L, T, Q> min(
vec<L, T, Q> const& x,
vec<L, T, Q> const& y,
vec<L, T, Q> const& z,
vec<L, T, Q> const& w)
15 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'min' only accept floating-point or integer inputs");
19 template<length_t L,
typename T, qualifier Q>
20 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
vec<L, T, Q> max(
vec<L, T, Q> const& x,
vec<L, T, Q> const& y,
vec<L, T, Q> const& z)
22 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'max' only accept floating-point or integer inputs");
26 template<length_t L,
typename T, qualifier Q>
27 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
vec<L, T, Q> max(
vec<L, T, Q> const& x,
vec<L, T, Q> const& y,
vec<L, T, Q> const& z,
vec<L, T, Q> const& w)
29 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'max' only accept floating-point or integer inputs");
33 template<length_t L,
typename T, qualifier Q>
36 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmin' only accept floating-point inputs");
40 template<length_t L,
typename T, qualifier Q>
43 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmin' only accept floating-point inputs");
47 template<length_t L,
typename T, qualifier Q>
48 GLM_FUNC_QUALIFIER
vec<L, T, Q> fmin(
vec<L, T, Q> const& a,
vec<L, T, Q> const& b,
vec<L, T, Q> const& c)
50 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmin' only accept floating-point inputs");
54 template<length_t L,
typename T, qualifier Q>
55 GLM_FUNC_QUALIFIER
vec<L, T, Q> fmin(
vec<L, T, Q> const& a,
vec<L, T, Q> const& b,
vec<L, T, Q> const& c,
vec<L, T, Q> const& d)
57 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmin' only accept floating-point inputs");
61 template<length_t L,
typename T, qualifier Q>
64 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmax' only accept floating-point inputs");
68 template<length_t L,
typename T, qualifier Q>
71 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmax' only accept floating-point inputs");
75 template<length_t L,
typename T, qualifier Q>
76 GLM_FUNC_QUALIFIER
vec<L, T, Q> fmax(
vec<L, T, Q> const& a,
vec<L, T, Q> const& b,
vec<L, T, Q> const& c)
78 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmax' only accept floating-point inputs");
82 template<length_t L,
typename T, qualifier Q>
83 GLM_FUNC_QUALIFIER
vec<L, T, Q> fmax(
vec<L, T, Q> const& a,
vec<L, T, Q> const& b,
vec<L, T, Q> const& c,
vec<L, T, Q> const& d)
85 GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559,
"'fmax' only accept floating-point inputs");
GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y)
Definition func_common.inl:17
GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y)
Definition func_common.inl:25
GLM_FUNC_DECL T fmax(T a, T b)
Definition scalar_common.inl:76
GLM_FUNC_DECL T fmin(T a, T b)
Definition scalar_common.inl:31
Core features
Definition common.hpp:21
Definition _vectorize.hpp:46
Definition qualifier.hpp:35