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.