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.