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.