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