18 #ifndef GLM_ENABLE_EXPERIMENTAL 
   19 #       error "GLM: GLM_GTX_extented_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_extented_min_max extension included") 
   41         template<
typename T, 
template<
typename> 
class C>
 
   42         GLM_FUNC_DECL C<T> 
min(
 
   44                 typename C<T>::T 
const& y,
 
   45                 typename C<T>::T 
const& z);
 
   49         template<
typename T, 
template<
typename> 
class C>
 
   50         GLM_FUNC_DECL C<T> 
min(
 
   66         template<
typename T, 
template<
typename> 
class C>
 
   67         GLM_FUNC_DECL C<T> 
min(
 
   69                 typename C<T>::T 
const& y,
 
   70                 typename C<T>::T 
const& z,
 
   71                 typename C<T>::T 
const& w);
 
   75         template<
typename T, 
template<
typename> 
class C>
 
   76         GLM_FUNC_DECL C<T> 
min(
 
   92         template<
typename T, 
template<
typename> 
class C>
 
   93         GLM_FUNC_DECL C<T> 
max(
 
   95                 typename C<T>::T 
const& y,
 
   96                 typename C<T>::T 
const& z);
 
  100         template<
typename T, 
template<
typename> 
class C>
 
  101         GLM_FUNC_DECL C<T> 
max(
 
  117         template<
typename T, 
template<
typename> 
class C>
 
  118         GLM_FUNC_DECL C<T> 
max(
 
  120                 typename C<T>::T 
const& y,
 
  121                 typename C<T>::T 
const& z,
 
  122                 typename C<T>::T 
const& w);
 
  126         template<
typename T, 
template<
typename> 
class C>
 
  127         GLM_FUNC_DECL C<T> 
max(
 
  138         template<
typename genType>
 
  139         GLM_FUNC_DECL genType 
fmin(genType x, genType y);
 
  149         template<length_t L, 
typename T, qualifier Q>
 
  150         GLM_FUNC_DECL vec<L, T, Q> 
fmin(vec<L, T, Q> 
const& x, T y);
 
  160         template<length_t L, 
typename T, qualifier Q>
 
  161         GLM_FUNC_DECL vec<L, T, Q> 
fmin(vec<L, T, Q> 
const& x, vec<L, T, Q> 
const& y);
 
  169         template<
typename genType>
 
  170         GLM_FUNC_DECL genType 
fmax(genType x, genType y);
 
  180         template<length_t L, 
typename T, qualifier Q>
 
  181         GLM_FUNC_DECL vec<L, T, Q> 
fmax(vec<L, T, Q> 
const& x, T y);
 
  191         template<length_t L, 
typename T, qualifier Q>
 
  192         GLM_FUNC_DECL vec<L, T, Q> 
fmax(vec<L, T, Q> 
const& x, vec<L, T, Q> 
const& y);
 
  199         template<
typename genType>
 
  200         GLM_FUNC_DECL genType 
fclamp(genType x, genType minVal, genType maxVal);
 
  209         template<length_t L, 
typename T, qualifier Q>
 
  210         GLM_FUNC_DECL vec<L, T, Q> 
fclamp(vec<L, T, Q> 
const& x, T minVal, T maxVal);
 
  219         template<length_t L, 
typename T, qualifier Q>
 
  220         GLM_FUNC_DECL vec<L, T, Q> 
fclamp(vec<L, T, Q> 
const& x, vec<L, T, Q> 
const& minVal, vec<L, T, Q> 
const& maxVal);
 
  226 #include "extended_min_max.inl" 
GLM_FUNC_DECL C< T > max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the maximum component-wise values of 4 inputs. 
GLM_FUNC_DECL vec< L, T, Q > fclamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x. 
GLM_FUNC_DECL C< T > min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the minimum component-wise values of 4 inputs. 
GLM_FUNC_DECL vec< L, T, Q > fmax(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x. 
GLM_FUNC_DECL vec< L, T, Q > fmin(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.