6 GLM_FUNC_QUALIFIER T
min(
14 template<
typename T,
template<
typename>
class C>
15 GLM_FUNC_QUALIFIER C<T>
min
18 typename C<T>::T
const& y,
19 typename C<T>::T
const& z
25 template<
typename T,
template<
typename>
class C>
26 GLM_FUNC_QUALIFIER C<T>
min
37 GLM_FUNC_QUALIFIER T
min
48 template<
typename T,
template<
typename>
class C>
49 GLM_FUNC_QUALIFIER C<T>
min
52 typename C<T>::T
const& y,
53 typename C<T>::T
const& z,
54 typename C<T>::T
const& w
60 template<
typename T,
template<
typename>
class C>
61 GLM_FUNC_QUALIFIER C<T>
min
73 GLM_FUNC_QUALIFIER T
max(
81 template<
typename T,
template<
typename>
class C>
82 GLM_FUNC_QUALIFIER C<T>
max
85 typename C<T>::T
const& y,
86 typename C<T>::T
const& z
92 template<
typename T,
template<
typename>
class C>
93 GLM_FUNC_QUALIFIER C<T>
max
115 template<
typename T,
template<
typename>
class C>
116 GLM_FUNC_QUALIFIER C<T>
max
119 typename C<T>::T
const& y,
120 typename C<T>::T
const& z,
121 typename C<T>::T
const& w
127 template<
typename T,
template<
typename>
class C>
128 GLM_FUNC_QUALIFIER C<T>
max
140# if GLM_HAS_CXX11_STL
143 template<
typename genType>
144 GLM_FUNC_QUALIFIER genType
fmin(genType x, genType y)
146 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'fmin' only accept floating-point input");
157 template<length_t L,
typename T, qualifier Q>
158 GLM_FUNC_QUALIFIER vec<L, T, Q>
fmin(vec<L, T, Q>
const& a, T b)
160 return detail::functor2<vec, L, T, Q>::call(
fmin, a, vec<L, T, Q>(b));
163 template<length_t L,
typename T, qualifier Q>
164 GLM_FUNC_QUALIFIER vec<L, T, Q>
fmin(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b)
166 return detail::functor2<vec, L, T, Q>::call(
fmin, a, b);
170# if GLM_HAS_CXX11_STL
173 template<
typename genType>
174 GLM_FUNC_QUALIFIER genType
fmax(genType x, genType y)
176 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'fmax' only accept floating-point input");
187 template<length_t L,
typename T, qualifier Q>
188 GLM_FUNC_QUALIFIER vec<L, T, Q>
fmax(vec<L, T, Q>
const& a, T b)
190 return detail::functor2<vec, L, T, Q>::call(
fmax, a, vec<L, T, Q>(b));
193 template<length_t L,
typename T, qualifier Q>
194 GLM_FUNC_QUALIFIER vec<L, T, Q>
fmax(vec<L, T, Q>
const& a, vec<L, T, Q>
const& b)
196 return detail::functor2<vec, L, T, Q>::call(
fmax, a, b);
200 template<
typename genType>
201 GLM_FUNC_QUALIFIER genType
fclamp(genType x, genType minVal, genType maxVal)
203 GLM_STATIC_ASSERT(std::numeric_limits<genType>::is_iec559,
"'fclamp' only accept floating-point or integer inputs");
204 return fmin(
fmax(x, minVal), maxVal);
207 template<length_t L,
typename T, qualifier Q>
213 template<length_t L,
typename T, qualifier Q>
214 GLM_FUNC_QUALIFIER
vec<L, T, Q> fclamp(
vec<L, T, Q> const& x,
vec<L, T, Q> const& minVal,
vec<L, T, Q> const& maxVal)
216 return fmin(
fmax(x, minVal), maxVal);
GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y)
Definition func_common.inl:17
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Definition func_common.inl:613
GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y)
Definition func_common.inl:25
GLM_FUNC_DECL T fmax(T a, T b)
Definition scalar_common.inl:76
GLM_FUNC_DECL T fmin(T a, T b)
Definition scalar_common.inl:31
GLM_FUNC_DECL genType fclamp(genType x, genType minVal, genType maxVal)
Definition extended_min_max.inl:201
Core features
Definition common.hpp:21
Definition qualifier.hpp:35