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.