3#include "./compute_vector_relational.hpp"
9# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE
10 template<
typename T, qualifier Q>
11 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec()
12# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE
17 template<
typename T, qualifier Q>
18 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<2, T, Q>
const& v)
23 template<
typename T, qualifier Q>
25 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<2, T, P>
const& v)
31 template<
typename T, qualifier Q>
32 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(T scalar)
33 : x(scalar), y(scalar)
36 template<
typename T, qualifier Q>
37 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(T _x, T _y)
43 template<
typename T, qualifier Q>
44 template<
typename U, qualifier P>
45 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<1, U, P>
const& v)
46 : x(static_cast<T>(v.x))
47 , y(static_cast<T>(v.x))
50 template<
typename T, qualifier Q>
51 template<
typename A,
typename B>
52 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(A _x, B _y)
53 : x(static_cast<T>(_x))
54 , y(static_cast<T>(_y))
57 template<
typename T, qualifier Q>
58 template<
typename A,
typename B>
59 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<1, A, Q>
const& _x, B _y)
60 : x(static_cast<T>(_x.x))
61 , y(static_cast<T>(_y))
64 template<
typename T, qualifier Q>
65 template<
typename A,
typename B>
66 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(A _x, vec<1, B, Q>
const& _y)
67 : x(static_cast<T>(_x))
68 , y(static_cast<T>(_y.x))
71 template<
typename T, qualifier Q>
72 template<
typename A,
typename B>
73 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<1, A, Q>
const& _x, vec<1, B, Q>
const& _y)
74 : x(static_cast<T>(_x.x))
75 , y(static_cast<T>(_y.x))
80 template<
typename T, qualifier Q>
81 template<
typename U, qualifier P>
82 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<2, U, P>
const& v)
83 : x(static_cast<T>(v.x))
84 , y(static_cast<T>(v.y))
87 template<
typename T, qualifier Q>
88 template<
typename U, qualifier P>
89 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<3, U, P>
const& v)
90 : x(static_cast<T>(v.x))
91 , y(static_cast<T>(v.y))
94 template<
typename T, qualifier Q>
95 template<
typename U, qualifier P>
96 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<4, U, P>
const& v)
97 : x(static_cast<T>(v.x))
98 , y(static_cast<T>(v.y))
103 template<
typename T, qualifier Q>
104 GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & vec<2, T, Q>::operator[](
typename vec<2, T, Q>::length_type i)
106 assert(i >= 0 && i < this->length());
117 template<
typename T, qualifier Q>
118 GLM_FUNC_QUALIFIER GLM_CONSTEXPR T
const& vec<2, T, Q>::operator[](
typename vec<2, T, Q>::length_type i)
const
120 assert(i >= 0 && i < this->length());
133# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE
134 template<
typename T, qualifier Q>
135 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator=(vec<2, T, Q>
const& v)
143 template<
typename T, qualifier Q>
145 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator=(vec<2, U, Q>
const& v)
147 this->x =
static_cast<T
>(v.x);
148 this->y =
static_cast<T
>(v.y);
152 template<
typename T, qualifier Q>
154 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator+=(U scalar)
156 this->x +=
static_cast<T
>(scalar);
157 this->y +=
static_cast<T
>(scalar);
161 template<
typename T, qualifier Q>
163 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator+=(vec<1, U, Q>
const& v)
165 this->x +=
static_cast<T
>(v.x);
166 this->y +=
static_cast<T
>(v.x);
170 template<
typename T, qualifier Q>
172 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator+=(vec<2, U, Q>
const& v)
174 this->x +=
static_cast<T
>(v.x);
175 this->y +=
static_cast<T
>(v.y);
179 template<
typename T, qualifier Q>
181 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator-=(U scalar)
183 this->x -=
static_cast<T
>(scalar);
184 this->y -=
static_cast<T
>(scalar);
188 template<
typename T, qualifier Q>
190 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator-=(vec<1, U, Q>
const& v)
192 this->x -=
static_cast<T
>(v.x);
193 this->y -=
static_cast<T
>(v.x);
197 template<
typename T, qualifier Q>
199 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator-=(vec<2, U, Q>
const& v)
201 this->x -=
static_cast<T
>(v.x);
202 this->y -=
static_cast<T
>(v.y);
206 template<
typename T, qualifier Q>
208 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator*=(U scalar)
210 this->x *=
static_cast<T
>(scalar);
211 this->y *=
static_cast<T
>(scalar);
215 template<
typename T, qualifier Q>
217 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator*=(vec<1, U, Q>
const& v)
219 this->x *=
static_cast<T
>(v.x);
220 this->y *=
static_cast<T
>(v.x);
224 template<
typename T, qualifier Q>
226 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator*=(vec<2, U, Q>
const& v)
228 this->x *=
static_cast<T
>(v.x);
229 this->y *=
static_cast<T
>(v.y);
233 template<
typename T, qualifier Q>
235 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator/=(U scalar)
237 this->x /=
static_cast<T
>(scalar);
238 this->y /=
static_cast<T
>(scalar);
242 template<
typename T, qualifier Q>
244 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator/=(vec<1, U, Q>
const& v)
246 this->x /=
static_cast<T
>(v.x);
247 this->y /=
static_cast<T
>(v.x);
251 template<
typename T, qualifier Q>
253 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator/=(vec<2, U, Q>
const& v)
255 this->x /=
static_cast<T
>(v.x);
256 this->y /=
static_cast<T
>(v.y);
262 template<
typename T, qualifier Q>
263 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator++()
270 template<
typename T, qualifier Q>
271 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator--()
278 template<
typename T, qualifier Q>
279 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> vec<2, T, Q>::operator++(
int)
281 vec<2, T, Q> Result(*
this);
286 template<
typename T, qualifier Q>
287 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> vec<2, T, Q>::operator--(
int)
289 vec<2, T, Q> Result(*
this);
296 template<
typename T, qualifier Q>
298 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator%=(U scalar)
300 this->x %=
static_cast<T
>(scalar);
301 this->y %=
static_cast<T
>(scalar);
305 template<
typename T, qualifier Q>
307 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator%=(vec<1, U, Q>
const& v)
309 this->x %=
static_cast<T
>(v.x);
310 this->y %=
static_cast<T
>(v.x);
314 template<
typename T, qualifier Q>
316 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator%=(vec<2, U, Q>
const& v)
318 this->x %=
static_cast<T
>(v.x);
319 this->y %=
static_cast<T
>(v.y);
323 template<
typename T, qualifier Q>
325 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator&=(U scalar)
327 this->x &=
static_cast<T
>(scalar);
328 this->y &=
static_cast<T
>(scalar);
332 template<
typename T, qualifier Q>
334 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator&=(vec<1, U, Q>
const& v)
336 this->x &=
static_cast<T
>(v.x);
337 this->y &=
static_cast<T
>(v.x);
341 template<
typename T, qualifier Q>
343 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator&=(vec<2, U, Q>
const& v)
345 this->x &=
static_cast<T
>(v.x);
346 this->y &=
static_cast<T
>(v.y);
350 template<
typename T, qualifier Q>
352 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator|=(U scalar)
354 this->x |=
static_cast<T
>(scalar);
355 this->y |=
static_cast<T
>(scalar);
359 template<
typename T, qualifier Q>
361 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator|=(vec<1, U, Q>
const& v)
363 this->x |=
static_cast<T
>(v.x);
364 this->y |=
static_cast<T
>(v.x);
368 template<
typename T, qualifier Q>
370 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator|=(vec<2, U, Q>
const& v)
372 this->x |=
static_cast<T
>(v.x);
373 this->y |=
static_cast<T
>(v.y);
377 template<
typename T, qualifier Q>
379 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator^=(U scalar)
381 this->x ^=
static_cast<T
>(scalar);
382 this->y ^=
static_cast<T
>(scalar);
386 template<
typename T, qualifier Q>
388 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator^=(vec<1, U, Q>
const& v)
390 this->x ^=
static_cast<T
>(v.x);
391 this->y ^=
static_cast<T
>(v.x);
395 template<
typename T, qualifier Q>
397 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator^=(vec<2, U, Q>
const& v)
399 this->x ^=
static_cast<T
>(v.x);
400 this->y ^=
static_cast<T
>(v.y);
404 template<
typename T, qualifier Q>
406 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator<<=(U scalar)
408 this->x <<= static_cast<T>(scalar);
409 this->y <<= static_cast<T>(scalar);
413 template<
typename T, qualifier Q>
415 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator<<=(vec<1, U, Q>
const& v)
417 this->x <<= static_cast<T>(v.x);
418 this->y <<= static_cast<T>(v.x);
422 template<
typename T, qualifier Q>
424 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator<<=(vec<2, U, Q>
const& v)
426 this->x <<= static_cast<T>(v.x);
427 this->y <<= static_cast<T>(v.y);
431 template<
typename T, qualifier Q>
433 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator>>=(U scalar)
435 this->x >>=
static_cast<T
>(scalar);
436 this->y >>=
static_cast<T
>(scalar);
440 template<
typename T, qualifier Q>
442 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator>>=(vec<1, U, Q>
const& v)
444 this->x >>=
static_cast<T
>(v.x);
445 this->y >>=
static_cast<T
>(v.x);
449 template<
typename T, qualifier Q>
451 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator>>=(vec<2, U, Q>
const& v)
453 this->x >>=
static_cast<T
>(v.x);
454 this->y >>=
static_cast<T
>(v.y);
460 template<
typename T, qualifier Q>
461 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q>
const& v)
466 template<
typename T, qualifier Q>
467 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q>
const& v)
476 template<
typename T, qualifier Q>
477 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q>
const& v, T scalar)
484 template<
typename T, qualifier Q>
485 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
492 template<
typename T, qualifier Q>
493 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(T scalar, vec<2, T, Q>
const& v)
500 template<
typename T, qualifier Q>
501 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
508 template<
typename T, qualifier Q>
509 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
516 template<
typename T, qualifier Q>
517 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q>
const& v, T scalar)
524 template<
typename T, qualifier Q>
525 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
532 template<
typename T, qualifier Q>
533 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(T scalar, vec<2, T, Q>
const& v)
540 template<
typename T, qualifier Q>
541 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
548 template<
typename T, qualifier Q>
549 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
556 template<
typename T, qualifier Q>
557 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q>
const& v, T scalar)
564 template<
typename T, qualifier Q>
565 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
572 template<
typename T, qualifier Q>
573 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(T scalar, vec<2, T, Q>
const& v)
580 template<
typename T, qualifier Q>
581 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
588 template<
typename T, qualifier Q>
589 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
596 template<
typename T, qualifier Q>
597 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q>
const& v, T scalar)
604 template<
typename T, qualifier Q>
605 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
612 template<
typename T, qualifier Q>
613 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(T scalar, vec<2, T, Q>
const& v)
620 template<
typename T, qualifier Q>
621 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
628 template<
typename T, qualifier Q>
629 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
638 template<
typename T, qualifier Q>
639 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q>
const& v, T scalar)
646 template<
typename T, qualifier Q>
647 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
654 template<
typename T, qualifier Q>
655 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(T scalar, vec<2, T, Q>
const& v)
662 template<
typename T, qualifier Q>
663 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
670 template<
typename T, qualifier Q>
671 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
678 template<
typename T, qualifier Q>
679 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q>
const& v, T scalar)
686 template<
typename T, qualifier Q>
687 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
694 template<
typename T, qualifier Q>
695 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(T scalar, vec<2, T, Q>
const& v)
702 template<
typename T, qualifier Q>
703 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
710 template<
typename T, qualifier Q>
711 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
718 template<
typename T, qualifier Q>
719 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q>
const& v, T scalar)
726 template<
typename T, qualifier Q>
727 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
734 template<
typename T, qualifier Q>
735 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(T scalar, vec<2, T, Q>
const& v)
742 template<
typename T, qualifier Q>
743 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
750 template<
typename T, qualifier Q>
751 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
758 template<
typename T, qualifier Q>
759 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q>
const& v, T scalar)
766 template<
typename T, qualifier Q>
767 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
774 template<
typename T, qualifier Q>
775 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(T scalar, vec<2, T, Q>
const& v)
782 template<
typename T, qualifier Q>
783 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
790 template<
typename T, qualifier Q>
791 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
798 template<
typename T, qualifier Q>
799 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q>
const& v, T scalar)
806 template<
typename T, qualifier Q>
807 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
814 template<
typename T, qualifier Q>
815 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(T scalar, vec<2, T, Q>
const& v)
822 template<
typename T, qualifier Q>
823 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
830 template<
typename T, qualifier Q>
831 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
838 template<
typename T, qualifier Q>
839 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q>
const& v, T scalar)
846 template<
typename T, qualifier Q>
847 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q>
const& v1, vec<1, T, Q>
const& v2)
854 template<
typename T, qualifier Q>
855 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(T scalar, vec<2, T, Q>
const& v)
862 template<
typename T, qualifier Q>
863 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<1, T, Q>
const& v1, vec<2, T, Q>
const& v2)
870 template<
typename T, qualifier Q>
871 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
878 template<
typename T, qualifier Q>
879 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator~(vec<2, T, Q>
const& v)
888 template<
typename T, qualifier Q>
889 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
bool operator==(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
892 detail::compute_equal<T, std::numeric_limits<T>::is_iec559>::call(v1.x, v2.x) &&
893 detail::compute_equal<T, std::numeric_limits<T>::is_iec559>::call(v1.y, v2.y);
896 template<
typename T, qualifier Q>
897 GLM_FUNC_QUALIFIER GLM_CONSTEXPR
bool operator!=(vec<2, T, Q>
const& v1, vec<2, T, Q>
const& v2)
902 template<qualifier Q>
903 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, bool, Q> operator&&(vec<2, bool, Q>
const& v1, vec<2, bool, Q>
const& v2)
905 return vec<2, bool, Q>(v1.x && v2.x, v1.y && v2.y);
908 template<qualifier Q>
909 GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, bool, Q> operator||(vec<2, bool, Q>
const& v1, vec<2, bool, Q>
const& v2)
911 return vec<2, bool, Q>(v1.x || v2.x, v1.y || v2.y);
Core features
Definition common.hpp:21