19 #ifndef GLM_ENABLE_EXPERIMENTAL    20 #   error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."    23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)    24 #   pragma message("GLM: GLM_GTX_associated_min_max extension included")    34     template<
typename T, 
typename U, qualifier Q>
    39     template<length_t L, 
typename T, 
typename U, qualifier Q>
    41         vec<L, T, Q> 
const& x, vec<L, U, Q> 
const& a,
    42         vec<L, T, Q> 
const& y, vec<L, U, Q> 
const& b);
    46     template<length_t L, 
typename T, 
typename U, qualifier Q>
    48         T x, 
const vec<L, U, Q>& a,
    49         T y, 
const vec<L, U, Q>& b);
    53     template<length_t L, 
typename T, 
typename U, qualifier Q>
    55         vec<L, T, Q> 
const& x, U a,
    56         vec<L, T, Q> 
const& y, U b);
    60     template<
typename T, 
typename U>
    68     template<length_t L, 
typename T, 
typename U, qualifier Q>
    70         vec<L, T, Q> 
const& x, vec<L, U, Q> 
const& a,
    71         vec<L, T, Q> 
const& y, vec<L, U, Q> 
const& b,
    72         vec<L, T, Q> 
const& z, vec<L, U, Q> 
const& c);
    76     template<
typename T, 
typename U>
    85     template<length_t L, 
typename T, 
typename U, qualifier Q>
    87         vec<L, T, Q> 
const& x, vec<L, U, Q> 
const& a,
    88         vec<L, T, Q> 
const& y, vec<L, U, Q> 
const& b,
    89         vec<L, T, Q> 
const& z, vec<L, U, Q> 
const& c,
    90         vec<L, T, Q> 
const& w, vec<L, U, Q> 
const& d);
    94     template<length_t L, 
typename T, 
typename U, qualifier Q>
    96         T x, vec<L, U, Q> 
const& a,
    97         T y, vec<L, U, Q> 
const& b,
    98         T z, vec<L, U, Q> 
const& c,
    99         T w, vec<L, U, Q> 
const& d);
   103     template<length_t L, 
typename T, 
typename U, qualifier Q>
   105         vec<L, T, Q> 
const& x, U a,
   106         vec<L, T, Q> 
const& y, U b,
   107         vec<L, T, Q> 
const& z, U c,
   108         vec<L, T, Q> 
const& w, U d);
   112     template<
typename T, 
typename U>
   117     template<length_t L, 
typename T, 
typename U, qualifier Q>
   119         vec<L, T, Q> 
const& x, vec<L, U, Q> 
const& a,
   120         vec<L, T, Q> 
const& y, vec<L, U, Q> 
const& b);
   124     template<length_t L, 
typename T, 
typename U, qualifier Q>
   126         T x, vec<L, U, Q> 
const& a,
   127         T y, vec<L, U, Q> 
const& b);
   131     template<length_t L, 
typename T, 
typename U, qualifier Q>
   133         vec<L, T, Q> 
const& x, U a,
   134         vec<L, T, Q> 
const& y, U b);
   138     template<
typename T, 
typename U>
   146     template<length_t L, 
typename T, 
typename U, qualifier Q>
   148         vec<L, T, Q> 
const& x, vec<L, U, Q> 
const& a,
   149         vec<L, T, Q> 
const& y, vec<L, U, Q> 
const& b,
   150         vec<L, T, Q> 
const& z, vec<L, U, Q> 
const& c);
   154     template<length_t L, 
typename T, 
typename U, qualifier Q>
   156         T x, vec<L, U, Q> 
const& a,
   157         T y, vec<L, U, Q> 
const& b,
   158         T z, vec<L, U, Q> 
const& c);
   162     template<length_t L, 
typename T, 
typename U, qualifier Q>
   164         vec<L, T, Q> 
const& x, U a,
   165         vec<L, T, Q> 
const& y, U b,
   166         vec<L, T, Q> 
const& z, U c);
   170     template<
typename T, 
typename U>
   179     template<length_t L, 
typename T, 
typename U, qualifier Q>
   181         vec<L, T, Q> 
const& x, vec<L, U, Q> 
const& a,
   182         vec<L, T, Q> 
const& y, vec<L, U, Q> 
const& b,
   183         vec<L, T, Q> 
const& z, vec<L, U, Q> 
const& c,
   184         vec<L, T, Q> 
const& w, vec<L, U, Q> 
const& d);
   188     template<length_t L, 
typename T, 
typename U, qualifier Q>
   190         T x, vec<L, U, Q> 
const& a,
   191         T y, vec<L, U, Q> 
const& b,
   192         T z, vec<L, U, Q> 
const& c,
   193         T w, vec<L, U, Q> 
const& d);
   197     template<length_t L, 
typename T, 
typename U, qualifier Q>
   199         vec<L, T, Q> 
const& x, U a,
   200         vec<L, T, Q> 
const& y, U b,
   201         vec<L, T, Q> 
const& z, U c,
   202         vec<L, T, Q> 
const& w, U d);
   207 #include "associated_min_max.inl" GLM_FUNC_DECL vec< L, U, Q > associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values. 
GLM_FUNC_DECL vec< L, U, Q > associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values.