18 #ifndef GLM_ENABLE_EXPERIMENTAL 
   19 #       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." 
   22 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 
   23 #       pragma message("GLM: GLM_GTX_associated_min_max extension included") 
   33         template<
typename T, 
typename U, qualifier P>
 
   38         template<length_t L, 
typename T, 
typename U, qualifier P>
 
   40                 vec<L, T, P> 
const& x, vec<L, U, P> 
const & a,
 
   41                 vec<L, T, P> 
const& y, vec<L, U, P> 
const & b);
 
   45         template<length_t L, 
typename T, 
typename U, qualifier P>
 
   47                 T x, 
const vec<L, U, P>& a,
 
   48                 T y, 
const vec<L, U, P>& b);
 
   52         template<length_t L, 
typename T, 
typename U, qualifier P>
 
   54                 vec<L, T, P> 
const& x, U a,
 
   55                 vec<L, T, P> 
const& y, U b);
 
   59         template<
typename T, 
typename U>
 
   67         template<length_t L, 
typename T, 
typename U, qualifier P>
 
   69                 vec<L, T, P> 
const& x, vec<L, U, P> 
const & a,
 
   70                 vec<L, T, P> 
const& y, vec<L, U, P> 
const & b,
 
   71                 vec<L, T, P> 
const& z, vec<L, U, P> 
const & c);
 
   75         template<
typename T, 
typename U>
 
   84         template<length_t L, 
typename T, 
typename U, qualifier P>
 
   86                 vec<L, T, P> 
const& x, vec<L, U, P> 
const & a,
 
   87                 vec<L, T, P> 
const& y, vec<L, U, P> 
const & b,
 
   88                 vec<L, T, P> 
const& z, vec<L, U, P> 
const & c,
 
   89                 vec<L, T, P> 
const& w, vec<L, U, P> 
const & d);
 
   93         template<length_t L, 
typename T, 
typename U, qualifier P>
 
   95                 T x, vec<L, U, P> 
const & a,
 
   96                 T y, vec<L, U, P> 
const & b,
 
   97                 T z, vec<L, U, P> 
const & c,
 
   98                 T w, vec<L, U, P> 
const & d);
 
  102         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  104                 vec<L, T, P> 
const& x, U a,
 
  105                 vec<L, T, P> 
const& y, U b,
 
  106                 vec<L, T, P> 
const& z, U c,
 
  107                 vec<L, T, P> 
const& w, U d);
 
  111         template<
typename T, 
typename U>
 
  116         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  118                 vec<L, T, P> 
const& x, vec<L, U, P> 
const & a,
 
  119                 vec<L, T, P> 
const& y, vec<L, U, P> 
const & b);
 
  123         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  125                 T x, vec<L, U, P> 
const & a,
 
  126                 T y, vec<L, U, P> 
const & b);
 
  130         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  132                 vec<L, T, P> 
const& x, U a,
 
  133                 vec<L, T, P> 
const& y, U b);
 
  137         template<
typename T, 
typename U>
 
  145         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  147                 vec<L, T, P> 
const& x, vec<L, U, P> 
const & a,
 
  148                 vec<L, T, P> 
const& y, vec<L, U, P> 
const & b,
 
  149                 vec<L, T, P> 
const& z, vec<L, U, P> 
const & c);
 
  153         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  155                 T x, vec<L, U, P> 
const & a,
 
  156                 T y, vec<L, U, P> 
const & b,
 
  157                 T z, vec<L, U, P> 
const & c);
 
  161         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  163                 vec<L, T, P> 
const& x, U a,
 
  164                 vec<L, T, P> 
const& y, U b,
 
  165                 vec<L, T, P> 
const& z, U c);
 
  169         template<
typename T, 
typename U>
 
  178         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  180                 vec<L, T, P> 
const& x, vec<L, U, P> 
const & a,
 
  181                 vec<L, T, P> 
const& y, vec<L, U, P> 
const & b,
 
  182                 vec<L, T, P> 
const& z, vec<L, U, P> 
const & c,
 
  183                 vec<L, T, P> 
const& w, vec<L, U, P> 
const & d);
 
  187         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  189                 T x, vec<L, U, P> 
const & a,
 
  190                 T y, vec<L, U, P> 
const & b,
 
  191                 T z, vec<L, U, P> 
const & c,
 
  192                 T w, vec<L, U, P> 
const & d);
 
  196         template<length_t L, 
typename T, 
typename U, qualifier P>
 
  198                 vec<L, T, P> 
const& x, U a,
 
  199                 vec<L, T, P> 
const& y, U b,
 
  200                 vec<L, T, P> 
const& z, U c,
 
  201                 vec<L, T, P> 
const& w, U d);
 
  206 #include "associated_min_max.inl" 
GLM_FUNC_DECL vec< L, U, P > associatedMax(vec< L, T, P > const &x, U a, vec< L, T, P > const &y, U b, vec< L, T, P > const &z, U c, vec< L, T, P > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values. 
GLM_FUNC_DECL vec< L, U, P > associatedMin(vec< L, T, P > const &x, U a, vec< L, T, P > const &y, U b, vec< L, T, P > const &z, U c, vec< L, T, P > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values.