19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: 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.")
23 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
34 template<
typename T,
typename U, qualifier Q>
39 template<length_t L,
typename T,
typename U, qualifier Q>
41 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
42 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b);
46 template<length_t L,
typename T,
typename U, qualifier Q>
48 T x,
const vec<L, U, Q>& a,
49 T y,
const vec<L, U, Q>& b);
53 template<length_t L,
typename T,
typename U, qualifier Q>
55 vec<L, T, Q>
const& x, U a,
56 vec<L, T, Q>
const& y, U b);
60 template<
typename T,
typename U>
68 template<length_t L,
typename T,
typename U, qualifier Q>
70 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
71 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
72 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c);
76 template<
typename T,
typename U>
85 template<length_t L,
typename T,
typename U, qualifier Q>
87 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
88 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
89 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c,
90 vec<L, T, Q>
const& w, vec<L, U, Q>
const& d);
94 template<length_t L,
typename T,
typename U, qualifier Q>
96 T x, vec<L, U, Q>
const& a,
97 T y, vec<L, U, Q>
const& b,
98 T z, vec<L, U, Q>
const& c,
99 T w, vec<L, U, Q>
const& d);
103 template<length_t L,
typename T,
typename U, qualifier Q>
105 vec<L, T, Q>
const& x, U a,
106 vec<L, T, Q>
const& y, U b,
107 vec<L, T, Q>
const& z, U c,
108 vec<L, T, Q>
const& w, U d);
112 template<
typename T,
typename U>
117 template<length_t L,
typename T,
typename U, qualifier Q>
119 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
120 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b);
124 template<length_t L,
typename T,
typename U, qualifier Q>
126 T x, vec<L, U, Q>
const& a,
127 T y, vec<L, U, Q>
const& b);
131 template<length_t L,
typename T,
typename U, qualifier Q>
133 vec<L, T, Q>
const& x, U a,
134 vec<L, T, Q>
const& y, U b);
138 template<
typename T,
typename U>
146 template<length_t L,
typename T,
typename U, qualifier Q>
148 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
149 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
150 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c);
154 template<length_t L,
typename T,
typename U, qualifier Q>
156 T x, vec<L, U, Q>
const& a,
157 T y, vec<L, U, Q>
const& b,
158 T z, vec<L, U, Q>
const& c);
162 template<length_t L,
typename T,
typename U, qualifier Q>
164 vec<L, T, Q>
const& x, U a,
165 vec<L, T, Q>
const& y, U b,
166 vec<L, T, Q>
const& z, U c);
170 template<
typename T,
typename U>
179 template<length_t L,
typename T,
typename U, qualifier Q>
181 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
182 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
183 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c,
184 vec<L, T, Q>
const& w, vec<L, U, Q>
const& d);
188 template<length_t L,
typename T,
typename U, qualifier Q>
190 T x, vec<L, U, Q>
const& a,
191 T y, vec<L, U, Q>
const& b,
192 T z, vec<L, U, Q>
const& c,
193 T w, vec<L, U, Q>
const& d);
197 template<length_t L,
typename T,
typename U, qualifier Q>
199 vec<L, T, Q>
const& x, U a,
200 vec<L, T, Q>
const& y, U b,
201 vec<L, T, Q>
const& z, U c,
202 vec<L, T, Q>
const& w, U d);
207 #include "associated_min_max.inl"
GLM_FUNC_DECL vec< L, U, Q > associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values.
GLM_FUNC_DECL vec< L, U, Q > associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values.