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