| 1.0.0 API documentation

associated_min_max.hpp
Go to the documentation of this file.
1
14 #pragma once
15
16 // Dependency:
17 #include "../glm.hpp"
18
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")
23 #endif
24
25 namespace glm
26 {
29
32 template<typename T, typename U>
33 GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
34
37 template<length_t L, typename T, typename U, qualifier Q>
38 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
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);
41
44 template<length_t L, typename T, typename U, qualifier Q>
45 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
46 T x, const vec<L, U, Q>& a,
47 T y, const vec<L, U, Q>& b);
48
51 template<length_t L, typename T, typename U, qualifier Q>
52 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
53 vec<L, T, Q> const& x, U a,
54 vec<L, T, Q> const& y, U b);
55
58 template<typename T, typename U>
59 GLM_FUNC_DECL U associatedMin(
60 T x, U a,
61 T y, U b,
62 T z, U c);
63
66 template<length_t L, typename T, typename U, qualifier Q>
67 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
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);
71
74 template<typename T, typename U>
75 GLM_FUNC_DECL U associatedMin(
76 T x, U a,
77 T y, U b,
78 T z, U c,
79 T w, U d);
80
83 template<length_t L, typename T, typename U, qualifier Q>
84 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
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);
89
92 template<length_t L, typename T, typename U, qualifier Q>
93 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
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);
98
101 template<length_t L, typename T, typename U, qualifier Q>
102 GLM_FUNC_DECL vec<L, U, Q> associatedMin(
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);
107
110 template<typename T, typename U>
111 GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b);
112
115 template<length_t L, typename T, typename U, qualifier Q>
116 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
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);
119
122 template<length_t L, typename T, typename U, qualifier Q>
123 GLM_FUNC_DECL vec<L, T, Q> associatedMax(
124 T x, vec<L, U, Q> const& a,
125 T y, vec<L, U, Q> const& b);
126
129 template<length_t L, typename T, typename U, qualifier Q>
130 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
131 vec<L, T, Q> const& x, U a,
132 vec<L, T, Q> const& y, U b);
133
136 template<typename T, typename U>
137 GLM_FUNC_DECL U associatedMax(
138 T x, U a,
139 T y, U b,
140 T z, U c);
141
144 template<length_t L, typename T, typename U, qualifier Q>
145 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
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);
149
152 template<length_t L, typename T, typename U, qualifier Q>
153 GLM_FUNC_DECL vec<L, T, Q> associatedMax(
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);
157
160 template<length_t L, typename T, typename U, qualifier Q>
161 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
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);
165
168 template<typename T, typename U>
169 GLM_FUNC_DECL U associatedMax(
170 T x, U a,
171 T y, U b,
172 T z, U c,
173 T w, U d);
174
177 template<length_t L, typename T, typename U, qualifier Q>
178 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
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);
183
186 template<length_t L, typename T, typename U, qualifier Q>
187 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
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);
192
195 template<length_t L, typename T, typename U, qualifier Q>
196 GLM_FUNC_DECL vec<L, U, Q> associatedMax(
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);
201
203 } //namespace glm
204
205 #include "associated_min_max.inl"
glm::associatedMin
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.
glm::associatedMax
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.