17 #include "../ext/scalar_common.hpp"
18 #include "../common.hpp"
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_EXT_vector_common extension included")
34 template<length_t L,
typename T, qualifier Q>
35 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q>
min(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b, vec<L, T, Q>
const& c);
42 template<length_t L,
typename T, qualifier Q>
43 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q>
min(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b, vec<L, T, Q>
const& c, vec<L, T, Q>
const& d);
50 template<length_t L,
typename T, qualifier Q>
51 GLM_FUNC_DECL 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);
58 template<length_t L,
typename T, qualifier Q>
59 GLM_FUNC_DECL 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);
68 template<length_t L,
typename T, qualifier Q>
69 GLM_FUNC_DECL vec<L, T, Q>
fmin(vec<L, T, Q>
const& x, T y);
78 template<length_t L,
typename T, qualifier Q>
79 GLM_FUNC_DECL vec<L, T, Q>
fmin(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y);
88 template<length_t L,
typename T, qualifier Q>
89 GLM_FUNC_DECL vec<L, T, Q>
fmin(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b, vec<L, T, Q>
const& c);
98 template<length_t L,
typename T, qualifier Q>
99 GLM_FUNC_DECL 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);
108 template<length_t L,
typename T, qualifier Q>
109 GLM_FUNC_DECL vec<L, T, Q>
fmax(vec<L, T, Q>
const& a, T b);
118 template<length_t L,
typename T, qualifier Q>
119 GLM_FUNC_DECL vec<L, T, Q>
fmax(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b);
128 template<length_t L,
typename T, qualifier Q>
129 GLM_FUNC_DECL vec<L, T, Q>
fmax(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b, vec<L, T, Q>
const& c);
138 template<length_t L,
typename T, qualifier Q>
139 GLM_FUNC_DECL 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);
144 #include "vector_common.inl"
GLM_FUNC_DECL 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)
Returns y if x < y; otherwise, it returns x.
GLM_FUNC_DECL 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)
Returns y if y < x; otherwise, it returns x.
GLM_FUNC_DECL 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)
Return the maximum component-wise values of 4 inputs.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Return the minimum component-wise values of 4 inputs.