1.0.0 API documentation
Loading...
Searching...
No Matches
associated_min_max.hpp
Go to the documentation of this file.
1
13
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
25namespace 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_FUNC_DECL U associatedMin(T x, U a, T y, U b)
Minimum comparison between 2 variables and returns 2 associated variable values.
GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b)
Maximum comparison between 2 variables and returns 2 associated variable values.