0.9.8
associated_min_max.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
20 #endif
21 
22 namespace glm
23 {
26 
29  template<typename T, typename U, precision P>
30  GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
31 
34  template<typename T, typename U, precision P, template <typename, precision> class vecType>
35  GLM_FUNC_DECL tvec2<U, P> associatedMin(
36  vecType<T, P> const & x, vecType<U, P> const & a,
37  vecType<T, P> const & y, vecType<U, P> const & b);
38 
41  template<typename T, typename U, precision P, template <typename, precision> class vecType>
42  GLM_FUNC_DECL vecType<U, P> associatedMin(
43  T x, const vecType<U, P>& a,
44  T y, const vecType<U, P>& b);
45 
48  template<typename T, typename U, precision P, template <typename, precision> class vecType>
49  GLM_FUNC_DECL vecType<U, P> associatedMin(
50  vecType<T, P> const & x, U a,
51  vecType<T, P> const & y, U b);
52 
55  template<typename T, typename U>
56  GLM_FUNC_DECL U associatedMin(
57  T x, U a,
58  T y, U b,
59  T z, U c);
60 
63  template<typename T, typename U, precision P, template <typename, precision> class vecType>
64  GLM_FUNC_DECL vecType<U, P> associatedMin(
65  vecType<T, P> const & x, vecType<U, P> const & a,
66  vecType<T, P> const & y, vecType<U, P> const & b,
67  vecType<T, P> const & z, vecType<U, P> const & c);
68 
71  template<typename T, typename U>
72  GLM_FUNC_DECL U associatedMin(
73  T x, U a,
74  T y, U b,
75  T z, U c,
76  T w, U d);
77 
80  template<typename T, typename U, precision P, template <typename, precision> class vecType>
81  GLM_FUNC_DECL vecType<U, P> associatedMin(
82  vecType<T, P> const & x, vecType<U, P> const & a,
83  vecType<T, P> const & y, vecType<U, P> const & b,
84  vecType<T, P> const & z, vecType<U, P> const & c,
85  vecType<T, P> const & w, vecType<U, P> const & d);
86 
89  template<typename T, typename U, precision P, template <typename, precision> class vecType>
90  GLM_FUNC_DECL vecType<U, P> associatedMin(
91  T x, vecType<U, P> const & a,
92  T y, vecType<U, P> const & b,
93  T z, vecType<U, P> const & c,
94  T w, vecType<U, P> const & d);
95 
98  template<typename T, typename U, precision P, template <typename, precision> class vecType>
99  GLM_FUNC_DECL vecType<U, P> associatedMin(
100  vecType<T, P> const & x, U a,
101  vecType<T, P> const & y, U b,
102  vecType<T, P> const & z, U c,
103  vecType<T, P> const & w, U d);
104 
107  template<typename T, typename U>
108  GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b);
109 
112  template<typename T, typename U, precision P, template <typename, precision> class vecType>
113  GLM_FUNC_DECL tvec2<U, P> associatedMax(
114  vecType<T, P> const & x, vecType<U, P> const & a,
115  vecType<T, P> const & y, vecType<U, P> const & b);
116 
119  template<typename T, typename U, precision P, template <typename, precision> class vecType>
120  GLM_FUNC_DECL vecType<T, P> associatedMax(
121  T x, vecType<U, P> const & a,
122  T y, vecType<U, P> const & b);
123 
126  template<typename T, typename U, precision P, template <typename, precision> class vecType>
127  GLM_FUNC_DECL vecType<U, P> associatedMax(
128  vecType<T, P> const & x, U a,
129  vecType<T, P> const & y, U b);
130 
133  template<typename T, typename U>
134  GLM_FUNC_DECL U associatedMax(
135  T x, U a,
136  T y, U b,
137  T z, U c);
138 
141  template<typename T, typename U, precision P, template <typename, precision> class vecType>
142  GLM_FUNC_DECL vecType<U, P> associatedMax(
143  vecType<T, P> const & x, vecType<U, P> const & a,
144  vecType<T, P> const & y, vecType<U, P> const & b,
145  vecType<T, P> const & z, vecType<U, P> const & c);
146 
149  template<typename T, typename U, precision P, template <typename, precision> class vecType>
150  GLM_FUNC_DECL vecType<T, P> associatedMax(
151  T x, vecType<U, P> const & a,
152  T y, vecType<U, P> const & b,
153  T z, vecType<U, P> const & c);
154 
157  template<typename T, typename U, precision P, template <typename, precision> class vecType>
158  GLM_FUNC_DECL vecType<U, P> associatedMax(
159  vecType<T, P> const & x, U a,
160  vecType<T, P> const & y, U b,
161  vecType<T, P> const & z, U c);
162 
165  template<typename T, typename U>
166  GLM_FUNC_DECL U associatedMax(
167  T x, U a,
168  T y, U b,
169  T z, U c,
170  T w, U d);
171 
174  template<typename T, typename U, precision P, template <typename, precision> class vecType>
175  GLM_FUNC_DECL vecType<U, P> associatedMax(
176  vecType<T, P> const & x, vecType<U, P> const & a,
177  vecType<T, P> const & y, vecType<U, P> const & b,
178  vecType<T, P> const & z, vecType<U, P> const & c,
179  vecType<T, P> const & w, vecType<U, P> const & d);
180 
183  template<typename T, typename U, precision P, template <typename, precision> class vecType>
184  GLM_FUNC_DECL vecType<U, P> associatedMax(
185  T x, vecType<U, P> const & a,
186  T y, vecType<U, P> const & b,
187  T z, vecType<U, P> const & c,
188  T w, vecType<U, P> const & d);
189 
192  template<typename T, typename U, precision P, template <typename, precision> class vecType>
193  GLM_FUNC_DECL vecType<U, P> associatedMax(
194  vecType<T, P> const & x, U a,
195  vecType<T, P> const & y, U b,
196  vecType<T, P> const & z, U c,
197  vecType<T, P> const & w, U d);
198 
200 } //namespace glm
201 
202 #include "associated_min_max.inl"
GLM_FUNC_DECL vecType< U, P > associatedMax(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values.
Definition: _noise.hpp:11
GLM_FUNC_DECL vecType< U, P > associatedMin(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values.