19 #ifndef GLM_ENABLE_EXPERIMENTAL
20 # error "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."
21 #elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
32 template<
typename T,
typename U>
37 template<length_t L,
typename T,
typename U, qualifier Q>
39 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
40 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b);
44 template<length_t L,
typename T,
typename U, qualifier Q>
46 T x,
const vec<L, U, Q>& a,
47 T y,
const vec<L, U, Q>& b);
51 template<length_t L,
typename T,
typename U, qualifier Q>
53 vec<L, T, Q>
const& x, U a,
54 vec<L, T, Q>
const& y, U b);
58 template<
typename T,
typename U>
66 template<length_t L,
typename T,
typename U, qualifier Q>
68 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
69 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
70 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c);
74 template<
typename T,
typename U>
83 template<length_t L,
typename T,
typename U, qualifier Q>
85 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
86 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
87 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c,
88 vec<L, T, Q>
const& w, vec<L, U, Q>
const& d);
92 template<length_t L,
typename T,
typename U, qualifier Q>
94 T x, vec<L, U, Q>
const& a,
95 T y, vec<L, U, Q>
const& b,
96 T z, vec<L, U, Q>
const& c,
97 T w, vec<L, U, Q>
const& d);
101 template<length_t L,
typename T,
typename U, qualifier Q>
103 vec<L, T, Q>
const& x, U a,
104 vec<L, T, Q>
const& y, U b,
105 vec<L, T, Q>
const& z, U c,
106 vec<L, T, Q>
const& w, U d);
110 template<
typename T,
typename U>
115 template<length_t L,
typename T,
typename U, qualifier Q>
117 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
118 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b);
122 template<length_t L,
typename T,
typename U, qualifier Q>
124 T x, vec<L, U, Q>
const& a,
125 T y, vec<L, U, Q>
const& b);
129 template<length_t L,
typename T,
typename U, qualifier Q>
131 vec<L, T, Q>
const& x, U a,
132 vec<L, T, Q>
const& y, U b);
136 template<
typename T,
typename U>
144 template<length_t L,
typename T,
typename U, qualifier Q>
146 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
147 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
148 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c);
152 template<length_t L,
typename T,
typename U, qualifier Q>
154 T x, vec<L, U, Q>
const& a,
155 T y, vec<L, U, Q>
const& b,
156 T z, vec<L, U, Q>
const& c);
160 template<length_t L,
typename T,
typename U, qualifier Q>
162 vec<L, T, Q>
const& x, U a,
163 vec<L, T, Q>
const& y, U b,
164 vec<L, T, Q>
const& z, U c);
168 template<
typename T,
typename U>
177 template<length_t L,
typename T,
typename U, qualifier Q>
179 vec<L, T, Q>
const& x, vec<L, U, Q>
const& a,
180 vec<L, T, Q>
const& y, vec<L, U, Q>
const& b,
181 vec<L, T, Q>
const& z, vec<L, U, Q>
const& c,
182 vec<L, T, Q>
const& w, vec<L, U, Q>
const& d);
186 template<length_t L,
typename T,
typename U, qualifier Q>
188 T x, vec<L, U, Q>
const& a,
189 T y, vec<L, U, Q>
const& b,
190 T z, vec<L, U, Q>
const& c,
191 T w, vec<L, U, Q>
const& d);
195 template<length_t L,
typename T,
typename U, qualifier Q>
197 vec<L, T, Q>
const& x, U a,
198 vec<L, T, Q>
const& y, U b,
199 vec<L, T, Q>
const& z, U c,
200 vec<L, T, Q>
const& w, U d);
205 #include "associated_min_max.inl"