1
///////////////////////////////////////////////////////////////////////////////////
2
/// OpenGL Mathematics (glm.g-truc.net)
4
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
5
/// Permission is hereby granted, free of charge, to any person obtaining a copy
6
/// of this software and associated documentation files (the "Software"), to deal
7
/// in the Software without restriction, including without limitation the rights
8
/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
/// copies of the Software, and to permit persons to whom the Software is
10
/// furnished to do so, subject to the following conditions:
12
/// The above copyright notice and this permission notice shall be included in
13
/// all copies or substantial portions of the Software.
15
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
/// @file glm/core/intrinsic_vector_relational.inl
25
/// @date 2009-06-09 / 2011-06-15
26
/// @author Christophe Riccio
27
///////////////////////////////////////////////////////////////////////////////////
30
//template <typename valType>
31
//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type lessThan
33
// detail::tvec2<valType> const & x,
34
// detail::tvec2<valType> const & y
38
// detail::type<valType>::is_float ||
39
// detail::type<valType>::is_int ||
40
// detail::type<valType>::is_uint);
42
// return typename detail::tvec2<bool>::bool_type(x.x < y.x, x.y < y.y);
45
//template <typename valType>
46
//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type lessThan
48
// detail::tvec3<valType> const & x,
49
// detail::tvec3<valType> const & y
53
// detail::type<valType>::is_float ||
54
// detail::type<valType>::is_int ||
55
// detail::type<valType>::is_uint);
57
// return typename detail::tvec3<bool>::bool_type(x.x < y.x, x.y < y.y, x.z < y.z);
60
//template <typename valType>
61
//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type lessThan
63
// detail::tvec4<valType> const & x,
64
// detail::tvec4<valType> const & y
68
// detail::type<valType>::is_float ||
69
// detail::type<valType>::is_int ||
70
// detail::type<valType>::is_uint);
72
// return typename detail::tvec4<bool>::bool_type(x.x < y.x, x.y < y.y, x.z < y.z, x.w < y.w);
76
//template <typename valType>
77
//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type lessThanEqual
79
// detail::tvec2<valType> const & x,
80
// detail::tvec2<valType> const & y
84
// detail::type<valType>::is_float ||
85
// detail::type<valType>::is_int ||
86
// detail::type<valType>::is_uint);
88
// return typename detail::tvec2<bool>::bool_type(x.x <= y.x, x.y <= y.y);
91
//template <typename valType>
92
//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type lessThanEqual
94
// detail::tvec3<valType> const & x,
95
// detail::tvec3<valType> const & y
99
// detail::type<valType>::is_float ||
100
// detail::type<valType>::is_int ||
101
// detail::type<valType>::is_uint);
103
// return typename detail::tvec3<bool>::bool_type(x.x <= y.x, x.y <= y.y, x.z <= y.z);
106
//template <typename valType>
107
//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type lessThanEqual
109
// detail::tvec4<valType> const & x,
110
// detail::tvec4<valType> const & y
113
// GLM_STATIC_ASSERT(
114
// detail::type<valType>::is_float ||
115
// detail::type<valType>::is_int ||
116
// detail::type<valType>::is_uint);
118
// return typename detail::tvec4<bool>::bool_type(x.x <= y.x, x.y <= y.y, x.z <= y.z, x.w <= y.w);
122
//template <typename valType>
123
//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type greaterThan
125
// detail::tvec2<valType> const & x,
126
// detail::tvec2<valType> const & y
129
// GLM_STATIC_ASSERT(
130
// detail::type<valType>::is_float ||
131
// detail::type<valType>::is_int ||
132
// detail::type<valType>::is_uint);
134
// return typename detail::tvec2<bool>::bool_type(x.x > y.x, x.y > y.y);
137
//template <typename valType>
138
//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type greaterThan
140
// detail::tvec3<valType> const & x,
141
// detail::tvec3<valType> const & y
144
// GLM_STATIC_ASSERT(
145
// detail::type<valType>::is_float ||
146
// detail::type<valType>::is_int ||
147
// detail::type<valType>::is_uint);
149
// return typename detail::tvec3<bool>::bool_type(x.x > y.x, x.y > y.y, x.z > y.z);
152
//template <typename valType>
153
//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type greaterThan
155
// detail::tvec4<valType> const & x,
156
// detail::tvec4<valType> const & y
159
// GLM_STATIC_ASSERT(
160
// detail::type<valType>::is_float ||
161
// detail::type<valType>::is_int ||
162
// detail::type<valType>::is_uint);
164
// return typename detail::tvec4<bool>::bool_type(x.x > y.x, x.y > y.y, x.z > y.z, x.w > y.w);
167
//// greaterThanEqual
168
//template <typename valType>
169
//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type greaterThanEqual
171
// detail::tvec2<valType> const & x,
172
// detail::tvec2<valType> const & y
175
// GLM_STATIC_ASSERT(
176
// detail::type<valType>::is_float ||
177
// detail::type<valType>::is_int ||
178
// detail::type<valType>::is_uint);
180
// return typename detail::tvec2<bool>::bool_type(x.x >= y.x, x.y >= y.y);
183
//template <typename valType>
184
//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type greaterThanEqual
186
// detail::tvec3<valType> const & x,
187
// detail::tvec3<valType> const & y
190
// GLM_STATIC_ASSERT(
191
// detail::type<valType>::is_float ||
192
// detail::type<valType>::is_int ||
193
// detail::type<valType>::is_uint);
195
// return typename detail::tvec3<bool>::bool_type(x.x >= y.x, x.y >= y.y, x.z >= y.z);
198
//template <typename valType>
199
//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type greaterThanEqual
201
// detail::tvec4<valType> const & x,
202
// detail::tvec4<valType> const & y
205
// GLM_STATIC_ASSERT(
206
// detail::type<valType>::is_float ||
207
// detail::type<valType>::is_int ||
208
// detail::type<valType>::is_uint);
210
// return typename detail::tvec4<bool>::bool_type(x.x >= y.x, x.y >= y.y, x.z >= y.z, x.w >= y.w);
214
//template <typename valType>
215
//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type equal
217
// detail::tvec2<valType> const & x,
218
// detail::tvec2<valType> const & y
221
// GLM_STATIC_ASSERT(
222
// detail::type<valType>::is_float ||
223
// detail::type<valType>::is_int ||
224
// detail::type<valType>::is_uint ||
225
// detail::type<valType>::is_bool);
227
// return typename detail::tvec2<valType>::bool_type(x.x == y.x, x.y == y.y);
230
//template <typename valType>
231
//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type equal
233
// detail::tvec3<valType> const & x,
234
// detail::tvec3<valType> const & y
237
// GLM_STATIC_ASSERT(
238
// detail::type<valType>::is_float ||
239
// detail::type<valType>::is_int ||
240
// detail::type<valType>::is_uint ||
241
// detail::type<valType>::is_bool);
243
// return typename detail::tvec3<valType>::bool_type(x.x == y.x, x.y == y.y, x.z == y.z);
246
//template <typename valType>
247
//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type equal
249
// detail::tvec4<valType> const & x,
250
// detail::tvec4<valType> const & y
253
// GLM_STATIC_ASSERT(
254
// detail::type<valType>::is_float ||
255
// detail::type<valType>::is_int ||
256
// detail::type<valType>::is_uint ||
257
// detail::type<valType>::is_bool);
259
// return typename detail::tvec4<valType>::bool_type(x.x == y.x, x.y == y.y, x.z == y.z, x.w == y.w);
263
//template <typename valType>
264
//GLM_FUNC_QUALIFIER typename detail::tvec2<valType>::bool_type notEqual
266
// detail::tvec2<valType> const & x,
267
// detail::tvec2<valType> const & y
270
// GLM_STATIC_ASSERT(
271
// detail::type<valType>::is_float ||
272
// detail::type<valType>::is_int ||
273
// detail::type<valType>::is_uint ||
274
// detail::type<valType>::is_bool);
276
// return typename detail::tvec2<valType>::bool_type(x.x != y.x, x.y != y.y);
279
//template <typename valType>
280
//GLM_FUNC_QUALIFIER typename detail::tvec3<valType>::bool_type notEqual
282
// detail::tvec3<valType> const & x,
283
// detail::tvec3<valType> const & y
286
// GLM_STATIC_ASSERT(
287
// detail::type<valType>::is_float ||
288
// detail::type<valType>::is_int ||
289
// detail::type<valType>::is_uint ||
290
// detail::type<valType>::is_bool);
292
// return typename detail::tvec3<valType>::bool_type(x.x != y.x, x.y != y.y, x.z != y.z);
295
//template <typename valType>
296
//GLM_FUNC_QUALIFIER typename detail::tvec4<valType>::bool_type notEqual
298
// detail::tvec4<valType> const & x,
299
// detail::tvec4<valType> const & y
302
// GLM_STATIC_ASSERT(
303
// detail::type<valType>::is_float ||
304
// detail::type<valType>::is_int ||
305
// detail::type<valType>::is_uint ||
306
// detail::type<valType>::is_bool);
308
// return typename detail::tvec4<valType>::bool_type(x.x != y.x, x.y != y.y, x.z != y.z, x.w != y.w);
312
//GLM_FUNC_QUALIFIER bool any(detail::tvec2<bool> const & x)
314
// return x.x || x.y;
317
//GLM_FUNC_QUALIFIER bool any(detail::tvec3<bool> const & x)
319
// return x.x || x.y || x.z;
322
//GLM_FUNC_QUALIFIER bool any(detail::tvec4<bool> const & x)
324
// return x.x || x.y || x.z || x.w;
328
//GLM_FUNC_QUALIFIER bool all(const detail::tvec2<bool>& x)
330
// return x.x && x.y;
333
//GLM_FUNC_QUALIFIER bool all(const detail::tvec3<bool>& x)
335
// return x.x && x.y && x.z;
338
//GLM_FUNC_QUALIFIER bool all(const detail::tvec4<bool>& x)
340
// return x.x && x.y && x.z && x.w;
344
//GLM_FUNC_QUALIFIER detail::tvec2<bool>::bool_type not_
346
// detail::tvec2<bool> const & v
349
// return detail::tvec2<bool>::bool_type(!v.x, !v.y);
352
//GLM_FUNC_QUALIFIER detail::tvec3<bool>::bool_type not_
354
// detail::tvec3<bool> const & v
357
// return detail::tvec3<bool>::bool_type(!v.x, !v.y, !v.z);
360
//GLM_FUNC_QUALIFIER detail::tvec4<bool>::bool_type not_
362
// detail::tvec4<bool> const & v
365
// return detail::tvec4<bool>::bool_type(!v.x, !v.y, !v.z, !v.w);
b'\\ No newline at end of file'