STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
amp_short_vectors.h
Go to the documentation of this file.
1 /***
2 * ==++==
3 *
4 * Copyright (c) Microsoft Corporation. All rights reserved.
5 *
6 * ==--==
7 * =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
8 *
9 * amp_short_vectors.h
10 *
11 * C++ AMP Short Vector Types
12 *
13 * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
14 ****/
15 
16 
17 // !!! DO NOT HAND EDIT !!!
18 // This file was generated.
19 
20 #pragma once
21 
22 #pragma warning(push)
23 #pragma warning(disable : 4100)
24 #include <amp.h>
25 #define _AMP_SHORT_VECTORS_H
26 namespace Concurrency
27 {
28  namespace graphics
29  {
30  class unorm;
31  class norm;
32 
37  class unorm
38  {
39  friend class norm;
40  private:
41  float _Value;
42  void _Set(float _Val) __CPU_ONLY
43  {
44  _Val = _Val < 0.0f ? 0.0f : _Val;
45  _Val = _Val > 1.0f ? 1.0f : _Val;
46  _Value = _Val;
47  }
48 
49  void _Set(float _Val) __GPU_ONLY
50  {
51  _Value = Concurrency::direct3d::clamp(_Val, 0.0f, 1.0f);
52  }
53  public:
54 
58  unorm(void) __GPU
59  {
60  _Value = 0.0f;
61  }
62 
69  explicit unorm(float _V) __GPU
70  {
71  _Set(_V);
72  }
73 
80  explicit unorm(unsigned int _V) __GPU
81  {
82  _Set(static_cast<float>(_V));
83  }
84 
91  explicit unorm(int _V) __GPU
92  {
93  _Set(static_cast<float>(_V));
94  }
95 
102  explicit unorm(double _V) __GPU
103  {
104  _Set(static_cast<float>(_V));
105  }
106 
113  unorm(const unorm& _Other) __GPU
114  {
115  _Value = _Other._Value;
116  }
117 
124  inline explicit unorm(const norm& _Other) __GPU;
125 
126  unorm& operator=(const unorm& _Other) __GPU
127  {
128  _Value = _Other._Value;
129  return *this;
130  }
131 
135  operator float(void) const __GPU
136  {
137  return _Value;
138  }
139 
140  unorm& operator+=(const unorm& _Other) __GPU
141  {
142  float _Res = _Value;
143  _Res += _Other._Value;
144  _Set(_Res);
145  return *this;
146  }
147 
148  unorm& operator-=(const unorm& _Other) __GPU
149  {
150  float _Res = _Value;
151  _Res -= _Other._Value;
152  _Set(_Res);
153  return *this;
154  }
155 
156  unorm& operator*=(const unorm& _Other) __GPU
157  {
158  float _Res = _Value;
159  _Res *= _Other._Value;
160  _Set(_Res);
161  return *this;
162  }
163 
164  unorm& operator/=(const unorm& _Other) __GPU
165  {
166  float _Res = _Value;
167  _Res /= _Other._Value;
168  _Set(_Res);
169  return *this;
170  }
171 
173  {
174  float _Res = _Value;
175  ++_Res;
176  _Set(_Res);
177  return *this;
178  }
179 
181  {
182  unorm _Res = *this;
183  ++(*this);
184  return _Res;
185  }
186 
188  {
189  float _Res = _Value;
190  --_Res;
191  _Set(_Res);
192  return *this;
193  }
194 
196  {
197  unorm _Res = *this;
198  --(*this);
199  return _Res;
200  }
201 
202  };
203 
208  class norm
209  {
210  friend class unorm;
211  private:
212  float _Value;
213  void _Set(float _Val) __CPU_ONLY
214  {
215  _Val = _Val < -1.0f ? -1.0f : _Val;
216  _Val = _Val > 1.0f ? 1.0f : _Val;
217  _Value = _Val;
218  }
219 
220  void _Set(float _Val) __GPU_ONLY
221  {
222  _Value = Concurrency::direct3d::clamp(_Val, -1.0f, 1.0f);
223  }
224  public:
225 
229  norm(void) __GPU
230  {
231  _Value = 0.0f;
232  }
233 
240  explicit norm(float _V) __GPU
241  {
242  _Set(_V);
243  }
244 
251  explicit norm(unsigned int _V) __GPU
252  {
253  _Set(static_cast<float>(_V));
254  }
255 
262  explicit norm(int _V) __GPU
263  {
264  _Set(static_cast<float>(_V));
265  }
266 
273  explicit norm(double _V) __GPU
274  {
275  _Set(static_cast<float>(_V));
276  }
277 
284  norm(const norm& _Other) __GPU
285  {
286  _Value = _Other._Value;
287  }
288 
295  norm(const unorm& _Other) __GPU
296  {
297  _Value = _Other._Value;
298  }
299 
300  norm& operator=(const norm& _Other) __GPU
301  {
302  _Value = _Other._Value;
303  return *this;
304  }
305 
309  operator float(void) const __GPU
310  {
311  return _Value;
312  }
313 
314  norm& operator+=(const norm& _Other) __GPU
315  {
316  float _Res = _Value;
317  _Res += _Other._Value;
318  _Set(_Res);
319  return *this;
320  }
321 
322  norm& operator-=(const norm& _Other) __GPU
323  {
324  float _Res = _Value;
325  _Res -= _Other._Value;
326  _Set(_Res);
327  return *this;
328  }
329 
330  norm& operator*=(const norm& _Other) __GPU
331  {
332  float _Res = _Value;
333  _Res *= _Other._Value;
334  _Set(_Res);
335  return *this;
336  }
337 
338  norm& operator/=(const norm& _Other) __GPU
339  {
340  float _Res = _Value;
341  _Res /= _Other._Value;
342  _Set(_Res);
343  return *this;
344  }
345 
347  {
348  float _Res = _Value;
349  ++_Res;
350  _Set(_Res);
351  return *this;
352  }
353 
355  {
356  norm _Res = *this;
357  ++(*this);
358  return _Res;
359  }
360 
362  {
363  float _Res = _Value;
364  --_Res;
365  _Set(_Res);
366  return *this;
367  }
368 
370  {
371  norm _Res = *this;
372  --(*this);
373  return _Res;
374  }
375 
376  norm operator-(void) const __GPU
377  {
378  norm _Ret;
379  _Ret._Value = -_Value;
380  return _Ret;
381  }
382 
383  };
384 
385  unorm::unorm(const norm& _Other) __GPU
386  {
387  _Set(_Other._Value);
388  }
389 
390  inline unorm operator+(const unorm& _Lhs, const unorm& _Rhs) __GPU
391  {
392  return unorm(float(_Lhs) + float(_Rhs));
393  }
394 
395  inline norm operator+(const norm& _Lhs, const norm& _Rhs) __GPU
396  {
397  return norm(float(_Lhs) + float(_Rhs));
398  }
399 
400  inline unorm operator-(const unorm& _Lhs, const unorm& _Rhs) __GPU
401  {
402  return unorm(float(_Lhs) - float(_Rhs));
403  }
404 
405  inline norm operator-(const norm& _Lhs, const norm& _Rhs) __GPU
406  {
407  return norm(float(_Lhs) - float(_Rhs));
408  }
409 
410  inline unorm operator*(const unorm& _Lhs, const unorm& _Rhs) __GPU
411  {
412  return unorm(float(_Lhs) * float(_Rhs));
413  }
414 
415  inline norm operator*(const norm& _Lhs, const norm& _Rhs) __GPU
416  {
417  return norm(float(_Lhs) * float(_Rhs));
418  }
419 
420  inline unorm operator/(const unorm& _Lhs, const unorm& _Rhs) __GPU
421  {
422  return unorm(float(_Lhs) / float(_Rhs));
423  }
424 
425  inline norm operator/(const norm& _Lhs, const norm& _Rhs) __GPU
426  {
427  return norm(float(_Lhs) / float(_Rhs));
428  }
429 
430  inline bool operator==(const unorm& _Lhs, const unorm& _Rhs) __GPU
431  {
432  return float(_Lhs) == float(_Rhs);
433  }
434 
435  inline bool operator==(const norm& _Lhs, const norm& _Rhs) __GPU
436  {
437  return float(_Lhs) == float(_Rhs);
438  }
439 
440  inline bool operator!=(const unorm& _Lhs, const unorm& _Rhs) __GPU
441  {
442  return float(_Lhs) != float(_Rhs);
443  }
444 
445  inline bool operator!=(const norm& _Lhs, const norm& _Rhs) __GPU
446  {
447  return float(_Lhs) != float(_Rhs);
448  }
449 
450  inline bool operator>(const unorm& _Lhs, const unorm& _Rhs) __GPU
451  {
452  return float(_Lhs) > float(_Rhs);
453  }
454 
455  inline bool operator>(const norm& _Lhs, const norm& _Rhs) __GPU
456  {
457  return float(_Lhs) > float(_Rhs);
458  }
459 
460  inline bool operator<(const unorm& _Lhs, const unorm& _Rhs) __GPU
461  {
462  return float(_Lhs) < float(_Rhs);
463  }
464 
465  inline bool operator<(const norm& _Lhs, const norm& _Rhs) __GPU
466  {
467  return float(_Lhs) < float(_Rhs);
468  }
469 
470  inline bool operator>=(const unorm& _Lhs, const unorm& _Rhs) __GPU
471  {
472  return float(_Lhs) >= float(_Rhs);
473  }
474 
475  inline bool operator>=(const norm& _Lhs, const norm& _Rhs) __GPU
476  {
477  return float(_Lhs) >= float(_Rhs);
478  }
479 
480  inline bool operator<=(const unorm& _Lhs, const unorm& _Rhs) __GPU
481  {
482  return float(_Lhs) <= float(_Rhs);
483  }
484 
485  inline bool operator<=(const norm& _Lhs, const norm& _Rhs) __GPU
486  {
487  return float(_Lhs) <= float(_Rhs);
488  }
489 
490 #define UNORM_ZERO ((concurrency::graphics::unorm)0.0f)
491 #define UNORM_MIN ((concurrency::graphics::unorm)0.0f)
492 #define UNORM_MAX ((concurrency::graphics::unorm)1.0f)
493 #define NORM_ZERO ((concurrency::graphics::norm)0.0f)
494 #define NORM_MIN ((concurrency::graphics::norm)-1.0f)
495 #define NORM_MAX ((concurrency::graphics::norm)1.0f)
496 
497 
498  typedef unsigned int uint;
499  // Forward Declarations
500  class uint_2;
501  class uint_3;
502  class uint_4;
503  class int_2;
504  class int_3;
505  class int_4;
506  class float_2;
507  class float_3;
508  class float_4;
509  class unorm_2;
510  class unorm_3;
511  class unorm_4;
512  class norm_2;
513  class norm_3;
514  class norm_4;
515  class double_2;
516  class double_3;
517  class double_4;
518 
522  class uint_2
523  {
524  public:
525  typedef unsigned int value_type;
526  static const int size = 2;
527  private:
529  private:
530  value_type _M_x;
531  value_type _M_y;
532 
533  public:
537  __declspec( property( get=get_x, put=set_x) ) unsigned int x;
541  __declspec( property( get=get_x, put=set_x) ) unsigned int r;
542 
549  unsigned int get_x() const __GPU {
550  return _M_x;
551  }
552 
559  unsigned int& ref_x() __GPU {
560  return _M_x;
561  }
562 
569  unsigned int& ref_r() __GPU {
570  return _M_x;
571  }
572 
579  void set_x(unsigned int _Value) __GPU
580  {
581  _M_x = _Value;
582  }
583 
587  __declspec( property( get=get_y, put=set_y) ) unsigned int y;
591  __declspec( property( get=get_y, put=set_y) ) unsigned int g;
592 
599  unsigned int get_y() const __GPU {
600  return _M_y;
601  }
602 
609  unsigned int& ref_y() __GPU {
610  return _M_y;
611  }
612 
619  unsigned int& ref_g() __GPU {
620  return _M_y;
621  }
622 
629  void set_y(unsigned int _Value) __GPU
630  {
631  _M_y = _Value;
632  }
633 
634  public:
639  {
640  _M_x = 0;
641  _M_y = 0;
642  }
643 
653  uint_2(unsigned int _V0, unsigned int _V1) __GPU
654  {
655  _M_x = _V0;
656  _M_y = _V1;
657  }
658 
665  uint_2(unsigned int _V) __GPU
666  {
667  _M_x = _V;
668  _M_y = _V;
669  }
670 
678  explicit inline uint_2(const int_2& _Other) __GPU;
679 
687  explicit inline uint_2(const float_2& _Other) __GPU;
688 
696  explicit inline uint_2(const unorm_2& _Other) __GPU;
697 
705  explicit inline uint_2(const norm_2& _Other) __GPU;
706 
714  explicit inline uint_2(const double_2& _Other) __GPU;
715 
717  {
718  uint_2 _Value = *this;
719  return uint_2(~_Value.x, ~_Value.y);
720  }
721 
723  {
724  uint_2 _Value = *this;
725  ++_Value._M_x;
726  ++_Value._M_y;
727  *this = _Value;
728  return *this;
729  }
730 
732  {
733  uint_2 _Result = *this;
734  ++(*this);
735  return _Result;
736  }
737 
739  {
740  uint_2 _Value = *this;
741  --_Value._M_x;
742  --_Value._M_y;
743  *this = _Value;
744  return *this;
745  }
746 
748  {
749  uint_2 _Result = *this;
750  --(*this);
751  return _Result;
752  }
753 
754  uint_2& operator+=(const uint_2& _Other) __GPU
755  {
756  uint_2 _Value1 = *this;
757  uint_2 _Value2 = _Other;
758  _Value1.x += _Value2.x;
759  _Value1.y += _Value2.y;
760  *this = _Value1;
761  return *this;
762  }
763 
764  uint_2& operator-=(const uint_2& _Other) __GPU
765  {
766  uint_2 _Value1 = *this;
767  uint_2 _Value2 = _Other;
768  _Value1.x -= _Value2.x;
769  _Value1.y -= _Value2.y;
770  *this = _Value1;
771  return *this;
772  }
773 
774  uint_2& operator*=(const uint_2& _Other) __GPU
775  {
776  uint_2 _Value1 = *this;
777  uint_2 _Value2 = _Other;
778  _Value1.x *= _Value2.x;
779  _Value1.y *= _Value2.y;
780  *this = _Value1;
781  return *this;
782  }
783 
784  uint_2& operator/=(const uint_2& _Other) __GPU
785  {
786  uint_2 _Value1 = *this;
787  uint_2 _Value2 = _Other;
788  _Value1.x /= _Value2.x;
789  _Value1.y /= _Value2.y;
790  *this = _Value1;
791  return *this;
792  }
793 
794  uint_2& operator%=(const uint_2& _Other) __GPU
795  {
796  uint_2 _Value1 = *this;
797  uint_2 _Value2 = _Other;
798  _Value1.x %= _Value2.x;
799  _Value1.y %= _Value2.y;
800  *this = _Value1;
801  return *this;
802  }
803 
804  uint_2& operator^=(const uint_2& _Other) __GPU
805  {
806  uint_2 _Value1 = *this;
807  uint_2 _Value2 = _Other;
808  _Value1.x ^= _Value2.x;
809  _Value1.y ^= _Value2.y;
810  *this = _Value1;
811  return *this;
812  }
813 
814  uint_2& operator|=(const uint_2& _Other) __GPU
815  {
816  uint_2 _Value1 = *this;
817  uint_2 _Value2 = _Other;
818  _Value1.x |= _Value2.x;
819  _Value1.y |= _Value2.y;
820  *this = _Value1;
821  return *this;
822  }
823 
824  uint_2& operator&=(const uint_2& _Other) __GPU
825  {
826  uint_2 _Value1 = *this;
827  uint_2 _Value2 = _Other;
828  _Value1.x &= _Value2.x;
829  _Value1.y &= _Value2.y;
830  *this = _Value1;
831  return *this;
832  }
833 
834  uint_2& operator>>=(const uint_2& _Other) __GPU
835  {
836  uint_2 _Value1 = *this;
837  uint_2 _Value2 = _Other;
838  _Value1.x >>= _Value2.x;
839  _Value1.y >>= _Value2.y;
840  *this = _Value1;
841  return *this;
842  }
843 
844  uint_2& operator<<=(const uint_2& _Other) __GPU
845  {
846  uint_2 _Value1 = *this;
847  uint_2 _Value2 = _Other;
848  _Value1.x <<= _Value2.x;
849  _Value1.y <<= _Value2.y;
850  *this = _Value1;
851  return *this;
852  }
853 
854  public:
858  __declspec( property( get=get_xy, put=set_xy) ) uint_2 xy;
862  __declspec( property( get=get_xy, put=set_xy) ) uint_2 rg;
863 
870  uint_2 get_xy() const __GPU {
871  return uint_2(_M_x,_M_y);
872  }
873 
880  void set_xy(const uint_2& _Value) __GPU
881  {
882  uint_2 _Val = _Value;
883  _M_x = _Val.x;
884  _M_y = _Val.y;
885  }
886 
890  __declspec( property( get=get_yx, put=set_yx) ) uint_2 yx;
894  __declspec( property( get=get_yx, put=set_yx) ) uint_2 gr;
895 
902  uint_2 get_yx() const __GPU {
903  return uint_2(_M_y,_M_x);
904  }
905 
912  void set_yx(const uint_2& _Value) __GPU
913  {
914  uint_2 _Val = _Value;
915  _M_y = _Val.x;
916  _M_x = _Val.y;
917  }
918 
919  };
920 
924  class uint_3
925  {
926  public:
927  typedef unsigned int value_type;
928  static const int size = 3;
929  private:
930  static const _Short_vector_base_type_id _Base_type_id = _Uint_type;
931  private:
932  value_type _M_x;
933  value_type _M_y;
934  value_type _M_z;
935 
936  public:
940  __declspec( property( get=get_x, put=set_x) ) unsigned int x;
944  __declspec( property( get=get_x, put=set_x) ) unsigned int r;
945 
952  unsigned int get_x() const __GPU {
953  return _M_x;
954  }
955 
962  unsigned int& ref_x() __GPU {
963  return _M_x;
964  }
965 
972  unsigned int& ref_r() __GPU {
973  return _M_x;
974  }
975 
982  void set_x(unsigned int _Value) __GPU
983  {
984  _M_x = _Value;
985  }
986 
990  __declspec( property( get=get_y, put=set_y) ) unsigned int y;
994  __declspec( property( get=get_y, put=set_y) ) unsigned int g;
995 
1002  unsigned int get_y() const __GPU {
1003  return _M_y;
1004  }
1005 
1012  unsigned int& ref_y() __GPU {
1013  return _M_y;
1014  }
1015 
1022  unsigned int& ref_g() __GPU {
1023  return _M_y;
1024  }
1025 
1032  void set_y(unsigned int _Value) __GPU
1033  {
1034  _M_y = _Value;
1035  }
1036 
1040  __declspec( property( get=get_z, put=set_z) ) unsigned int z;
1044  __declspec( property( get=get_z, put=set_z) ) unsigned int b;
1045 
1052  unsigned int get_z() const __GPU {
1053  return _M_z;
1054  }
1055 
1062  unsigned int& ref_z() __GPU {
1063  return _M_z;
1064  }
1065 
1072  unsigned int& ref_b() __GPU {
1073  return _M_z;
1074  }
1075 
1082  void set_z(unsigned int _Value) __GPU
1083  {
1084  _M_z = _Value;
1085  }
1086 
1087  public:
1092  {
1093  _M_x = 0;
1094  _M_y = 0;
1095  _M_z = 0;
1096  }
1097 
1110  uint_3(unsigned int _V0, unsigned int _V1, unsigned int _V2) __GPU
1111  {
1112  _M_x = _V0;
1113  _M_y = _V1;
1114  _M_z = _V2;
1115  }
1116 
1123  uint_3(unsigned int _V) __GPU
1124  {
1125  _M_x = _V;
1126  _M_y = _V;
1127  _M_z = _V;
1128  }
1129 
1137  explicit inline uint_3(const int_3& _Other) __GPU;
1138 
1146  explicit inline uint_3(const float_3& _Other) __GPU;
1147 
1155  explicit inline uint_3(const unorm_3& _Other) __GPU;
1156 
1164  explicit inline uint_3(const norm_3& _Other) __GPU;
1165 
1173  explicit inline uint_3(const double_3& _Other) __GPU;
1174 
1176  {
1177  uint_3 _Value = *this;
1178  return uint_3(~_Value.x, ~_Value.y, ~_Value.z);
1179  }
1180 
1182  {
1183  uint_3 _Value = *this;
1184  ++_Value._M_x;
1185  ++_Value._M_y;
1186  ++_Value._M_z;
1187  *this = _Value;
1188  return *this;
1189  }
1190 
1192  {
1193  uint_3 _Result = *this;
1194  ++(*this);
1195  return _Result;
1196  }
1197 
1199  {
1200  uint_3 _Value = *this;
1201  --_Value._M_x;
1202  --_Value._M_y;
1203  --_Value._M_z;
1204  *this = _Value;
1205  return *this;
1206  }
1207 
1209  {
1210  uint_3 _Result = *this;
1211  --(*this);
1212  return _Result;
1213  }
1214 
1215  uint_3& operator+=(const uint_3& _Other) __GPU
1216  {
1217  uint_3 _Value1 = *this;
1218  uint_3 _Value2 = _Other;
1219  _Value1.x += _Value2.x;
1220  _Value1.y += _Value2.y;
1221  _Value1.z += _Value2.z;
1222  *this = _Value1;
1223  return *this;
1224  }
1225 
1226  uint_3& operator-=(const uint_3& _Other) __GPU
1227  {
1228  uint_3 _Value1 = *this;
1229  uint_3 _Value2 = _Other;
1230  _Value1.x -= _Value2.x;
1231  _Value1.y -= _Value2.y;
1232  _Value1.z -= _Value2.z;
1233  *this = _Value1;
1234  return *this;
1235  }
1236 
1237  uint_3& operator*=(const uint_3& _Other) __GPU
1238  {
1239  uint_3 _Value1 = *this;
1240  uint_3 _Value2 = _Other;
1241  _Value1.x *= _Value2.x;
1242  _Value1.y *= _Value2.y;
1243  _Value1.z *= _Value2.z;
1244  *this = _Value1;
1245  return *this;
1246  }
1247 
1248  uint_3& operator/=(const uint_3& _Other) __GPU
1249  {
1250  uint_3 _Value1 = *this;
1251  uint_3 _Value2 = _Other;
1252  _Value1.x /= _Value2.x;
1253  _Value1.y /= _Value2.y;
1254  _Value1.z /= _Value2.z;
1255  *this = _Value1;
1256  return *this;
1257  }
1258 
1259  uint_3& operator%=(const uint_3& _Other) __GPU
1260  {
1261  uint_3 _Value1 = *this;
1262  uint_3 _Value2 = _Other;
1263  _Value1.x %= _Value2.x;
1264  _Value1.y %= _Value2.y;
1265  _Value1.z %= _Value2.z;
1266  *this = _Value1;
1267  return *this;
1268  }
1269 
1270  uint_3& operator^=(const uint_3& _Other) __GPU
1271  {
1272  uint_3 _Value1 = *this;
1273  uint_3 _Value2 = _Other;
1274  _Value1.x ^= _Value2.x;
1275  _Value1.y ^= _Value2.y;
1276  _Value1.z ^= _Value2.z;
1277  *this = _Value1;
1278  return *this;
1279  }
1280 
1281  uint_3& operator|=(const uint_3& _Other) __GPU
1282  {
1283  uint_3 _Value1 = *this;
1284  uint_3 _Value2 = _Other;
1285  _Value1.x |= _Value2.x;
1286  _Value1.y |= _Value2.y;
1287  _Value1.z |= _Value2.z;
1288  *this = _Value1;
1289  return *this;
1290  }
1291 
1292  uint_3& operator&=(const uint_3& _Other) __GPU
1293  {
1294  uint_3 _Value1 = *this;
1295  uint_3 _Value2 = _Other;
1296  _Value1.x &= _Value2.x;
1297  _Value1.y &= _Value2.y;
1298  _Value1.z &= _Value2.z;
1299  *this = _Value1;
1300  return *this;
1301  }
1302 
1303  uint_3& operator>>=(const uint_3& _Other) __GPU
1304  {
1305  uint_3 _Value1 = *this;
1306  uint_3 _Value2 = _Other;
1307  _Value1.x >>= _Value2.x;
1308  _Value1.y >>= _Value2.y;
1309  _Value1.z >>= _Value2.z;
1310  *this = _Value1;
1311  return *this;
1312  }
1313 
1314  uint_3& operator<<=(const uint_3& _Other) __GPU
1315  {
1316  uint_3 _Value1 = *this;
1317  uint_3 _Value2 = _Other;
1318  _Value1.x <<= _Value2.x;
1319  _Value1.y <<= _Value2.y;
1320  _Value1.z <<= _Value2.z;
1321  *this = _Value1;
1322  return *this;
1323  }
1324 
1325  public:
1329  __declspec( property( get=get_xy, put=set_xy) ) uint_2 xy;
1333  __declspec( property( get=get_xy, put=set_xy) ) uint_2 rg;
1334 
1341  uint_2 get_xy() const __GPU {
1342  return uint_2(_M_x,_M_y);
1343  }
1344 
1351  void set_xy(const uint_2& _Value) __GPU
1352  {
1353  uint_2 _Val = _Value;
1354  _M_x = _Val.x;
1355  _M_y = _Val.y;
1356  }
1357 
1361  __declspec( property( get=get_xz, put=set_xz) ) uint_2 xz;
1365  __declspec( property( get=get_xz, put=set_xz) ) uint_2 rb;
1366 
1373  uint_2 get_xz() const __GPU {
1374  return uint_2(_M_x,_M_z);
1375  }
1376 
1383  void set_xz(const uint_2& _Value) __GPU
1384  {
1385  uint_2 _Val = _Value;
1386  _M_x = _Val.x;
1387  _M_z = _Val.y;
1388  }
1389 
1393  __declspec( property( get=get_yx, put=set_yx) ) uint_2 yx;
1397  __declspec( property( get=get_yx, put=set_yx) ) uint_2 gr;
1398 
1405  uint_2 get_yx() const __GPU {
1406  return uint_2(_M_y,_M_x);
1407  }
1408 
1415  void set_yx(const uint_2& _Value) __GPU
1416  {
1417  uint_2 _Val = _Value;
1418  _M_y = _Val.x;
1419  _M_x = _Val.y;
1420  }
1421 
1425  __declspec( property( get=get_yz, put=set_yz) ) uint_2 yz;
1429  __declspec( property( get=get_yz, put=set_yz) ) uint_2 gb;
1430 
1437  uint_2 get_yz() const __GPU {
1438  return uint_2(_M_y,_M_z);
1439  }
1440 
1447  void set_yz(const uint_2& _Value) __GPU
1448  {
1449  uint_2 _Val = _Value;
1450  _M_y = _Val.x;
1451  _M_z = _Val.y;
1452  }
1453 
1457  __declspec( property( get=get_zx, put=set_zx) ) uint_2 zx;
1461  __declspec( property( get=get_zx, put=set_zx) ) uint_2 br;
1462 
1469  uint_2 get_zx() const __GPU {
1470  return uint_2(_M_z,_M_x);
1471  }
1472 
1479  void set_zx(const uint_2& _Value) __GPU
1480  {
1481  uint_2 _Val = _Value;
1482  _M_z = _Val.x;
1483  _M_x = _Val.y;
1484  }
1485 
1489  __declspec( property( get=get_zy, put=set_zy) ) uint_2 zy;
1493  __declspec( property( get=get_zy, put=set_zy) ) uint_2 bg;
1494 
1501  uint_2 get_zy() const __GPU {
1502  return uint_2(_M_z,_M_y);
1503  }
1504 
1511  void set_zy(const uint_2& _Value) __GPU
1512  {
1513  uint_2 _Val = _Value;
1514  _M_z = _Val.x;
1515  _M_y = _Val.y;
1516  }
1517 
1521  __declspec( property( get=get_xyz, put=set_xyz) ) uint_3 xyz;
1525  __declspec( property( get=get_xyz, put=set_xyz) ) uint_3 rgb;
1526 
1533  uint_3 get_xyz() const __GPU {
1534  return uint_3(_M_x,_M_y,_M_z);
1535  }
1536 
1544  {
1545  uint_3 _Val = _Value;
1546  _M_x = _Val.x;
1547  _M_y = _Val.y;
1548  _M_z = _Val.z;
1549  }
1550 
1554  __declspec( property( get=get_xzy, put=set_xzy) ) uint_3 xzy;
1558  __declspec( property( get=get_xzy, put=set_xzy) ) uint_3 rbg;
1559 
1566  uint_3 get_xzy() const __GPU {
1567  return uint_3(_M_x,_M_z,_M_y);
1568  }
1569 
1577  {
1578  uint_3 _Val = _Value;
1579  _M_x = _Val.x;
1580  _M_z = _Val.y;
1581  _M_y = _Val.z;
1582  }
1583 
1587  __declspec( property( get=get_yxz, put=set_yxz) ) uint_3 yxz;
1591  __declspec( property( get=get_yxz, put=set_yxz) ) uint_3 grb;
1592 
1599  uint_3 get_yxz() const __GPU {
1600  return uint_3(_M_y,_M_x,_M_z);
1601  }
1602 
1610  {
1611  uint_3 _Val = _Value;
1612  _M_y = _Val.x;
1613  _M_x = _Val.y;
1614  _M_z = _Val.z;
1615  }
1616 
1620  __declspec( property( get=get_yzx, put=set_yzx) ) uint_3 yzx;
1624  __declspec( property( get=get_yzx, put=set_yzx) ) uint_3 gbr;
1625 
1632  uint_3 get_yzx() const __GPU {
1633  return uint_3(_M_y,_M_z,_M_x);
1634  }
1635 
1643  {
1644  uint_3 _Val = _Value;
1645  _M_y = _Val.x;
1646  _M_z = _Val.y;
1647  _M_x = _Val.z;
1648  }
1649 
1653  __declspec( property( get=get_zxy, put=set_zxy) ) uint_3 zxy;
1657  __declspec( property( get=get_zxy, put=set_zxy) ) uint_3 brg;
1658 
1665  uint_3 get_zxy() const __GPU {
1666  return uint_3(_M_z,_M_x,_M_y);
1667  }
1668 
1676  {
1677  uint_3 _Val = _Value;
1678  _M_z = _Val.x;
1679  _M_x = _Val.y;
1680  _M_y = _Val.z;
1681  }
1682 
1686  __declspec( property( get=get_zyx, put=set_zyx) ) uint_3 zyx;
1690  __declspec( property( get=get_zyx, put=set_zyx) ) uint_3 bgr;
1691 
1698  uint_3 get_zyx() const __GPU {
1699  return uint_3(_M_z,_M_y,_M_x);
1700  }
1701 
1709  {
1710  uint_3 _Val = _Value;
1711  _M_z = _Val.x;
1712  _M_y = _Val.y;
1713  _M_x = _Val.z;
1714  }
1715 
1716  };
1717 
1721  class uint_4
1722  {
1723  public:
1724  typedef unsigned int value_type;
1725  static const int size = 4;
1726  private:
1727  static const _Short_vector_base_type_id _Base_type_id = _Uint_type;
1728  private:
1729  value_type _M_x;
1730  value_type _M_y;
1731  value_type _M_z;
1732  value_type _M_w;
1733 
1734  public:
1738  __declspec( property( get=get_x, put=set_x) ) unsigned int x;
1742  __declspec( property( get=get_x, put=set_x) ) unsigned int r;
1743 
1750  unsigned int get_x() const __GPU {
1751  return _M_x;
1752  }
1753 
1760  unsigned int& ref_x() __GPU {
1761  return _M_x;
1762  }
1763 
1770  unsigned int& ref_r() __GPU {
1771  return _M_x;
1772  }
1773 
1780  void set_x(unsigned int _Value) __GPU
1781  {
1782  _M_x = _Value;
1783  }
1784 
1788  __declspec( property( get=get_y, put=set_y) ) unsigned int y;
1792  __declspec( property( get=get_y, put=set_y) ) unsigned int g;
1793 
1800  unsigned int get_y() const __GPU {
1801  return _M_y;
1802  }
1803 
1810  unsigned int& ref_y() __GPU {
1811  return _M_y;
1812  }
1813 
1820  unsigned int& ref_g() __GPU {
1821  return _M_y;
1822  }
1823 
1830  void set_y(unsigned int _Value) __GPU
1831  {
1832  _M_y = _Value;
1833  }
1834 
1838  __declspec( property( get=get_z, put=set_z) ) unsigned int z;
1842  __declspec( property( get=get_z, put=set_z) ) unsigned int b;
1843 
1850  unsigned int get_z() const __GPU {
1851  return _M_z;
1852  }
1853 
1860  unsigned int& ref_z() __GPU {
1861  return _M_z;
1862  }
1863 
1870  unsigned int& ref_b() __GPU {
1871  return _M_z;
1872  }
1873 
1880  void set_z(unsigned int _Value) __GPU
1881  {
1882  _M_z = _Value;
1883  }
1884 
1888  __declspec( property( get=get_w, put=set_w) ) unsigned int w;
1892  __declspec( property( get=get_w, put=set_w) ) unsigned int a;
1893 
1900  unsigned int get_w() const __GPU {
1901  return _M_w;
1902  }
1903 
1910  unsigned int& ref_w() __GPU {
1911  return _M_w;
1912  }
1913 
1920  unsigned int& ref_a() __GPU {
1921  return _M_w;
1922  }
1923 
1930  void set_w(unsigned int _Value) __GPU
1931  {
1932  _M_w = _Value;
1933  }
1934 
1935  public:
1940  {
1941  _M_x = 0;
1942  _M_y = 0;
1943  _M_z = 0;
1944  _M_w = 0;
1945  }
1946 
1962  uint_4(unsigned int _V0, unsigned int _V1, unsigned int _V2, unsigned int _V3) __GPU
1963  {
1964  _M_x = _V0;
1965  _M_y = _V1;
1966  _M_z = _V2;
1967  _M_w = _V3;
1968  }
1969 
1976  uint_4(unsigned int _V) __GPU
1977  {
1978  _M_x = _V;
1979  _M_y = _V;
1980  _M_z = _V;
1981  _M_w = _V;
1982  }
1983 
1991  explicit inline uint_4(const int_4& _Other) __GPU;
1992 
2000  explicit inline uint_4(const float_4& _Other) __GPU;
2001 
2009  explicit inline uint_4(const unorm_4& _Other) __GPU;
2010 
2018  explicit inline uint_4(const norm_4& _Other) __GPU;
2019 
2027  explicit inline uint_4(const double_4& _Other) __GPU;
2028 
2030  {
2031  uint_4 _Value = *this;
2032  return uint_4(~_Value.x, ~_Value.y, ~_Value.z, ~_Value.w);
2033  }
2034 
2036  {
2037  uint_4 _Value = *this;
2038  ++_Value._M_x;
2039  ++_Value._M_y;
2040  ++_Value._M_z;
2041  ++_Value._M_w;
2042  *this = _Value;
2043  return *this;
2044  }
2045 
2047  {
2048  uint_4 _Result = *this;
2049  ++(*this);
2050  return _Result;
2051  }
2052 
2054  {
2055  uint_4 _Value = *this;
2056  --_Value._M_x;
2057  --_Value._M_y;
2058  --_Value._M_z;
2059  --_Value._M_w;
2060  *this = _Value;
2061  return *this;
2062  }
2063 
2065  {
2066  uint_4 _Result = *this;
2067  --(*this);
2068  return _Result;
2069  }
2070 
2071  uint_4& operator+=(const uint_4& _Other) __GPU
2072  {
2073  uint_4 _Value1 = *this;
2074  uint_4 _Value2 = _Other;
2075  _Value1.x += _Value2.x;
2076  _Value1.y += _Value2.y;
2077  _Value1.z += _Value2.z;
2078  _Value1.w += _Value2.w;
2079  *this = _Value1;
2080  return *this;
2081  }
2082 
2083  uint_4& operator-=(const uint_4& _Other) __GPU
2084  {
2085  uint_4 _Value1 = *this;
2086  uint_4 _Value2 = _Other;
2087  _Value1.x -= _Value2.x;
2088  _Value1.y -= _Value2.y;
2089  _Value1.z -= _Value2.z;
2090  _Value1.w -= _Value2.w;
2091  *this = _Value1;
2092  return *this;
2093  }
2094 
2095  uint_4& operator*=(const uint_4& _Other) __GPU
2096  {
2097  uint_4 _Value1 = *this;
2098  uint_4 _Value2 = _Other;
2099  _Value1.x *= _Value2.x;
2100  _Value1.y *= _Value2.y;
2101  _Value1.z *= _Value2.z;
2102  _Value1.w *= _Value2.w;
2103  *this = _Value1;
2104  return *this;
2105  }
2106 
2107  uint_4& operator/=(const uint_4& _Other) __GPU
2108  {
2109  uint_4 _Value1 = *this;
2110  uint_4 _Value2 = _Other;
2111  _Value1.x /= _Value2.x;
2112  _Value1.y /= _Value2.y;
2113  _Value1.z /= _Value2.z;
2114  _Value1.w /= _Value2.w;
2115  *this = _Value1;
2116  return *this;
2117  }
2118 
2119  uint_4& operator%=(const uint_4& _Other) __GPU
2120  {
2121  uint_4 _Value1 = *this;
2122  uint_4 _Value2 = _Other;
2123  _Value1.x %= _Value2.x;
2124  _Value1.y %= _Value2.y;
2125  _Value1.z %= _Value2.z;
2126  _Value1.w %= _Value2.w;
2127  *this = _Value1;
2128  return *this;
2129  }
2130 
2131  uint_4& operator^=(const uint_4& _Other) __GPU
2132  {
2133  uint_4 _Value1 = *this;
2134  uint_4 _Value2 = _Other;
2135  _Value1.x ^= _Value2.x;
2136  _Value1.y ^= _Value2.y;
2137  _Value1.z ^= _Value2.z;
2138  _Value1.w ^= _Value2.w;
2139  *this = _Value1;
2140  return *this;
2141  }
2142 
2143  uint_4& operator|=(const uint_4& _Other) __GPU
2144  {
2145  uint_4 _Value1 = *this;
2146  uint_4 _Value2 = _Other;
2147  _Value1.x |= _Value2.x;
2148  _Value1.y |= _Value2.y;
2149  _Value1.z |= _Value2.z;
2150  _Value1.w |= _Value2.w;
2151  *this = _Value1;
2152  return *this;
2153  }
2154 
2155  uint_4& operator&=(const uint_4& _Other) __GPU
2156  {
2157  uint_4 _Value1 = *this;
2158  uint_4 _Value2 = _Other;
2159  _Value1.x &= _Value2.x;
2160  _Value1.y &= _Value2.y;
2161  _Value1.z &= _Value2.z;
2162  _Value1.w &= _Value2.w;
2163  *this = _Value1;
2164  return *this;
2165  }
2166 
2167  uint_4& operator>>=(const uint_4& _Other) __GPU
2168  {
2169  uint_4 _Value1 = *this;
2170  uint_4 _Value2 = _Other;
2171  _Value1.x >>= _Value2.x;
2172  _Value1.y >>= _Value2.y;
2173  _Value1.z >>= _Value2.z;
2174  _Value1.w >>= _Value2.w;
2175  *this = _Value1;
2176  return *this;
2177  }
2178 
2179  uint_4& operator<<=(const uint_4& _Other) __GPU
2180  {
2181  uint_4 _Value1 = *this;
2182  uint_4 _Value2 = _Other;
2183  _Value1.x <<= _Value2.x;
2184  _Value1.y <<= _Value2.y;
2185  _Value1.z <<= _Value2.z;
2186  _Value1.w <<= _Value2.w;
2187  *this = _Value1;
2188  return *this;
2189  }
2190 
2191  public:
2195  __declspec( property( get=get_xy, put=set_xy) ) uint_2 xy;
2199  __declspec( property( get=get_xy, put=set_xy) ) uint_2 rg;
2200 
2207  uint_2 get_xy() const __GPU {
2208  return uint_2(_M_x,_M_y);
2209  }
2210 
2217  void set_xy(const uint_2& _Value) __GPU
2218  {
2219  uint_2 _Val = _Value;
2220  _M_x = _Val.x;
2221  _M_y = _Val.y;
2222  }
2223 
2227  __declspec( property( get=get_xz, put=set_xz) ) uint_2 xz;
2231  __declspec( property( get=get_xz, put=set_xz) ) uint_2 rb;
2232 
2239  uint_2 get_xz() const __GPU {
2240  return uint_2(_M_x,_M_z);
2241  }
2242 
2249  void set_xz(const uint_2& _Value) __GPU
2250  {
2251  uint_2 _Val = _Value;
2252  _M_x = _Val.x;
2253  _M_z = _Val.y;
2254  }
2255 
2259  __declspec( property( get=get_xw, put=set_xw) ) uint_2 xw;
2263  __declspec( property( get=get_xw, put=set_xw) ) uint_2 ra;
2264 
2271  uint_2 get_xw() const __GPU {
2272  return uint_2(_M_x,_M_w);
2273  }
2274 
2281  void set_xw(const uint_2& _Value) __GPU
2282  {
2283  uint_2 _Val = _Value;
2284  _M_x = _Val.x;
2285  _M_w = _Val.y;
2286  }
2287 
2291  __declspec( property( get=get_yx, put=set_yx) ) uint_2 yx;
2295  __declspec( property( get=get_yx, put=set_yx) ) uint_2 gr;
2296 
2303  uint_2 get_yx() const __GPU {
2304  return uint_2(_M_y,_M_x);
2305  }
2306 
2313  void set_yx(const uint_2& _Value) __GPU
2314  {
2315  uint_2 _Val = _Value;
2316  _M_y = _Val.x;
2317  _M_x = _Val.y;
2318  }
2319 
2323  __declspec( property( get=get_yz, put=set_yz) ) uint_2 yz;
2327  __declspec( property( get=get_yz, put=set_yz) ) uint_2 gb;
2328 
2335  uint_2 get_yz() const __GPU {
2336  return uint_2(_M_y,_M_z);
2337  }
2338 
2345  void set_yz(const uint_2& _Value) __GPU
2346  {
2347  uint_2 _Val = _Value;
2348  _M_y = _Val.x;
2349  _M_z = _Val.y;
2350  }
2351 
2355  __declspec( property( get=get_yw, put=set_yw) ) uint_2 yw;
2359  __declspec( property( get=get_yw, put=set_yw) ) uint_2 ga;
2360 
2367  uint_2 get_yw() const __GPU {
2368  return uint_2(_M_y,_M_w);
2369  }
2370 
2377  void set_yw(const uint_2& _Value) __GPU
2378  {
2379  uint_2 _Val = _Value;
2380  _M_y = _Val.x;
2381  _M_w = _Val.y;
2382  }
2383 
2387  __declspec( property( get=get_zx, put=set_zx) ) uint_2 zx;
2391  __declspec( property( get=get_zx, put=set_zx) ) uint_2 br;
2392 
2399  uint_2 get_zx() const __GPU {
2400  return uint_2(_M_z,_M_x);
2401  }
2402 
2409  void set_zx(const uint_2& _Value) __GPU
2410  {
2411  uint_2 _Val = _Value;
2412  _M_z = _Val.x;
2413  _M_x = _Val.y;
2414  }
2415 
2419  __declspec( property( get=get_zy, put=set_zy) ) uint_2 zy;
2423  __declspec( property( get=get_zy, put=set_zy) ) uint_2 bg;
2424 
2431  uint_2 get_zy() const __GPU {
2432  return uint_2(_M_z,_M_y);
2433  }
2434 
2441  void set_zy(const uint_2& _Value) __GPU
2442  {
2443  uint_2 _Val = _Value;
2444  _M_z = _Val.x;
2445  _M_y = _Val.y;
2446  }
2447 
2451  __declspec( property( get=get_zw, put=set_zw) ) uint_2 zw;
2455  __declspec( property( get=get_zw, put=set_zw) ) uint_2 ba;
2456 
2463  uint_2 get_zw() const __GPU {
2464  return uint_2(_M_z,_M_w);
2465  }
2466 
2473  void set_zw(const uint_2& _Value) __GPU
2474  {
2475  uint_2 _Val = _Value;
2476  _M_z = _Val.x;
2477  _M_w = _Val.y;
2478  }
2479 
2483  __declspec( property( get=get_wx, put=set_wx) ) uint_2 wx;
2487  __declspec( property( get=get_wx, put=set_wx) ) uint_2 ar;
2488 
2495  uint_2 get_wx() const __GPU {
2496  return uint_2(_M_w,_M_x);
2497  }
2498 
2505  void set_wx(const uint_2& _Value) __GPU
2506  {
2507  uint_2 _Val = _Value;
2508  _M_w = _Val.x;
2509  _M_x = _Val.y;
2510  }
2511 
2515  __declspec( property( get=get_wy, put=set_wy) ) uint_2 wy;
2519  __declspec( property( get=get_wy, put=set_wy) ) uint_2 ag;
2520 
2527  uint_2 get_wy() const __GPU {
2528  return uint_2(_M_w,_M_y);
2529  }
2530 
2537  void set_wy(const uint_2& _Value) __GPU
2538  {
2539  uint_2 _Val = _Value;
2540  _M_w = _Val.x;
2541  _M_y = _Val.y;
2542  }
2543 
2547  __declspec( property( get=get_wz, put=set_wz) ) uint_2 wz;
2551  __declspec( property( get=get_wz, put=set_wz) ) uint_2 ab;
2552 
2559  uint_2 get_wz() const __GPU {
2560  return uint_2(_M_w,_M_z);
2561  }
2562 
2569  void set_wz(const uint_2& _Value) __GPU
2570  {
2571  uint_2 _Val = _Value;
2572  _M_w = _Val.x;
2573  _M_z = _Val.y;
2574  }
2575 
2579  __declspec( property( get=get_xyz, put=set_xyz) ) uint_3 xyz;
2583  __declspec( property( get=get_xyz, put=set_xyz) ) uint_3 rgb;
2584 
2591  uint_3 get_xyz() const __GPU {
2592  return uint_3(_M_x,_M_y,_M_z);
2593  }
2594 
2602  {
2603  uint_3 _Val = _Value;
2604  _M_x = _Val.x;
2605  _M_y = _Val.y;
2606  _M_z = _Val.z;
2607  }
2608 
2612  __declspec( property( get=get_xyw, put=set_xyw) ) uint_3 xyw;
2616  __declspec( property( get=get_xyw, put=set_xyw) ) uint_3 rga;
2617 
2624  uint_3 get_xyw() const __GPU {
2625  return uint_3(_M_x,_M_y,_M_w);
2626  }
2627 
2635  {
2636  uint_3 _Val = _Value;
2637  _M_x = _Val.x;
2638  _M_y = _Val.y;
2639  _M_w = _Val.z;
2640  }
2641 
2645  __declspec( property( get=get_xzy, put=set_xzy) ) uint_3 xzy;
2649  __declspec( property( get=get_xzy, put=set_xzy) ) uint_3 rbg;
2650 
2657  uint_3 get_xzy() const __GPU {
2658  return uint_3(_M_x,_M_z,_M_y);
2659  }
2660 
2668  {
2669  uint_3 _Val = _Value;
2670  _M_x = _Val.x;
2671  _M_z = _Val.y;
2672  _M_y = _Val.z;
2673  }
2674 
2678  __declspec( property( get=get_xzw, put=set_xzw) ) uint_3 xzw;
2682  __declspec( property( get=get_xzw, put=set_xzw) ) uint_3 rba;
2683 
2690  uint_3 get_xzw() const __GPU {
2691  return uint_3(_M_x,_M_z,_M_w);
2692  }
2693 
2701  {
2702  uint_3 _Val = _Value;
2703  _M_x = _Val.x;
2704  _M_z = _Val.y;
2705  _M_w = _Val.z;
2706  }
2707 
2711  __declspec( property( get=get_xwy, put=set_xwy) ) uint_3 xwy;
2715  __declspec( property( get=get_xwy, put=set_xwy) ) uint_3 rag;
2716 
2723  uint_3 get_xwy() const __GPU {
2724  return uint_3(_M_x,_M_w,_M_y);
2725  }
2726 
2734  {
2735  uint_3 _Val = _Value;
2736  _M_x = _Val.x;
2737  _M_w = _Val.y;
2738  _M_y = _Val.z;
2739  }
2740 
2744  __declspec( property( get=get_xwz, put=set_xwz) ) uint_3 xwz;
2748  __declspec( property( get=get_xwz, put=set_xwz) ) uint_3 rab;
2749 
2756  uint_3 get_xwz() const __GPU {
2757  return uint_3(_M_x,_M_w,_M_z);
2758  }
2759 
2767  {
2768  uint_3 _Val = _Value;
2769  _M_x = _Val.x;
2770  _M_w = _Val.y;
2771  _M_z = _Val.z;
2772  }
2773 
2777  __declspec( property( get=get_yxz, put=set_yxz) ) uint_3 yxz;
2781  __declspec( property( get=get_yxz, put=set_yxz) ) uint_3 grb;
2782 
2789  uint_3 get_yxz() const __GPU {
2790  return uint_3(_M_y,_M_x,_M_z);
2791  }
2792 
2800  {
2801  uint_3 _Val = _Value;
2802  _M_y = _Val.x;
2803  _M_x = _Val.y;
2804  _M_z = _Val.z;
2805  }
2806 
2810  __declspec( property( get=get_yxw, put=set_yxw) ) uint_3 yxw;
2814  __declspec( property( get=get_yxw, put=set_yxw) ) uint_3 gra;
2815 
2822  uint_3 get_yxw() const __GPU {
2823  return uint_3(_M_y,_M_x,_M_w);
2824  }
2825 
2833  {
2834  uint_3 _Val = _Value;
2835  _M_y = _Val.x;
2836  _M_x = _Val.y;
2837  _M_w = _Val.z;
2838  }
2839 
2843  __declspec( property( get=get_yzx, put=set_yzx) ) uint_3 yzx;
2847  __declspec( property( get=get_yzx, put=set_yzx) ) uint_3 gbr;
2848 
2855  uint_3 get_yzx() const __GPU {
2856  return uint_3(_M_y,_M_z,_M_x);
2857  }
2858 
2866  {
2867  uint_3 _Val = _Value;
2868  _M_y = _Val.x;
2869  _M_z = _Val.y;
2870  _M_x = _Val.z;
2871  }
2872 
2876  __declspec( property( get=get_yzw, put=set_yzw) ) uint_3 yzw;
2880  __declspec( property( get=get_yzw, put=set_yzw) ) uint_3 gba;
2881 
2888  uint_3 get_yzw() const __GPU {
2889  return uint_3(_M_y,_M_z,_M_w);
2890  }
2891 
2899  {
2900  uint_3 _Val = _Value;
2901  _M_y = _Val.x;
2902  _M_z = _Val.y;
2903  _M_w = _Val.z;
2904  }
2905 
2909  __declspec( property( get=get_ywx, put=set_ywx) ) uint_3 ywx;
2913  __declspec( property( get=get_ywx, put=set_ywx) ) uint_3 gar;
2914 
2921  uint_3 get_ywx() const __GPU {
2922  return uint_3(_M_y,_M_w,_M_x);
2923  }
2924 
2932  {
2933  uint_3 _Val = _Value;
2934  _M_y = _Val.x;
2935  _M_w = _Val.y;
2936  _M_x = _Val.z;
2937  }
2938 
2942  __declspec( property( get=get_ywz, put=set_ywz) ) uint_3 ywz;
2946  __declspec( property( get=get_ywz, put=set_ywz) ) uint_3 gab;
2947 
2954  uint_3 get_ywz() const __GPU {
2955  return uint_3(_M_y,_M_w,_M_z);
2956  }
2957 
2965  {
2966  uint_3 _Val = _Value;
2967  _M_y = _Val.x;
2968  _M_w = _Val.y;
2969  _M_z = _Val.z;
2970  }
2971 
2975  __declspec( property( get=get_zxy, put=set_zxy) ) uint_3 zxy;
2979  __declspec( property( get=get_zxy, put=set_zxy) ) uint_3 brg;
2980 
2987  uint_3 get_zxy() const __GPU {
2988  return uint_3(_M_z,_M_x,_M_y);
2989  }
2990 
2998  {
2999  uint_3 _Val = _Value;
3000  _M_z = _Val.x;
3001  _M_x = _Val.y;
3002  _M_y = _Val.z;
3003  }
3004 
3008  __declspec( property( get=get_zxw, put=set_zxw) ) uint_3 zxw;
3012  __declspec( property( get=get_zxw, put=set_zxw) ) uint_3 bra;
3013 
3020  uint_3 get_zxw() const __GPU {
3021  return uint_3(_M_z,_M_x,_M_w);
3022  }
3023 
3031  {
3032  uint_3 _Val = _Value;
3033  _M_z = _Val.x;
3034  _M_x = _Val.y;
3035  _M_w = _Val.z;
3036  }
3037 
3041  __declspec( property( get=get_zyx, put=set_zyx) ) uint_3 zyx;
3045  __declspec( property( get=get_zyx, put=set_zyx) ) uint_3 bgr;
3046 
3053  uint_3 get_zyx() const __GPU {
3054  return uint_3(_M_z,_M_y,_M_x);
3055  }
3056 
3064  {
3065  uint_3 _Val = _Value;
3066  _M_z = _Val.x;
3067  _M_y = _Val.y;
3068  _M_x = _Val.z;
3069  }
3070 
3074  __declspec( property( get=get_zyw, put=set_zyw) ) uint_3 zyw;
3078  __declspec( property( get=get_zyw, put=set_zyw) ) uint_3 bga;
3079 
3086  uint_3 get_zyw() const __GPU {
3087  return uint_3(_M_z,_M_y,_M_w);
3088  }
3089 
3097  {
3098  uint_3 _Val = _Value;
3099  _M_z = _Val.x;
3100  _M_y = _Val.y;
3101  _M_w = _Val.z;
3102  }
3103 
3107  __declspec( property( get=get_zwx, put=set_zwx) ) uint_3 zwx;
3111  __declspec( property( get=get_zwx, put=set_zwx) ) uint_3 bar;
3112 
3119  uint_3 get_zwx() const __GPU {
3120  return uint_3(_M_z,_M_w,_M_x);
3121  }
3122 
3130  {
3131  uint_3 _Val = _Value;
3132  _M_z = _Val.x;
3133  _M_w = _Val.y;
3134  _M_x = _Val.z;
3135  }
3136 
3140  __declspec( property( get=get_zwy, put=set_zwy) ) uint_3 zwy;
3144  __declspec( property( get=get_zwy, put=set_zwy) ) uint_3 bag;
3145 
3152  uint_3 get_zwy() const __GPU {
3153  return uint_3(_M_z,_M_w,_M_y);
3154  }
3155 
3163  {
3164  uint_3 _Val = _Value;
3165  _M_z = _Val.x;
3166  _M_w = _Val.y;
3167  _M_y = _Val.z;
3168  }
3169 
3173  __declspec( property( get=get_wxy, put=set_wxy) ) uint_3 wxy;
3177  __declspec( property( get=get_wxy, put=set_wxy) ) uint_3 arg;
3178 
3185  uint_3 get_wxy() const __GPU {
3186  return uint_3(_M_w,_M_x,_M_y);
3187  }
3188 
3196  {
3197  uint_3 _Val = _Value;
3198  _M_w = _Val.x;
3199  _M_x = _Val.y;
3200  _M_y = _Val.z;
3201  }
3202 
3206  __declspec( property( get=get_wxz, put=set_wxz) ) uint_3 wxz;
3210  __declspec( property( get=get_wxz, put=set_wxz) ) uint_3 arb;
3211 
3218  uint_3 get_wxz() const __GPU {
3219  return uint_3(_M_w,_M_x,_M_z);
3220  }
3221 
3229  {
3230  uint_3 _Val = _Value;
3231  _M_w = _Val.x;
3232  _M_x = _Val.y;
3233  _M_z = _Val.z;
3234  }
3235 
3239  __declspec( property( get=get_wyx, put=set_wyx) ) uint_3 wyx;
3243  __declspec( property( get=get_wyx, put=set_wyx) ) uint_3 agr;
3244 
3251  uint_3 get_wyx() const __GPU {
3252  return uint_3(_M_w,_M_y,_M_x);
3253  }
3254 
3262  {
3263  uint_3 _Val = _Value;
3264  _M_w = _Val.x;
3265  _M_y = _Val.y;
3266  _M_x = _Val.z;
3267  }
3268 
3272  __declspec( property( get=get_wyz, put=set_wyz) ) uint_3 wyz;
3276  __declspec( property( get=get_wyz, put=set_wyz) ) uint_3 agb;
3277 
3284  uint_3 get_wyz() const __GPU {
3285  return uint_3(_M_w,_M_y,_M_z);
3286  }
3287 
3295  {
3296  uint_3 _Val = _Value;
3297  _M_w = _Val.x;
3298  _M_y = _Val.y;
3299  _M_z = _Val.z;
3300  }
3301 
3305  __declspec( property( get=get_wzx, put=set_wzx) ) uint_3 wzx;
3309  __declspec( property( get=get_wzx, put=set_wzx) ) uint_3 abr;
3310 
3317  uint_3 get_wzx() const __GPU {
3318  return uint_3(_M_w,_M_z,_M_x);
3319  }
3320 
3328  {
3329  uint_3 _Val = _Value;
3330  _M_w = _Val.x;
3331  _M_z = _Val.y;
3332  _M_x = _Val.z;
3333  }
3334 
3338  __declspec( property( get=get_wzy, put=set_wzy) ) uint_3 wzy;
3342  __declspec( property( get=get_wzy, put=set_wzy) ) uint_3 abg;
3343 
3350  uint_3 get_wzy() const __GPU {
3351  return uint_3(_M_w,_M_z,_M_y);
3352  }
3353 
3361  {
3362  uint_3 _Val = _Value;
3363  _M_w = _Val.x;
3364  _M_z = _Val.y;
3365  _M_y = _Val.z;
3366  }
3367 
3371  __declspec( property( get=get_xyzw, put=set_xyzw) ) uint_4 xyzw;
3375  __declspec( property( get=get_xyzw, put=set_xyzw) ) uint_4 rgba;
3376 
3383  uint_4 get_xyzw() const __GPU {
3384  return uint_4(_M_x,_M_y,_M_z,_M_w);
3385  }
3386 
3394  {
3395  uint_4 _Val = _Value;
3396  _M_x = _Val.x;
3397  _M_y = _Val.y;
3398  _M_z = _Val.z;
3399  _M_w = _Val.w;
3400  }
3401 
3405  __declspec( property( get=get_xywz, put=set_xywz) ) uint_4 xywz;
3409  __declspec( property( get=get_xywz, put=set_xywz) ) uint_4 rgab;
3410 
3417  uint_4 get_xywz() const __GPU {
3418  return uint_4(_M_x,_M_y,_M_w,_M_z);
3419  }
3420 
3428  {
3429  uint_4 _Val = _Value;
3430  _M_x = _Val.x;
3431  _M_y = _Val.y;
3432  _M_w = _Val.z;
3433  _M_z = _Val.w;
3434  }
3435 
3439  __declspec( property( get=get_xzyw, put=set_xzyw) ) uint_4 xzyw;
3443  __declspec( property( get=get_xzyw, put=set_xzyw) ) uint_4 rbga;
3444 
3451  uint_4 get_xzyw() const __GPU {
3452  return uint_4(_M_x,_M_z,_M_y,_M_w);
3453  }
3454 
3462  {
3463  uint_4 _Val = _Value;
3464  _M_x = _Val.x;
3465  _M_z = _Val.y;
3466  _M_y = _Val.z;
3467  _M_w = _Val.w;
3468  }
3469 
3473  __declspec( property( get=get_xzwy, put=set_xzwy) ) uint_4 xzwy;
3477  __declspec( property( get=get_xzwy, put=set_xzwy) ) uint_4 rbag;
3478 
3485  uint_4 get_xzwy() const __GPU {
3486  return uint_4(_M_x,_M_z,_M_w,_M_y);
3487  }
3488 
3496  {
3497  uint_4 _Val = _Value;
3498  _M_x = _Val.x;
3499  _M_z = _Val.y;
3500  _M_w = _Val.z;
3501  _M_y = _Val.w;
3502  }
3503 
3507  __declspec( property( get=get_xwyz, put=set_xwyz) ) uint_4 xwyz;
3511  __declspec( property( get=get_xwyz, put=set_xwyz) ) uint_4 ragb;
3512 
3519  uint_4 get_xwyz() const __GPU {
3520  return uint_4(_M_x,_M_w,_M_y,_M_z);
3521  }
3522 
3530  {
3531  uint_4 _Val = _Value;
3532  _M_x = _Val.x;
3533  _M_w = _Val.y;
3534  _M_y = _Val.z;
3535  _M_z = _Val.w;
3536  }
3537 
3541  __declspec( property( get=get_xwzy, put=set_xwzy) ) uint_4 xwzy;
3545  __declspec( property( get=get_xwzy, put=set_xwzy) ) uint_4 rabg;
3546 
3553  uint_4 get_xwzy() const __GPU {
3554  return uint_4(_M_x,_M_w,_M_z,_M_y);
3555  }
3556 
3564  {
3565  uint_4 _Val = _Value;
3566  _M_x = _Val.x;
3567  _M_w = _Val.y;
3568  _M_z = _Val.z;
3569  _M_y = _Val.w;
3570  }
3571 
3575  __declspec( property( get=get_yxzw, put=set_yxzw) ) uint_4 yxzw;
3579  __declspec( property( get=get_yxzw, put=set_yxzw) ) uint_4 grba;
3580 
3587  uint_4 get_yxzw() const __GPU {
3588  return uint_4(_M_y,_M_x,_M_z,_M_w);
3589  }
3590 
3598  {
3599  uint_4 _Val = _Value;
3600  _M_y = _Val.x;
3601  _M_x = _Val.y;
3602  _M_z = _Val.z;
3603  _M_w = _Val.w;
3604  }
3605 
3609  __declspec( property( get=get_yxwz, put=set_yxwz) ) uint_4 yxwz;
3613  __declspec( property( get=get_yxwz, put=set_yxwz) ) uint_4 grab;
3614 
3621  uint_4 get_yxwz() const __GPU {
3622  return uint_4(_M_y,_M_x,_M_w,_M_z);
3623  }
3624 
3632  {
3633  uint_4 _Val = _Value;
3634  _M_y = _Val.x;
3635  _M_x = _Val.y;
3636  _M_w = _Val.z;
3637  _M_z = _Val.w;
3638  }
3639 
3643  __declspec( property( get=get_yzxw, put=set_yzxw) ) uint_4 yzxw;
3647  __declspec( property( get=get_yzxw, put=set_yzxw) ) uint_4 gbra;
3648 
3655  uint_4 get_yzxw() const __GPU {
3656  return uint_4(_M_y,_M_z,_M_x,_M_w);
3657  }
3658 
3666  {
3667  uint_4 _Val = _Value;
3668  _M_y = _Val.x;
3669  _M_z = _Val.y;
3670  _M_x = _Val.z;
3671  _M_w = _Val.w;
3672  }
3673 
3677  __declspec( property( get=get_yzwx, put=set_yzwx) ) uint_4 yzwx;
3681  __declspec( property( get=get_yzwx, put=set_yzwx) ) uint_4 gbar;
3682 
3689  uint_4 get_yzwx() const __GPU {
3690  return uint_4(_M_y,_M_z,_M_w,_M_x);
3691  }
3692 
3700  {
3701  uint_4 _Val = _Value;
3702  _M_y = _Val.x;
3703  _M_z = _Val.y;
3704  _M_w = _Val.z;
3705  _M_x = _Val.w;
3706  }
3707 
3711  __declspec( property( get=get_ywxz, put=set_ywxz) ) uint_4 ywxz;
3715  __declspec( property( get=get_ywxz, put=set_ywxz) ) uint_4 garb;
3716 
3723  uint_4 get_ywxz() const __GPU {
3724  return uint_4(_M_y,_M_w,_M_x,_M_z);
3725  }
3726 
3734  {
3735  uint_4 _Val = _Value;
3736  _M_y = _Val.x;
3737  _M_w = _Val.y;
3738  _M_x = _Val.z;
3739  _M_z = _Val.w;
3740  }
3741 
3745  __declspec( property( get=get_ywzx, put=set_ywzx) ) uint_4 ywzx;
3749  __declspec( property( get=get_ywzx, put=set_ywzx) ) uint_4 gabr;
3750 
3757  uint_4 get_ywzx() const __GPU {
3758  return uint_4(_M_y,_M_w,_M_z,_M_x);
3759  }
3760 
3768  {
3769  uint_4 _Val = _Value;
3770  _M_y = _Val.x;
3771  _M_w = _Val.y;
3772  _M_z = _Val.z;
3773  _M_x = _Val.w;
3774  }
3775 
3779  __declspec( property( get=get_zxyw, put=set_zxyw) ) uint_4 zxyw;
3783  __declspec( property( get=get_zxyw, put=set_zxyw) ) uint_4 brga;
3784 
3791  uint_4 get_zxyw() const __GPU {
3792  return uint_4(_M_z,_M_x,_M_y,_M_w);
3793  }
3794 
3802  {
3803  uint_4 _Val = _Value;
3804  _M_z = _Val.x;
3805  _M_x = _Val.y;
3806  _M_y = _Val.z;
3807  _M_w = _Val.w;
3808  }
3809 
3813  __declspec( property( get=get_zxwy, put=set_zxwy) ) uint_4 zxwy;
3817  __declspec( property( get=get_zxwy, put=set_zxwy) ) uint_4 brag;
3818 
3825  uint_4 get_zxwy() const __GPU {
3826  return uint_4(_M_z,_M_x,_M_w,_M_y);
3827  }
3828 
3836  {
3837  uint_4 _Val = _Value;
3838  _M_z = _Val.x;
3839  _M_x = _Val.y;
3840  _M_w = _Val.z;
3841  _M_y = _Val.w;
3842  }
3843 
3847  __declspec( property( get=get_zyxw, put=set_zyxw) ) uint_4 zyxw;
3851  __declspec( property( get=get_zyxw, put=set_zyxw) ) uint_4 bgra;
3852 
3859  uint_4 get_zyxw() const __GPU {
3860  return uint_4(_M_z,_M_y,_M_x,_M_w);
3861  }
3862 
3870  {
3871  uint_4 _Val = _Value;
3872  _M_z = _Val.x;
3873  _M_y = _Val.y;
3874  _M_x = _Val.z;
3875  _M_w = _Val.w;
3876  }
3877 
3881  __declspec( property( get=get_zywx, put=set_zywx) ) uint_4 zywx;
3885  __declspec( property( get=get_zywx, put=set_zywx) ) uint_4 bgar;
3886 
3893  uint_4 get_zywx() const __GPU {
3894  return uint_4(_M_z,_M_y,_M_w,_M_x);
3895  }
3896 
3904  {
3905  uint_4 _Val = _Value;
3906  _M_z = _Val.x;
3907  _M_y = _Val.y;
3908  _M_w = _Val.z;
3909  _M_x = _Val.w;
3910  }
3911 
3915  __declspec( property( get=get_zwxy, put=set_zwxy) ) uint_4 zwxy;
3919  __declspec( property( get=get_zwxy, put=set_zwxy) ) uint_4 barg;
3920 
3927  uint_4 get_zwxy() const __GPU {
3928  return uint_4(_M_z,_M_w,_M_x,_M_y);
3929  }
3930 
3938  {
3939  uint_4 _Val = _Value;
3940  _M_z = _Val.x;
3941  _M_w = _Val.y;
3942  _M_x = _Val.z;
3943  _M_y = _Val.w;
3944  }
3945 
3949  __declspec( property( get=get_zwyx, put=set_zwyx) ) uint_4 zwyx;
3953  __declspec( property( get=get_zwyx, put=set_zwyx) ) uint_4 bagr;
3954 
3961  uint_4 get_zwyx() const __GPU {
3962  return uint_4(_M_z,_M_w,_M_y,_M_x);
3963  }
3964 
3972  {
3973  uint_4 _Val = _Value;
3974  _M_z = _Val.x;
3975  _M_w = _Val.y;
3976  _M_y = _Val.z;
3977  _M_x = _Val.w;
3978  }
3979 
3983  __declspec( property( get=get_wxyz, put=set_wxyz) ) uint_4 wxyz;
3987  __declspec( property( get=get_wxyz, put=set_wxyz) ) uint_4 argb;
3988 
3995  uint_4 get_wxyz() const __GPU {
3996  return uint_4(_M_w,_M_x,_M_y,_M_z);
3997  }
3998 
4006  {
4007  uint_4 _Val = _Value;
4008  _M_w = _Val.x;
4009  _M_x = _Val.y;
4010  _M_y = _Val.z;
4011  _M_z = _Val.w;
4012  }
4013 
4017  __declspec( property( get=get_wxzy, put=set_wxzy) ) uint_4 wxzy;
4021  __declspec( property( get=get_wxzy, put=set_wxzy) ) uint_4 arbg;
4022 
4029  uint_4 get_wxzy() const __GPU {
4030  return uint_4(_M_w,_M_x,_M_z,_M_y);
4031  }
4032 
4040  {
4041  uint_4 _Val = _Value;
4042  _M_w = _Val.x;
4043  _M_x = _Val.y;
4044  _M_z = _Val.z;
4045  _M_y = _Val.w;
4046  }
4047 
4051  __declspec( property( get=get_wyxz, put=set_wyxz) ) uint_4 wyxz;
4055  __declspec( property( get=get_wyxz, put=set_wyxz) ) uint_4 agrb;
4056 
4063  uint_4 get_wyxz() const __GPU {
4064  return uint_4(_M_w,_M_y,_M_x,_M_z);
4065  }
4066 
4074  {
4075  uint_4 _Val = _Value;
4076  _M_w = _Val.x;
4077  _M_y = _Val.y;
4078  _M_x = _Val.z;
4079  _M_z = _Val.w;
4080  }
4081 
4085  __declspec( property( get=get_wyzx, put=set_wyzx) ) uint_4 wyzx;
4089  __declspec( property( get=get_wyzx, put=set_wyzx) ) uint_4 agbr;
4090 
4097  uint_4 get_wyzx() const __GPU {
4098  return uint_4(_M_w,_M_y,_M_z,_M_x);
4099  }
4100 
4108  {
4109  uint_4 _Val = _Value;
4110  _M_w = _Val.x;
4111  _M_y = _Val.y;
4112  _M_z = _Val.z;
4113  _M_x = _Val.w;
4114  }
4115 
4119  __declspec( property( get=get_wzxy, put=set_wzxy) ) uint_4 wzxy;
4123  __declspec( property( get=get_wzxy, put=set_wzxy) ) uint_4 abrg;
4124 
4131  uint_4 get_wzxy() const __GPU {
4132  return uint_4(_M_w,_M_z,_M_x,_M_y);
4133  }
4134 
4142  {
4143  uint_4 _Val = _Value;
4144  _M_w = _Val.x;
4145  _M_z = _Val.y;
4146  _M_x = _Val.z;
4147  _M_y = _Val.w;
4148  }
4149 
4153  __declspec( property( get=get_wzyx, put=set_wzyx) ) uint_4 wzyx;
4157  __declspec( property( get=get_wzyx, put=set_wzyx) ) uint_4 abgr;
4158 
4165  uint_4 get_wzyx() const __GPU {
4166  return uint_4(_M_w,_M_z,_M_y,_M_x);
4167  }
4168 
4176  {
4177  uint_4 _Val = _Value;
4178  _M_w = _Val.x;
4179  _M_z = _Val.y;
4180  _M_y = _Val.z;
4181  _M_x = _Val.w;
4182  }
4183 
4184  };
4185 
4189  class int_2
4190  {
4191  public:
4192  typedef int value_type;
4193  static const int size = 2;
4194  private:
4195  static const _Short_vector_base_type_id _Base_type_id = _Int_type;
4196  private:
4197  value_type _M_x;
4198  value_type _M_y;
4199 
4200  public:
4204  __declspec( property( get=get_x, put=set_x) ) int x;
4208  __declspec( property( get=get_x, put=set_x) ) int r;
4209 
4216  int get_x() const __GPU {
4217  return _M_x;
4218  }
4219 
4226  int& ref_x() __GPU {
4227  return _M_x;
4228  }
4229 
4236  int& ref_r() __GPU {
4237  return _M_x;
4238  }
4239 
4246  void set_x(int _Value) __GPU
4247  {
4248  _M_x = _Value;
4249  }
4250 
4254  __declspec( property( get=get_y, put=set_y) ) int y;
4258  __declspec( property( get=get_y, put=set_y) ) int g;
4259 
4266  int get_y() const __GPU {
4267  return _M_y;
4268  }
4269 
4276  int& ref_y() __GPU {
4277  return _M_y;
4278  }
4279 
4286  int& ref_g() __GPU {
4287  return _M_y;
4288  }
4289 
4296  void set_y(int _Value) __GPU
4297  {
4298  _M_y = _Value;
4299  }
4300 
4301  public:
4306  {
4307  _M_x = 0;
4308  _M_y = 0;
4309  }
4310 
4320  int_2(int _V0, int _V1) __GPU
4321  {
4322  _M_x = _V0;
4323  _M_y = _V1;
4324  }
4325 
4332  int_2(int _V) __GPU
4333  {
4334  _M_x = _V;
4335  _M_y = _V;
4336  }
4337 
4345  explicit inline int_2(const uint_2& _Other) __GPU;
4346 
4354  explicit inline int_2(const float_2& _Other) __GPU;
4355 
4363  explicit inline int_2(const unorm_2& _Other) __GPU;
4364 
4372  explicit inline int_2(const norm_2& _Other) __GPU;
4373 
4381  explicit inline int_2(const double_2& _Other) __GPU;
4382 
4384  {
4385  int_2 _Value = *this;
4386  return int_2(~_Value.x, ~_Value.y);
4387  }
4388 
4390  {
4391  int_2 _Value = *this;
4392  return int_2(-_Value.x, -_Value.y);
4393  }
4394 
4396  {
4397  int_2 _Value = *this;
4398  ++_Value._M_x;
4399  ++_Value._M_y;
4400  *this = _Value;
4401  return *this;
4402  }
4403 
4405  {
4406  int_2 _Result = *this;
4407  ++(*this);
4408  return _Result;
4409  }
4410 
4412  {
4413  int_2 _Value = *this;
4414  --_Value._M_x;
4415  --_Value._M_y;
4416  *this = _Value;
4417  return *this;
4418  }
4419 
4421  {
4422  int_2 _Result = *this;
4423  --(*this);
4424  return _Result;
4425  }
4426 
4427  int_2& operator+=(const int_2& _Other) __GPU
4428  {
4429  int_2 _Value1 = *this;
4430  int_2 _Value2 = _Other;
4431  _Value1.x += _Value2.x;
4432  _Value1.y += _Value2.y;
4433  *this = _Value1;
4434  return *this;
4435  }
4436 
4437  int_2& operator-=(const int_2& _Other) __GPU
4438  {
4439  int_2 _Value1 = *this;
4440  int_2 _Value2 = _Other;
4441  _Value1.x -= _Value2.x;
4442  _Value1.y -= _Value2.y;
4443  *this = _Value1;
4444  return *this;
4445  }
4446 
4447  int_2& operator*=(const int_2& _Other) __GPU
4448  {
4449  int_2 _Value1 = *this;
4450  int_2 _Value2 = _Other;
4451  _Value1.x *= _Value2.x;
4452  _Value1.y *= _Value2.y;
4453  *this = _Value1;
4454  return *this;
4455  }
4456 
4457  int_2& operator/=(const int_2& _Other) __GPU
4458  {
4459  int_2 _Value1 = *this;
4460  int_2 _Value2 = _Other;
4461  _Value1.x /= _Value2.x;
4462  _Value1.y /= _Value2.y;
4463  *this = _Value1;
4464  return *this;
4465  }
4466 
4467  int_2& operator%=(const int_2& _Other) __GPU
4468  {
4469  int_2 _Value1 = *this;
4470  int_2 _Value2 = _Other;
4471  _Value1.x %= _Value2.x;
4472  _Value1.y %= _Value2.y;
4473  *this = _Value1;
4474  return *this;
4475  }
4476 
4477  int_2& operator^=(const int_2& _Other) __GPU
4478  {
4479  int_2 _Value1 = *this;
4480  int_2 _Value2 = _Other;
4481  _Value1.x ^= _Value2.x;
4482  _Value1.y ^= _Value2.y;
4483  *this = _Value1;
4484  return *this;
4485  }
4486 
4487  int_2& operator|=(const int_2& _Other) __GPU
4488  {
4489  int_2 _Value1 = *this;
4490  int_2 _Value2 = _Other;
4491  _Value1.x |= _Value2.x;
4492  _Value1.y |= _Value2.y;
4493  *this = _Value1;
4494  return *this;
4495  }
4496 
4497  int_2& operator&=(const int_2& _Other) __GPU
4498  {
4499  int_2 _Value1 = *this;
4500  int_2 _Value2 = _Other;
4501  _Value1.x &= _Value2.x;
4502  _Value1.y &= _Value2.y;
4503  *this = _Value1;
4504  return *this;
4505  }
4506 
4507  int_2& operator>>=(const int_2& _Other) __GPU
4508  {
4509  int_2 _Value1 = *this;
4510  int_2 _Value2 = _Other;
4511  _Value1.x >>= _Value2.x;
4512  _Value1.y >>= _Value2.y;
4513  *this = _Value1;
4514  return *this;
4515  }
4516 
4517  int_2& operator<<=(const int_2& _Other) __GPU
4518  {
4519  int_2 _Value1 = *this;
4520  int_2 _Value2 = _Other;
4521  _Value1.x <<= _Value2.x;
4522  _Value1.y <<= _Value2.y;
4523  *this = _Value1;
4524  return *this;
4525  }
4526 
4527  public:
4531  __declspec( property( get=get_xy, put=set_xy) ) int_2 xy;
4535  __declspec( property( get=get_xy, put=set_xy) ) int_2 rg;
4536 
4543  int_2 get_xy() const __GPU {
4544  return int_2(_M_x,_M_y);
4545  }
4546 
4553  void set_xy(const int_2& _Value) __GPU
4554  {
4555  int_2 _Val = _Value;
4556  _M_x = _Val.x;
4557  _M_y = _Val.y;
4558  }
4559 
4563  __declspec( property( get=get_yx, put=set_yx) ) int_2 yx;
4567  __declspec( property( get=get_yx, put=set_yx) ) int_2 gr;
4568 
4575  int_2 get_yx() const __GPU {
4576  return int_2(_M_y,_M_x);
4577  }
4578 
4585  void set_yx(const int_2& _Value) __GPU
4586  {
4587  int_2 _Val = _Value;
4588  _M_y = _Val.x;
4589  _M_x = _Val.y;
4590  }
4591 
4592  };
4593 
4597  class int_3
4598  {
4599  public:
4600  typedef int value_type;
4601  static const int size = 3;
4602  private:
4603  static const _Short_vector_base_type_id _Base_type_id = _Int_type;
4604  private:
4605  value_type _M_x;
4606  value_type _M_y;
4607  value_type _M_z;
4608 
4609  public:
4613  __declspec( property( get=get_x, put=set_x) ) int x;
4617  __declspec( property( get=get_x, put=set_x) ) int r;
4618 
4625  int get_x() const __GPU {
4626  return _M_x;
4627  }
4628 
4635  int& ref_x() __GPU {
4636  return _M_x;
4637  }
4638 
4645  int& ref_r() __GPU {
4646  return _M_x;
4647  }
4648 
4655  void set_x(int _Value) __GPU
4656  {
4657  _M_x = _Value;
4658  }
4659 
4663  __declspec( property( get=get_y, put=set_y) ) int y;
4667  __declspec( property( get=get_y, put=set_y) ) int g;
4668 
4675  int get_y() const __GPU {
4676  return _M_y;
4677  }
4678 
4685  int& ref_y() __GPU {
4686  return _M_y;
4687  }
4688 
4695  int& ref_g() __GPU {
4696  return _M_y;
4697  }
4698 
4705  void set_y(int _Value) __GPU
4706  {
4707  _M_y = _Value;
4708  }
4709 
4713  __declspec( property( get=get_z, put=set_z) ) int z;
4717  __declspec( property( get=get_z, put=set_z) ) int b;
4718 
4725  int get_z() const __GPU {
4726  return _M_z;
4727  }
4728 
4735  int& ref_z() __GPU {
4736  return _M_z;
4737  }
4738 
4745  int& ref_b() __GPU {
4746  return _M_z;
4747  }
4748 
4755  void set_z(int _Value) __GPU
4756  {
4757  _M_z = _Value;
4758  }
4759 
4760  public:
4765  {
4766  _M_x = 0;
4767  _M_y = 0;
4768  _M_z = 0;
4769  }
4770 
4783  int_3(int _V0, int _V1, int _V2) __GPU
4784  {
4785  _M_x = _V0;
4786  _M_y = _V1;
4787  _M_z = _V2;
4788  }
4789 
4796  int_3(int _V) __GPU
4797  {
4798  _M_x = _V;
4799  _M_y = _V;
4800  _M_z = _V;
4801  }
4802 
4810  explicit inline int_3(const uint_3& _Other) __GPU;
4811 
4819  explicit inline int_3(const float_3& _Other) __GPU;
4820 
4828  explicit inline int_3(const unorm_3& _Other) __GPU;
4829 
4837  explicit inline int_3(const norm_3& _Other) __GPU;
4838 
4846  explicit inline int_3(const double_3& _Other) __GPU;
4847 
4849  {
4850  int_3 _Value = *this;
4851  return int_3(~_Value.x, ~_Value.y, ~_Value.z);
4852  }
4853 
4855  {
4856  int_3 _Value = *this;
4857  return int_3(-_Value.x, -_Value.y, -_Value.z);
4858  }
4859 
4861  {
4862  int_3 _Value = *this;
4863  ++_Value._M_x;
4864  ++_Value._M_y;
4865  ++_Value._M_z;
4866  *this = _Value;
4867  return *this;
4868  }
4869 
4871  {
4872  int_3 _Result = *this;
4873  ++(*this);
4874  return _Result;
4875  }
4876 
4878  {
4879  int_3 _Value = *this;
4880  --_Value._M_x;
4881  --_Value._M_y;
4882  --_Value._M_z;
4883  *this = _Value;
4884  return *this;
4885  }
4886 
4888  {
4889  int_3 _Result = *this;
4890  --(*this);
4891  return _Result;
4892  }
4893 
4894  int_3& operator+=(const int_3& _Other) __GPU
4895  {
4896  int_3 _Value1 = *this;
4897  int_3 _Value2 = _Other;
4898  _Value1.x += _Value2.x;
4899  _Value1.y += _Value2.y;
4900  _Value1.z += _Value2.z;
4901  *this = _Value1;
4902  return *this;
4903  }
4904 
4905  int_3& operator-=(const int_3& _Other) __GPU
4906  {
4907  int_3 _Value1 = *this;
4908  int_3 _Value2 = _Other;
4909  _Value1.x -= _Value2.x;
4910  _Value1.y -= _Value2.y;
4911  _Value1.z -= _Value2.z;
4912  *this = _Value1;
4913  return *this;
4914  }
4915 
4916  int_3& operator*=(const int_3& _Other) __GPU
4917  {
4918  int_3 _Value1 = *this;
4919  int_3 _Value2 = _Other;
4920  _Value1.x *= _Value2.x;
4921  _Value1.y *= _Value2.y;
4922  _Value1.z *= _Value2.z;
4923  *this = _Value1;
4924  return *this;
4925  }
4926 
4927  int_3& operator/=(const int_3& _Other) __GPU
4928  {
4929  int_3 _Value1 = *this;
4930  int_3 _Value2 = _Other;
4931  _Value1.x /= _Value2.x;
4932  _Value1.y /= _Value2.y;
4933  _Value1.z /= _Value2.z;
4934  *this = _Value1;
4935  return *this;
4936  }
4937 
4938  int_3& operator%=(const int_3& _Other) __GPU
4939  {
4940  int_3 _Value1 = *this;
4941  int_3 _Value2 = _Other;
4942  _Value1.x %= _Value2.x;
4943  _Value1.y %= _Value2.y;
4944  _Value1.z %= _Value2.z;
4945  *this = _Value1;
4946  return *this;
4947  }
4948 
4949  int_3& operator^=(const int_3& _Other) __GPU
4950  {
4951  int_3 _Value1 = *this;
4952  int_3 _Value2 = _Other;
4953  _Value1.x ^= _Value2.x;
4954  _Value1.y ^= _Value2.y;
4955  _Value1.z ^= _Value2.z;
4956  *this = _Value1;
4957  return *this;
4958  }
4959 
4960  int_3& operator|=(const int_3& _Other) __GPU
4961  {
4962  int_3 _Value1 = *this;
4963  int_3 _Value2 = _Other;
4964  _Value1.x |= _Value2.x;
4965  _Value1.y |= _Value2.y;
4966  _Value1.z |= _Value2.z;
4967  *this = _Value1;
4968  return *this;
4969  }
4970 
4971  int_3& operator&=(const int_3& _Other) __GPU
4972  {
4973  int_3 _Value1 = *this;
4974  int_3 _Value2 = _Other;
4975  _Value1.x &= _Value2.x;
4976  _Value1.y &= _Value2.y;
4977  _Value1.z &= _Value2.z;
4978  *this = _Value1;
4979  return *this;
4980  }
4981 
4982  int_3& operator>>=(const int_3& _Other) __GPU
4983  {
4984  int_3 _Value1 = *this;
4985  int_3 _Value2 = _Other;
4986  _Value1.x >>= _Value2.x;
4987  _Value1.y >>= _Value2.y;
4988  _Value1.z >>= _Value2.z;
4989  *this = _Value1;
4990  return *this;
4991  }
4992 
4993  int_3& operator<<=(const int_3& _Other) __GPU
4994  {
4995  int_3 _Value1 = *this;
4996  int_3 _Value2 = _Other;
4997  _Value1.x <<= _Value2.x;
4998  _Value1.y <<= _Value2.y;
4999  _Value1.z <<= _Value2.z;
5000  *this = _Value1;
5001  return *this;
5002  }
5003 
5004  public:
5008  __declspec( property( get=get_xy, put=set_xy) ) int_2 xy;
5012  __declspec( property( get=get_xy, put=set_xy) ) int_2 rg;
5013 
5020  int_2 get_xy() const __GPU {
5021  return int_2(_M_x,_M_y);
5022  }
5023 
5030  void set_xy(const int_2& _Value) __GPU
5031  {
5032  int_2 _Val = _Value;
5033  _M_x = _Val.x;
5034  _M_y = _Val.y;
5035  }
5036 
5040  __declspec( property( get=get_xz, put=set_xz) ) int_2 xz;
5044  __declspec( property( get=get_xz, put=set_xz) ) int_2 rb;
5045 
5052  int_2 get_xz() const __GPU {
5053  return int_2(_M_x,_M_z);
5054  }
5055 
5062  void set_xz(const int_2& _Value) __GPU
5063  {
5064  int_2 _Val = _Value;
5065  _M_x = _Val.x;
5066  _M_z = _Val.y;
5067  }
5068 
5072  __declspec( property( get=get_yx, put=set_yx) ) int_2 yx;
5076  __declspec( property( get=get_yx, put=set_yx) ) int_2 gr;
5077 
5084  int_2 get_yx() const __GPU {
5085  return int_2(_M_y,_M_x);
5086  }
5087 
5094  void set_yx(const int_2& _Value) __GPU
5095  {
5096  int_2 _Val = _Value;
5097  _M_y = _Val.x;
5098  _M_x = _Val.y;
5099  }
5100 
5104  __declspec( property( get=get_yz, put=set_yz) ) int_2 yz;
5108  __declspec( property( get=get_yz, put=set_yz) ) int_2 gb;
5109 
5116  int_2 get_yz() const __GPU {
5117  return int_2(_M_y,_M_z);
5118  }
5119 
5126  void set_yz(const int_2& _Value) __GPU
5127  {
5128  int_2 _Val = _Value;
5129  _M_y = _Val.x;
5130  _M_z = _Val.y;
5131  }
5132 
5136  __declspec( property( get=get_zx, put=set_zx) ) int_2 zx;
5140  __declspec( property( get=get_zx, put=set_zx) ) int_2 br;
5141 
5148  int_2 get_zx() const __GPU {
5149  return int_2(_M_z,_M_x);
5150  }
5151 
5158  void set_zx(const int_2& _Value) __GPU
5159  {
5160  int_2 _Val = _Value;
5161  _M_z = _Val.x;
5162  _M_x = _Val.y;
5163  }
5164 
5168  __declspec( property( get=get_zy, put=set_zy) ) int_2 zy;
5172  __declspec( property( get=get_zy, put=set_zy) ) int_2 bg;
5173 
5180  int_2 get_zy() const __GPU {
5181  return int_2(_M_z,_M_y);
5182  }
5183 
5190  void set_zy(const int_2& _Value) __GPU
5191  {
5192  int_2 _Val = _Value;
5193  _M_z = _Val.x;
5194  _M_y = _Val.y;
5195  }
5196 
5200  __declspec( property( get=get_xyz, put=set_xyz) ) int_3 xyz;
5204  __declspec( property( get=get_xyz, put=set_xyz) ) int_3 rgb;
5205 
5212  int_3 get_xyz() const __GPU {
5213  return int_3(_M_x,_M_y,_M_z);
5214  }
5215 
5222  void set_xyz(const int_3& _Value) __GPU
5223  {
5224  int_3 _Val = _Value;
5225  _M_x = _Val.x;
5226  _M_y = _Val.y;
5227  _M_z = _Val.z;
5228  }
5229 
5233  __declspec( property( get=get_xzy, put=set_xzy) ) int_3 xzy;
5237  __declspec( property( get=get_xzy, put=set_xzy) ) int_3 rbg;
5238 
5245  int_3 get_xzy() const __GPU {
5246  return int_3(_M_x,_M_z,_M_y);
5247  }
5248 
5255  void set_xzy(const int_3& _Value) __GPU
5256  {
5257  int_3 _Val = _Value;
5258  _M_x = _Val.x;
5259  _M_z = _Val.y;
5260  _M_y = _Val.z;
5261  }
5262 
5266  __declspec( property( get=get_yxz, put=set_yxz) ) int_3 yxz;
5270  __declspec( property( get=get_yxz, put=set_yxz) ) int_3 grb;
5271 
5278  int_3 get_yxz() const __GPU {
5279  return int_3(_M_y,_M_x,_M_z);
5280  }
5281 
5288  void set_yxz(const int_3& _Value) __GPU
5289  {
5290  int_3 _Val = _Value;
5291  _M_y = _Val.x;
5292  _M_x = _Val.y;
5293  _M_z = _Val.z;
5294  }
5295 
5299  __declspec( property( get=get_yzx, put=set_yzx) ) int_3 yzx;
5303  __declspec( property( get=get_yzx, put=set_yzx) ) int_3 gbr;
5304 
5311  int_3 get_yzx() const __GPU {
5312  return int_3(_M_y,_M_z,_M_x);
5313  }
5314 
5321  void set_yzx(const int_3& _Value) __GPU
5322  {
5323  int_3 _Val = _Value;
5324  _M_y = _Val.x;
5325  _M_z = _Val.y;
5326  _M_x = _Val.z;
5327  }
5328 
5332  __declspec( property( get=get_zxy, put=set_zxy) ) int_3 zxy;
5336  __declspec( property( get=get_zxy, put=set_zxy) ) int_3 brg;
5337 
5344  int_3 get_zxy() const __GPU {
5345  return int_3(_M_z,_M_x,_M_y);
5346  }
5347 
5354  void set_zxy(const int_3& _Value) __GPU
5355  {
5356  int_3 _Val = _Value;
5357  _M_z = _Val.x;
5358  _M_x = _Val.y;
5359  _M_y = _Val.z;
5360  }
5361 
5365  __declspec( property( get=get_zyx, put=set_zyx) ) int_3 zyx;
5369  __declspec( property( get=get_zyx, put=set_zyx) ) int_3 bgr;
5370 
5377  int_3 get_zyx() const __GPU {
5378  return int_3(_M_z,_M_y,_M_x);
5379  }
5380 
5387  void set_zyx(const int_3& _Value) __GPU
5388  {
5389  int_3 _Val = _Value;
5390  _M_z = _Val.x;
5391  _M_y = _Val.y;
5392  _M_x = _Val.z;
5393  }
5394 
5395  };
5396 
5400  class int_4
5401  {
5402  public:
5403  typedef int value_type;
5404  static const int size = 4;
5405  private:
5406  static const _Short_vector_base_type_id _Base_type_id = _Int_type;
5407  private:
5408  value_type _M_x;
5409  value_type _M_y;
5410  value_type _M_z;
5411  value_type _M_w;
5412 
5413  public:
5417  __declspec( property( get=get_x, put=set_x) ) int x;
5421  __declspec( property( get=get_x, put=set_x) ) int r;
5422 
5429  int get_x() const __GPU {
5430  return _M_x;
5431  }
5432 
5439  int& ref_x() __GPU {
5440  return _M_x;
5441  }
5442 
5449  int& ref_r() __GPU {
5450  return _M_x;
5451  }
5452 
5459  void set_x(int _Value) __GPU
5460  {
5461  _M_x = _Value;
5462  }
5463 
5467  __declspec( property( get=get_y, put=set_y) ) int y;
5471  __declspec( property( get=get_y, put=set_y) ) int g;
5472 
5479  int get_y() const __GPU {
5480  return _M_y;
5481  }
5482 
5489  int& ref_y() __GPU {
5490  return _M_y;
5491  }
5492 
5499  int& ref_g() __GPU {
5500  return _M_y;
5501  }
5502 
5509  void set_y(int _Value) __GPU
5510  {
5511  _M_y = _Value;
5512  }
5513 
5517  __declspec( property( get=get_z, put=set_z) ) int z;
5521  __declspec( property( get=get_z, put=set_z) ) int b;
5522 
5529  int get_z() const __GPU {
5530  return _M_z;
5531  }
5532 
5539  int& ref_z() __GPU {
5540  return _M_z;
5541  }
5542 
5549  int& ref_b() __GPU {
5550  return _M_z;
5551  }
5552 
5559  void set_z(int _Value) __GPU
5560  {
5561  _M_z = _Value;
5562  }
5563 
5567  __declspec( property( get=get_w, put=set_w) ) int w;
5571  __declspec( property( get=get_w, put=set_w) ) int a;
5572 
5579  int get_w() const __GPU {
5580  return _M_w;
5581  }
5582 
5589  int& ref_w() __GPU {
5590  return _M_w;
5591  }
5592 
5599  int& ref_a() __GPU {
5600  return _M_w;
5601  }
5602 
5609  void set_w(int _Value) __GPU
5610  {
5611  _M_w = _Value;
5612  }
5613 
5614  public:
5619  {
5620  _M_x = 0;
5621  _M_y = 0;
5622  _M_z = 0;
5623  _M_w = 0;
5624  }
5625 
5641  int_4(int _V0, int _V1, int _V2, int _V3) __GPU
5642  {
5643  _M_x = _V0;
5644  _M_y = _V1;
5645  _M_z = _V2;
5646  _M_w = _V3;
5647  }
5648 
5655  int_4(int _V) __GPU
5656  {
5657  _M_x = _V;
5658  _M_y = _V;
5659  _M_z = _V;
5660  _M_w = _V;
5661  }
5662 
5670  explicit inline int_4(const uint_4& _Other) __GPU;
5671 
5679  explicit inline int_4(const float_4& _Other) __GPU;
5680 
5688  explicit inline int_4(const unorm_4& _Other) __GPU;
5689 
5697  explicit inline int_4(const norm_4& _Other) __GPU;
5698 
5706  explicit inline int_4(const double_4& _Other) __GPU;
5707 
5709  {
5710  int_4 _Value = *this;
5711  return int_4(~_Value.x, ~_Value.y, ~_Value.z, ~_Value.w);
5712  }
5713 
5715  {
5716  int_4 _Value = *this;
5717  return int_4(-_Value.x, -_Value.y, -_Value.z, -_Value.w);
5718  }
5719 
5721  {
5722  int_4 _Value = *this;
5723  ++_Value._M_x;
5724  ++_Value._M_y;
5725  ++_Value._M_z;
5726  ++_Value._M_w;
5727  *this = _Value;
5728  return *this;
5729  }
5730 
5732  {
5733  int_4 _Result = *this;
5734  ++(*this);
5735  return _Result;
5736  }
5737 
5739  {
5740  int_4 _Value = *this;
5741  --_Value._M_x;
5742  --_Value._M_y;
5743  --_Value._M_z;
5744  --_Value._M_w;
5745  *this = _Value;
5746  return *this;
5747  }
5748 
5750  {
5751  int_4 _Result = *this;
5752  --(*this);
5753  return _Result;
5754  }
5755 
5756  int_4& operator+=(const int_4& _Other) __GPU
5757  {
5758  int_4 _Value1 = *this;
5759  int_4 _Value2 = _Other;
5760  _Value1.x += _Value2.x;
5761  _Value1.y += _Value2.y;
5762  _Value1.z += _Value2.z;
5763  _Value1.w += _Value2.w;
5764  *this = _Value1;
5765  return *this;
5766  }
5767 
5768  int_4& operator-=(const int_4& _Other) __GPU
5769  {
5770  int_4 _Value1 = *this;
5771  int_4 _Value2 = _Other;
5772  _Value1.x -= _Value2.x;
5773  _Value1.y -= _Value2.y;
5774  _Value1.z -= _Value2.z;
5775  _Value1.w -= _Value2.w;
5776  *this = _Value1;
5777  return *this;
5778  }
5779 
5780  int_4& operator*=(const int_4& _Other) __GPU
5781  {
5782  int_4 _Value1 = *this;
5783  int_4 _Value2 = _Other;
5784  _Value1.x *= _Value2.x;
5785  _Value1.y *= _Value2.y;
5786  _Value1.z *= _Value2.z;
5787  _Value1.w *= _Value2.w;
5788  *this = _Value1;
5789  return *this;
5790  }
5791 
5792  int_4& operator/=(const int_4& _Other) __GPU
5793  {
5794  int_4 _Value1 = *this;
5795  int_4 _Value2 = _Other;
5796  _Value1.x /= _Value2.x;
5797  _Value1.y /= _Value2.y;
5798  _Value1.z /= _Value2.z;
5799  _Value1.w /= _Value2.w;
5800  *this = _Value1;
5801  return *this;
5802  }
5803 
5804  int_4& operator%=(const int_4& _Other) __GPU
5805  {
5806  int_4 _Value1 = *this;
5807  int_4 _Value2 = _Other;
5808  _Value1.x %= _Value2.x;
5809  _Value1.y %= _Value2.y;
5810  _Value1.z %= _Value2.z;
5811  _Value1.w %= _Value2.w;
5812  *this = _Value1;
5813  return *this;
5814  }
5815 
5816  int_4& operator^=(const int_4& _Other) __GPU
5817  {
5818  int_4 _Value1 = *this;
5819  int_4 _Value2 = _Other;
5820  _Value1.x ^= _Value2.x;
5821  _Value1.y ^= _Value2.y;
5822  _Value1.z ^= _Value2.z;
5823  _Value1.w ^= _Value2.w;
5824  *this = _Value1;
5825  return *this;
5826  }
5827 
5828  int_4& operator|=(const int_4& _Other) __GPU
5829  {
5830  int_4 _Value1 = *this;
5831  int_4 _Value2 = _Other;
5832  _Value1.x |= _Value2.x;
5833  _Value1.y |= _Value2.y;
5834  _Value1.z |= _Value2.z;
5835  _Value1.w |= _Value2.w;
5836  *this = _Value1;
5837  return *this;
5838  }
5839 
5840  int_4& operator&=(const int_4& _Other) __GPU
5841  {
5842  int_4 _Value1 = *this;
5843  int_4 _Value2 = _Other;
5844  _Value1.x &= _Value2.x;
5845  _Value1.y &= _Value2.y;
5846  _Value1.z &= _Value2.z;
5847  _Value1.w &= _Value2.w;
5848  *this = _Value1;
5849  return *this;
5850  }
5851 
5852  int_4& operator>>=(const int_4& _Other) __GPU
5853  {
5854  int_4 _Value1 = *this;
5855  int_4 _Value2 = _Other;
5856  _Value1.x >>= _Value2.x;
5857  _Value1.y >>= _Value2.y;
5858  _Value1.z >>= _Value2.z;
5859  _Value1.w >>= _Value2.w;
5860  *this = _Value1;
5861  return *this;
5862  }
5863 
5864  int_4& operator<<=(const int_4& _Other) __GPU
5865  {
5866  int_4 _Value1 = *this;
5867  int_4 _Value2 = _Other;
5868  _Value1.x <<= _Value2.x;
5869  _Value1.y <<= _Value2.y;
5870  _Value1.z <<= _Value2.z;
5871  _Value1.w <<= _Value2.w;
5872  *this = _Value1;
5873  return *this;
5874  }
5875 
5876  public:
5880  __declspec( property( get=get_xy, put=set_xy) ) int_2 xy;
5884  __declspec( property( get=get_xy, put=set_xy) ) int_2 rg;
5885 
5892  int_2 get_xy() const __GPU {
5893  return int_2(_M_x,_M_y);
5894  }
5895 
5902  void set_xy(const int_2& _Value) __GPU
5903  {
5904  int_2 _Val = _Value;
5905  _M_x = _Val.x;
5906  _M_y = _Val.y;
5907  }
5908 
5912  __declspec( property( get=get_xz, put=set_xz) ) int_2 xz;
5916  __declspec( property( get=get_xz, put=set_xz) ) int_2 rb;
5917 
5924  int_2 get_xz() const __GPU {
5925  return int_2(_M_x,_M_z);
5926  }
5927 
5934  void set_xz(const int_2& _Value) __GPU
5935  {
5936  int_2 _Val = _Value;
5937  _M_x = _Val.x;
5938  _M_z = _Val.y;
5939  }
5940 
5944  __declspec( property( get=get_xw, put=set_xw) ) int_2 xw;
5948  __declspec( property( get=get_xw, put=set_xw) ) int_2 ra;
5949 
5956  int_2 get_xw() const __GPU {
5957  return int_2(_M_x,_M_w);
5958  }
5959 
5966  void set_xw(const int_2& _Value) __GPU
5967  {
5968  int_2 _Val = _Value;
5969  _M_x = _Val.x;
5970  _M_w = _Val.y;
5971  }
5972 
5976  __declspec( property( get=get_yx, put=set_yx) ) int_2 yx;
5980  __declspec( property( get=get_yx, put=set_yx) ) int_2 gr;
5981 
5988  int_2 get_yx() const __GPU {
5989  return int_2(_M_y,_M_x);
5990  }
5991 
5998  void set_yx(const int_2& _Value) __GPU
5999  {
6000  int_2 _Val = _Value;
6001  _M_y = _Val.x;
6002  _M_x = _Val.y;
6003  }
6004 
6008  __declspec( property( get=get_yz, put=set_yz) ) int_2 yz;
6012  __declspec( property( get=get_yz, put=set_yz) ) int_2 gb;
6013 
6020  int_2 get_yz() const __GPU {
6021  return int_2(_M_y,_M_z);
6022  }
6023 
6030  void set_yz(const int_2& _Value) __GPU
6031  {
6032  int_2 _Val = _Value;
6033  _M_y = _Val.x;
6034  _M_z = _Val.y;
6035  }
6036 
6040  __declspec( property( get=get_yw, put=set_yw) ) int_2 yw;
6044  __declspec( property( get=get_yw, put=set_yw) ) int_2 ga;
6045 
6052  int_2 get_yw() const __GPU {
6053  return int_2(_M_y,_M_w);
6054  }
6055 
6062  void set_yw(const int_2& _Value) __GPU
6063  {
6064  int_2 _Val = _Value;
6065  _M_y = _Val.x;
6066  _M_w = _Val.y;
6067  }
6068 
6072  __declspec( property( get=get_zx, put=set_zx) ) int_2 zx;
6076  __declspec( property( get=get_zx, put=set_zx) ) int_2 br;
6077 
6084  int_2 get_zx() const __GPU {
6085  return int_2(_M_z,_M_x);
6086  }
6087 
6094  void set_zx(const int_2& _Value) __GPU
6095  {
6096  int_2 _Val = _Value;
6097  _M_z = _Val.x;
6098  _M_x = _Val.y;
6099  }
6100 
6104  __declspec( property( get=get_zy, put=set_zy) ) int_2 zy;
6108  __declspec( property( get=get_zy, put=set_zy) ) int_2 bg;
6109 
6116  int_2 get_zy() const __GPU {
6117  return int_2(_M_z,_M_y);
6118  }
6119 
6126  void set_zy(const int_2& _Value) __GPU
6127  {
6128  int_2 _Val = _Value;
6129  _M_z = _Val.x;
6130  _M_y = _Val.y;
6131  }
6132 
6136  __declspec( property( get=get_zw, put=set_zw) ) int_2 zw;
6140  __declspec( property( get=get_zw, put=set_zw) ) int_2 ba;
6141 
6148  int_2 get_zw() const __GPU {
6149  return int_2(_M_z,_M_w);
6150  }
6151 
6158  void set_zw(const int_2& _Value) __GPU
6159  {
6160  int_2 _Val = _Value;
6161  _M_z = _Val.x;
6162  _M_w = _Val.y;
6163  }
6164 
6168  __declspec( property( get=get_wx, put=set_wx) ) int_2 wx;
6172  __declspec( property( get=get_wx, put=set_wx) ) int_2 ar;
6173 
6180  int_2 get_wx() const __GPU {
6181  return int_2(_M_w,_M_x);
6182  }
6183 
6190  void set_wx(const int_2& _Value) __GPU
6191  {
6192  int_2 _Val = _Value;
6193  _M_w = _Val.x;
6194  _M_x = _Val.y;
6195  }
6196 
6200  __declspec( property( get=get_wy, put=set_wy) ) int_2 wy;
6204  __declspec( property( get=get_wy, put=set_wy) ) int_2 ag;
6205 
6212  int_2 get_wy() const __GPU {
6213  return int_2(_M_w,_M_y);
6214  }
6215 
6222  void set_wy(const int_2& _Value) __GPU
6223  {
6224  int_2 _Val = _Value;
6225  _M_w = _Val.x;
6226  _M_y = _Val.y;
6227  }
6228 
6232  __declspec( property( get=get_wz, put=set_wz) ) int_2 wz;
6236  __declspec( property( get=get_wz, put=set_wz) ) int_2 ab;
6237 
6244  int_2 get_wz() const __GPU {
6245  return int_2(_M_w,_M_z);
6246  }
6247 
6254  void set_wz(const int_2& _Value) __GPU
6255  {
6256  int_2 _Val = _Value;
6257  _M_w = _Val.x;
6258  _M_z = _Val.y;
6259  }
6260 
6264  __declspec( property( get=get_xyz, put=set_xyz) ) int_3 xyz;
6268  __declspec( property( get=get_xyz, put=set_xyz) ) int_3 rgb;
6269 
6276  int_3 get_xyz() const __GPU {
6277  return int_3(_M_x,_M_y,_M_z);
6278  }
6279 
6286  void set_xyz(const int_3& _Value) __GPU
6287  {
6288  int_3 _Val = _Value;
6289  _M_x = _Val.x;
6290  _M_y = _Val.y;
6291  _M_z = _Val.z;
6292  }
6293 
6297  __declspec( property( get=get_xyw, put=set_xyw) ) int_3 xyw;
6301  __declspec( property( get=get_xyw, put=set_xyw) ) int_3 rga;
6302 
6309  int_3 get_xyw() const __GPU {
6310  return int_3(_M_x,_M_y,_M_w);
6311  }
6312 
6319  void set_xyw(const int_3& _Value) __GPU
6320  {
6321  int_3 _Val = _Value;
6322  _M_x = _Val.x;
6323  _M_y = _Val.y;
6324  _M_w = _Val.z;
6325  }
6326 
6330  __declspec( property( get=get_xzy, put=set_xzy) ) int_3 xzy;
6334  __declspec( property( get=get_xzy, put=set_xzy) ) int_3 rbg;
6335 
6342  int_3 get_xzy() const __GPU {
6343  return int_3(_M_x,_M_z,_M_y);
6344  }
6345 
6352  void set_xzy(const int_3& _Value) __GPU
6353  {
6354  int_3 _Val = _Value;
6355  _M_x = _Val.x;
6356  _M_z = _Val.y;
6357  _M_y = _Val.z;
6358  }
6359 
6363  __declspec( property( get=get_xzw, put=set_xzw) ) int_3 xzw;
6367  __declspec( property( get=get_xzw, put=set_xzw) ) int_3 rba;
6368 
6375  int_3 get_xzw() const __GPU {
6376  return int_3(_M_x,_M_z,_M_w);
6377  }
6378 
6385  void set_xzw(const int_3& _Value) __GPU
6386  {
6387  int_3 _Val = _Value;
6388  _M_x = _Val.x;
6389  _M_z = _Val.y;
6390  _M_w = _Val.z;
6391  }
6392 
6396  __declspec( property( get=get_xwy, put=set_xwy) ) int_3 xwy;
6400  __declspec( property( get=get_xwy, put=set_xwy) ) int_3 rag;
6401 
6408  int_3 get_xwy() const __GPU {
6409  return int_3(_M_x,_M_w,_M_y);
6410  }
6411 
6418  void set_xwy(const int_3& _Value) __GPU
6419  {
6420  int_3 _Val = _Value;
6421  _M_x = _Val.x;
6422  _M_w = _Val.y;
6423  _M_y = _Val.z;
6424  }
6425 
6429  __declspec( property( get=get_xwz, put=set_xwz) ) int_3 xwz;
6433  __declspec( property( get=get_xwz, put=set_xwz) ) int_3 rab;
6434 
6441  int_3 get_xwz() const __GPU {
6442  return int_3(_M_x,_M_w,_M_z);
6443  }
6444 
6451  void set_xwz(const int_3& _Value) __GPU
6452  {
6453  int_3 _Val = _Value;
6454  _M_x = _Val.x;
6455  _M_w = _Val.y;
6456  _M_z = _Val.z;
6457  }
6458 
6462  __declspec( property( get=get_yxz, put=set_yxz) ) int_3 yxz;
6466  __declspec( property( get=get_yxz, put=set_yxz) ) int_3 grb;
6467 
6474  int_3 get_yxz() const __GPU {
6475  return int_3(_M_y,_M_x,_M_z);
6476  }
6477 
6484  void set_yxz(const int_3& _Value) __GPU
6485  {
6486  int_3 _Val = _Value;
6487  _M_y = _Val.x;
6488  _M_x = _Val.y;
6489  _M_z = _Val.z;
6490  }
6491 
6495  __declspec( property( get=get_yxw, put=set_yxw) ) int_3 yxw;
6499  __declspec( property( get=get_yxw, put=set_yxw) ) int_3 gra;
6500 
6507  int_3 get_yxw() const __GPU {
6508  return int_3(_M_y,_M_x,_M_w);
6509  }
6510 
6517  void set_yxw(const int_3& _Value) __GPU
6518  {
6519  int_3 _Val = _Value;
6520  _M_y = _Val.x;
6521  _M_x = _Val.y;
6522  _M_w = _Val.z;
6523  }
6524 
6528  __declspec( property( get=get_yzx, put=set_yzx) ) int_3 yzx;
6532  __declspec( property( get=get_yzx, put=set_yzx) ) int_3 gbr;
6533 
6540  int_3 get_yzx() const __GPU {
6541  return int_3(_M_y,_M_z,_M_x);
6542  }
6543 
6550  void set_yzx(const int_3& _Value) __GPU
6551  {
6552  int_3 _Val = _Value;
6553  _M_y = _Val.x;
6554  _M_z = _Val.y;
6555  _M_x = _Val.z;
6556  }
6557 
6561  __declspec( property( get=get_yzw, put=set_yzw) ) int_3 yzw;
6565  __declspec( property( get=get_yzw, put=set_yzw) ) int_3 gba;
6566 
6573  int_3 get_yzw() const __GPU {
6574  return int_3(_M_y,_M_z,_M_w);
6575  }
6576 
6583  void set_yzw(const int_3& _Value) __GPU
6584  {
6585  int_3 _Val = _Value;
6586  _M_y = _Val.x;
6587  _M_z = _Val.y;
6588  _M_w = _Val.z;
6589  }
6590 
6594  __declspec( property( get=get_ywx, put=set_ywx) ) int_3 ywx;
6598  __declspec( property( get=get_ywx, put=set_ywx) ) int_3 gar;
6599 
6606  int_3 get_ywx() const __GPU {
6607  return int_3(_M_y,_M_w,_M_x);
6608  }
6609 
6616  void set_ywx(const int_3& _Value) __GPU
6617  {
6618  int_3 _Val = _Value;
6619  _M_y = _Val.x;
6620  _M_w = _Val.y;
6621  _M_x = _Val.z;
6622  }
6623 
6627  __declspec( property( get=get_ywz, put=set_ywz) ) int_3 ywz;
6631  __declspec( property( get=get_ywz, put=set_ywz) ) int_3 gab;
6632 
6639  int_3 get_ywz() const __GPU {
6640  return int_3(_M_y,_M_w,_M_z);
6641  }
6642 
6649  void set_ywz(const int_3& _Value) __GPU
6650  {
6651  int_3 _Val = _Value;
6652  _M_y = _Val.x;
6653  _M_w = _Val.y;
6654  _M_z = _Val.z;
6655  }
6656 
6660  __declspec( property( get=get_zxy, put=set_zxy) ) int_3 zxy;
6664  __declspec( property( get=get_zxy, put=set_zxy) ) int_3 brg;
6665 
6672  int_3 get_zxy() const __GPU {
6673  return int_3(_M_z,_M_x,_M_y);
6674  }
6675 
6682  void set_zxy(const int_3& _Value) __GPU
6683  {
6684  int_3 _Val = _Value;
6685  _M_z = _Val.x;
6686  _M_x = _Val.y;
6687  _M_y = _Val.z;
6688  }
6689 
6693  __declspec( property( get=get_zxw, put=set_zxw) ) int_3 zxw;
6697  __declspec( property( get=get_zxw, put=set_zxw) ) int_3 bra;
6698 
6705  int_3 get_zxw() const __GPU {
6706  return int_3(_M_z,_M_x,_M_w);
6707  }
6708 
6715  void set_zxw(const int_3& _Value) __GPU
6716  {
6717  int_3 _Val = _Value;
6718  _M_z = _Val.x;
6719  _M_x = _Val.y;
6720  _M_w = _Val.z;
6721  }
6722 
6726  __declspec( property( get=get_zyx, put=set_zyx) ) int_3 zyx;
6730  __declspec( property( get=get_zyx, put=set_zyx) ) int_3 bgr;
6731 
6738  int_3 get_zyx() const __GPU {
6739  return int_3(_M_z,_M_y,_M_x);
6740  }
6741 
6748  void set_zyx(const int_3& _Value) __GPU
6749  {
6750  int_3 _Val = _Value;
6751  _M_z = _Val.x;
6752  _M_y = _Val.y;
6753  _M_x = _Val.z;
6754  }
6755 
6759  __declspec( property( get=get_zyw, put=set_zyw) ) int_3 zyw;
6763  __declspec( property( get=get_zyw, put=set_zyw) ) int_3 bga;
6764 
6771  int_3 get_zyw() const __GPU {
6772  return int_3(_M_z,_M_y,_M_w);
6773  }
6774 
6781  void set_zyw(const int_3& _Value) __GPU
6782  {
6783  int_3 _Val = _Value;
6784  _M_z = _Val.x;
6785  _M_y = _Val.y;
6786  _M_w = _Val.z;
6787  }
6788 
6792  __declspec( property( get=get_zwx, put=set_zwx) ) int_3 zwx;
6796  __declspec( property( get=get_zwx, put=set_zwx) ) int_3 bar;
6797 
6804  int_3 get_zwx() const __GPU {
6805  return int_3(_M_z,_M_w,_M_x);
6806  }
6807 
6814  void set_zwx(const int_3& _Value) __GPU
6815  {
6816  int_3 _Val = _Value;
6817  _M_z = _Val.x;
6818  _M_w = _Val.y;
6819  _M_x = _Val.z;
6820  }
6821 
6825  __declspec( property( get=get_zwy, put=set_zwy) ) int_3 zwy;
6829  __declspec( property( get=get_zwy, put=set_zwy) ) int_3 bag;
6830 
6837  int_3 get_zwy() const __GPU {
6838  return int_3(_M_z,_M_w,_M_y);
6839  }
6840 
6847  void set_zwy(const int_3& _Value) __GPU
6848  {
6849  int_3 _Val = _Value;
6850  _M_z = _Val.x;
6851  _M_w = _Val.y;
6852  _M_y = _Val.z;
6853  }
6854 
6858  __declspec( property( get=get_wxy, put=set_wxy) ) int_3 wxy;
6862  __declspec( property( get=get_wxy, put=set_wxy) ) int_3 arg;
6863 
6870  int_3 get_wxy() const __GPU {
6871  return int_3(_M_w,_M_x,_M_y);
6872  }
6873 
6880  void set_wxy(const int_3& _Value) __GPU
6881  {
6882  int_3 _Val = _Value;
6883  _M_w = _Val.x;
6884  _M_x = _Val.y;
6885  _M_y = _Val.z;
6886  }
6887 
6891  __declspec( property( get=get_wxz, put=set_wxz) ) int_3 wxz;
6895  __declspec( property( get=get_wxz, put=set_wxz) ) int_3 arb;
6896 
6903  int_3 get_wxz() const __GPU {
6904  return int_3(_M_w,_M_x,_M_z);
6905  }
6906 
6913  void set_wxz(const int_3& _Value) __GPU
6914  {
6915  int_3 _Val = _Value;
6916  _M_w = _Val.x;
6917  _M_x = _Val.y;
6918  _M_z = _Val.z;
6919  }
6920 
6924  __declspec( property( get=get_wyx, put=set_wyx) ) int_3 wyx;
6928  __declspec( property( get=get_wyx, put=set_wyx) ) int_3 agr;
6929 
6936  int_3 get_wyx() const __GPU {
6937  return int_3(_M_w,_M_y,_M_x);
6938  }
6939 
6946  void set_wyx(const int_3& _Value) __GPU
6947  {
6948  int_3 _Val = _Value;
6949  _M_w = _Val.x;
6950  _M_y = _Val.y;
6951  _M_x = _Val.z;
6952  }
6953 
6957  __declspec( property( get=get_wyz, put=set_wyz) ) int_3 wyz;
6961  __declspec( property( get=get_wyz, put=set_wyz) ) int_3 agb;
6962 
6969  int_3 get_wyz() const __GPU {
6970  return int_3(_M_w,_M_y,_M_z);
6971  }
6972 
6979  void set_wyz(const int_3& _Value) __GPU
6980  {
6981  int_3 _Val = _Value;
6982  _M_w = _Val.x;
6983  _M_y = _Val.y;
6984  _M_z = _Val.z;
6985  }
6986 
6990  __declspec( property( get=get_wzx, put=set_wzx) ) int_3 wzx;
6994  __declspec( property( get=get_wzx, put=set_wzx) ) int_3 abr;
6995 
7002  int_3 get_wzx() const __GPU {
7003  return int_3(_M_w,_M_z,_M_x);
7004  }
7005 
7012  void set_wzx(const int_3& _Value) __GPU
7013  {
7014  int_3 _Val = _Value;
7015  _M_w = _Val.x;
7016  _M_z = _Val.y;
7017  _M_x = _Val.z;
7018  }
7019 
7023  __declspec( property( get=get_wzy, put=set_wzy) ) int_3 wzy;
7027  __declspec( property( get=get_wzy, put=set_wzy) ) int_3 abg;
7028 
7035  int_3 get_wzy() const __GPU {
7036  return int_3(_M_w,_M_z,_M_y);
7037  }
7038 
7045  void set_wzy(const int_3& _Value) __GPU
7046  {
7047  int_3 _Val = _Value;
7048  _M_w = _Val.x;
7049  _M_z = _Val.y;
7050  _M_y = _Val.z;
7051  }
7052 
7056  __declspec( property( get=get_xyzw, put=set_xyzw) ) int_4 xyzw;
7060  __declspec( property( get=get_xyzw, put=set_xyzw) ) int_4 rgba;
7061 
7068  int_4 get_xyzw() const __GPU {
7069  return int_4(_M_x,_M_y,_M_z,_M_w);
7070  }
7071 
7079  {
7080  int_4 _Val = _Value;
7081  _M_x = _Val.x;
7082  _M_y = _Val.y;
7083  _M_z = _Val.z;
7084  _M_w = _Val.w;
7085  }
7086 
7090  __declspec( property( get=get_xywz, put=set_xywz) ) int_4 xywz;
7094  __declspec( property( get=get_xywz, put=set_xywz) ) int_4 rgab;
7095 
7102  int_4 get_xywz() const __GPU {
7103  return int_4(_M_x,_M_y,_M_w,_M_z);
7104  }
7105 
7113  {
7114  int_4 _Val = _Value;
7115  _M_x = _Val.x;
7116  _M_y = _Val.y;
7117  _M_w = _Val.z;
7118  _M_z = _Val.w;
7119  }
7120 
7124  __declspec( property( get=get_xzyw, put=set_xzyw) ) int_4 xzyw;
7128  __declspec( property( get=get_xzyw, put=set_xzyw) ) int_4 rbga;
7129 
7136  int_4 get_xzyw() const __GPU {
7137  return int_4(_M_x,_M_z,_M_y,_M_w);
7138  }
7139 
7147  {
7148  int_4 _Val = _Value;
7149  _M_x = _Val.x;
7150  _M_z = _Val.y;
7151  _M_y = _Val.z;
7152  _M_w = _Val.w;
7153  }
7154 
7158  __declspec( property( get=get_xzwy, put=set_xzwy) ) int_4 xzwy;
7162  __declspec( property( get=get_xzwy, put=set_xzwy) ) int_4 rbag;
7163 
7170  int_4 get_xzwy() const __GPU {
7171  return int_4(_M_x,_M_z,_M_w,_M_y);
7172  }
7173 
7181  {
7182  int_4 _Val = _Value;
7183  _M_x = _Val.x;
7184  _M_z = _Val.y;
7185  _M_w = _Val.z;
7186  _M_y = _Val.w;
7187  }
7188 
7192  __declspec( property( get=get_xwyz, put=set_xwyz) ) int_4 xwyz;
7196  __declspec( property( get=get_xwyz, put=set_xwyz) ) int_4 ragb;
7197 
7204  int_4 get_xwyz() const __GPU {
7205  return int_4(_M_x,_M_w,_M_y,_M_z);
7206  }
7207 
7215  {
7216  int_4 _Val = _Value;
7217  _M_x = _Val.x;
7218  _M_w = _Val.y;
7219  _M_y = _Val.z;
7220  _M_z = _Val.w;
7221  }
7222 
7226  __declspec( property( get=get_xwzy, put=set_xwzy) ) int_4 xwzy;
7230  __declspec( property( get=get_xwzy, put=set_xwzy) ) int_4 rabg;
7231 
7238  int_4 get_xwzy() const __GPU {
7239  return int_4(_M_x,_M_w,_M_z,_M_y);
7240  }
7241 
7249  {
7250  int_4 _Val = _Value;
7251  _M_x = _Val.x;
7252  _M_w = _Val.y;
7253  _M_z = _Val.z;
7254  _M_y = _Val.w;
7255  }
7256 
7260  __declspec( property( get=get_yxzw, put=set_yxzw) ) int_4 yxzw;
7264  __declspec( property( get=get_yxzw, put=set_yxzw) ) int_4 grba;
7265 
7272  int_4 get_yxzw() const __GPU {
7273  return int_4(_M_y,_M_x,_M_z,_M_w);
7274  }
7275 
7283  {
7284  int_4 _Val = _Value;
7285  _M_y = _Val.x;
7286  _M_x = _Val.y;
7287  _M_z = _Val.z;
7288  _M_w = _Val.w;
7289  }
7290 
7294  __declspec( property( get=get_yxwz, put=set_yxwz) ) int_4 yxwz;
7298  __declspec( property( get=get_yxwz, put=set_yxwz) ) int_4 grab;
7299 
7306  int_4 get_yxwz() const __GPU {
7307  return int_4(_M_y,_M_x,_M_w,_M_z);
7308  }
7309 
7317  {
7318  int_4 _Val = _Value;
7319  _M_y = _Val.x;
7320  _M_x = _Val.y;
7321  _M_w = _Val.z;
7322  _M_z = _Val.w;
7323  }
7324 
7328  __declspec( property( get=get_yzxw, put=set_yzxw) ) int_4 yzxw;
7332  __declspec( property( get=get_yzxw, put=set_yzxw) ) int_4 gbra;
7333 
7340  int_4 get_yzxw() const __GPU {
7341  return int_4(_M_y,_M_z,_M_x,_M_w);
7342  }
7343 
7351  {
7352  int_4 _Val = _Value;
7353  _M_y = _Val.x;
7354  _M_z = _Val.y;
7355  _M_x = _Val.z;
7356  _M_w = _Val.w;
7357  }
7358 
7362  __declspec( property( get=get_yzwx, put=set_yzwx) ) int_4 yzwx;
7366  __declspec( property( get=get_yzwx, put=set_yzwx) ) int_4 gbar;
7367 
7374  int_4 get_yzwx() const __GPU {
7375  return int_4(_M_y,_M_z,_M_w,_M_x);
7376  }
7377 
7385  {
7386  int_4 _Val = _Value;
7387  _M_y = _Val.x;
7388  _M_z = _Val.y;
7389  _M_w = _Val.z;
7390  _M_x = _Val.w;
7391  }
7392 
7396  __declspec( property( get=get_ywxz, put=set_ywxz) ) int_4 ywxz;
7400  __declspec( property( get=get_ywxz, put=set_ywxz) ) int_4 garb;
7401 
7408  int_4 get_ywxz() const __GPU {
7409  return int_4(_M_y,_M_w,_M_x,_M_z);
7410  }
7411 
7419  {
7420  int_4 _Val = _Value;
7421  _M_y = _Val.x;
7422  _M_w = _Val.y;
7423  _M_x = _Val.z;
7424  _M_z = _Val.w;
7425  }
7426 
7430  __declspec( property( get=get_ywzx, put=set_ywzx) ) int_4 ywzx;
7434  __declspec( property( get=get_ywzx, put=set_ywzx) ) int_4 gabr;
7435 
7442  int_4 get_ywzx() const __GPU {
7443  return int_4(_M_y,_M_w,_M_z,_M_x);
7444  }
7445 
7453  {
7454  int_4 _Val = _Value;
7455  _M_y = _Val.x;
7456  _M_w = _Val.y;
7457  _M_z = _Val.z;
7458  _M_x = _Val.w;
7459  }
7460 
7464  __declspec( property( get=get_zxyw, put=set_zxyw) ) int_4 zxyw;
7468  __declspec( property( get=get_zxyw, put=set_zxyw) ) int_4 brga;
7469 
7476  int_4 get_zxyw() const __GPU {
7477  return int_4(_M_z,_M_x,_M_y,_M_w);
7478  }
7479 
7487  {
7488  int_4 _Val = _Value;
7489  _M_z = _Val.x;
7490  _M_x = _Val.y;
7491  _M_y = _Val.z;
7492  _M_w = _Val.w;
7493  }
7494 
7498  __declspec( property( get=get_zxwy, put=set_zxwy) ) int_4 zxwy;
7502  __declspec( property( get=get_zxwy, put=set_zxwy) ) int_4 brag;
7503 
7510  int_4 get_zxwy() const __GPU {
7511  return int_4(_M_z,_M_x,_M_w,_M_y);
7512  }
7513 
7521  {
7522  int_4 _Val = _Value;
7523  _M_z = _Val.x;
7524  _M_x = _Val.y;
7525  _M_w = _Val.z;
7526  _M_y = _Val.w;
7527  }
7528 
7532  __declspec( property( get=get_zyxw, put=set_zyxw) ) int_4 zyxw;
7536  __declspec( property( get=get_zyxw, put=set_zyxw) ) int_4 bgra;
7537 
7544  int_4 get_zyxw() const __GPU {
7545  return int_4(_M_z,_M_y,_M_x,_M_w);
7546  }
7547 
7555  {
7556  int_4 _Val = _Value;
7557  _M_z = _Val.x;
7558  _M_y = _Val.y;
7559  _M_x = _Val.z;
7560  _M_w = _Val.w;
7561  }
7562 
7566  __declspec( property( get=get_zywx, put=set_zywx) ) int_4 zywx;
7570  __declspec( property( get=get_zywx, put=set_zywx) ) int_4 bgar;
7571 
7578  int_4 get_zywx() const __GPU {
7579  return int_4(_M_z,_M_y,_M_w,_M_x);
7580  }
7581 
7589  {
7590  int_4 _Val = _Value;
7591  _M_z = _Val.x;
7592  _M_y = _Val.y;
7593  _M_w = _Val.z;
7594  _M_x = _Val.w;
7595  }
7596 
7600  __declspec( property( get=get_zwxy, put=set_zwxy) ) int_4 zwxy;
7604  __declspec( property( get=get_zwxy, put=set_zwxy) ) int_4 barg;
7605 
7612  int_4 get_zwxy() const __GPU {
7613  return int_4(_M_z,_M_w,_M_x,_M_y);
7614  }
7615 
7623  {
7624  int_4 _Val = _Value;
7625  _M_z = _Val.x;
7626  _M_w = _Val.y;
7627  _M_x = _Val.z;
7628  _M_y = _Val.w;
7629  }
7630 
7634  __declspec( property( get=get_zwyx, put=set_zwyx) ) int_4 zwyx;
7638  __declspec( property( get=get_zwyx, put=set_zwyx) ) int_4 bagr;
7639 
7646  int_4 get_zwyx() const __GPU {
7647  return int_4(_M_z,_M_w,_M_y,_M_x);
7648  }
7649 
7657  {
7658  int_4 _Val = _Value;
7659  _M_z = _Val.x;
7660  _M_w = _Val.y;
7661  _M_y = _Val.z;
7662  _M_x = _Val.w;
7663  }
7664 
7668  __declspec( property( get=get_wxyz, put=set_wxyz) ) int_4 wxyz;
7672  __declspec( property( get=get_wxyz, put=set_wxyz) ) int_4 argb;
7673 
7680  int_4 get_wxyz() const __GPU {
7681  return int_4(_M_w,_M_x,_M_y,_M_z);
7682  }
7683 
7691  {
7692  int_4 _Val = _Value;
7693  _M_w = _Val.x;
7694  _M_x = _Val.y;
7695  _M_y = _Val.z;
7696  _M_z = _Val.w;
7697  }
7698 
7702  __declspec( property( get=get_wxzy, put=set_wxzy) ) int_4 wxzy;
7706  __declspec( property( get=get_wxzy, put=set_wxzy) ) int_4 arbg;
7707 
7714  int_4 get_wxzy() const __GPU {
7715  return int_4(_M_w,_M_x,_M_z,_M_y);
7716  }
7717 
7725  {
7726  int_4 _Val = _Value;
7727  _M_w = _Val.x;
7728  _M_x = _Val.y;
7729  _M_z = _Val.z;
7730  _M_y = _Val.w;
7731  }
7732 
7736  __declspec( property( get=get_wyxz, put=set_wyxz) ) int_4 wyxz;
7740  __declspec( property( get=get_wyxz, put=set_wyxz) ) int_4 agrb;
7741 
7748  int_4 get_wyxz() const __GPU {
7749  return int_4(_M_w,_M_y,_M_x,_M_z);
7750  }
7751 
7759  {
7760  int_4 _Val = _Value;
7761  _M_w = _Val.x;
7762  _M_y = _Val.y;
7763  _M_x = _Val.z;
7764  _M_z = _Val.w;
7765  }
7766 
7770  __declspec( property( get=get_wyzx, put=set_wyzx) ) int_4 wyzx;
7774  __declspec( property( get=get_wyzx, put=set_wyzx) ) int_4 agbr;
7775 
7782  int_4 get_wyzx() const __GPU {
7783  return int_4(_M_w,_M_y,_M_z,_M_x);
7784  }
7785 
7793  {
7794  int_4 _Val = _Value;
7795  _M_w = _Val.x;
7796  _M_y = _Val.y;
7797  _M_z = _Val.z;
7798  _M_x = _Val.w;
7799  }
7800 
7804  __declspec( property( get=get_wzxy, put=set_wzxy) ) int_4 wzxy;
7808  __declspec( property( get=get_wzxy, put=set_wzxy) ) int_4 abrg;
7809 
7816  int_4 get_wzxy() const __GPU {
7817  return int_4(_M_w,_M_z,_M_x,_M_y);
7818  }
7819 
7827  {
7828  int_4 _Val = _Value;
7829  _M_w = _Val.x;
7830  _M_z = _Val.y;
7831  _M_x = _Val.z;
7832  _M_y = _Val.w;
7833  }
7834 
7838  __declspec( property( get=get_wzyx, put=set_wzyx) ) int_4 wzyx;
7842  __declspec( property( get=get_wzyx, put=set_wzyx) ) int_4 abgr;
7843 
7850  int_4 get_wzyx() const __GPU {
7851  return int_4(_M_w,_M_z,_M_y,_M_x);
7852  }
7853 
7861  {
7862  int_4 _Val = _Value;
7863  _M_w = _Val.x;
7864  _M_z = _Val.y;
7865  _M_y = _Val.z;
7866  _M_x = _Val.w;
7867  }
7868 
7869  };
7870 
7874  class float_2
7875  {
7876  public:
7877  typedef float value_type;
7878  static const int size = 2;
7879  private:
7880  static const _Short_vector_base_type_id _Base_type_id = _Float_type;
7881  private:
7882  value_type _M_x;
7883  value_type _M_y;
7884 
7885  public:
7889  __declspec( property( get=get_x, put=set_x) ) float x;
7893  __declspec( property( get=get_x, put=set_x) ) float r;
7894 
7901  float get_x() const __GPU {
7902  return _M_x;
7903  }
7904 
7911  float& ref_x() __GPU {
7912  return _M_x;
7913  }
7914 
7921  float& ref_r() __GPU {
7922  return _M_x;
7923  }
7924 
7931  void set_x(float _Value) __GPU
7932  {
7933  _M_x = _Value;
7934  }
7935 
7939  __declspec( property( get=get_y, put=set_y) ) float y;
7943  __declspec( property( get=get_y, put=set_y) ) float g;
7944 
7951  float get_y() const __GPU {
7952  return _M_y;
7953  }
7954 
7961  float& ref_y() __GPU {
7962  return _M_y;
7963  }
7964 
7971  float& ref_g() __GPU {
7972  return _M_y;
7973  }
7974 
7981  void set_y(float _Value) __GPU
7982  {
7983  _M_y = _Value;
7984  }
7985 
7986  public:
7991  {
7992  _M_x = 0;
7993  _M_y = 0;
7994  }
7995 
8005  float_2(float _V0, float _V1) __GPU
8006  {
8007  _M_x = _V0;
8008  _M_y = _V1;
8009  }
8010 
8017  float_2(float _V) __GPU
8018  {
8019  _M_x = _V;
8020  _M_y = _V;
8021  }
8022 
8030  explicit inline float_2(const uint_2& _Other) __GPU;
8031 
8039  explicit inline float_2(const int_2& _Other) __GPU;
8040 
8048  explicit inline float_2(const unorm_2& _Other) __GPU;
8049 
8057  explicit inline float_2(const norm_2& _Other) __GPU;
8058 
8066  explicit inline float_2(const double_2& _Other) __GPU;
8067 
8069  {
8070  float_2 _Value = *this;
8071  return float_2(-_Value.x, -_Value.y);
8072  }
8073 
8075  {
8076  float_2 _Value = *this;
8077  ++_Value._M_x;
8078  ++_Value._M_y;
8079  *this = _Value;
8080  return *this;
8081  }
8082 
8084  {
8085  float_2 _Result = *this;
8086  ++(*this);
8087  return _Result;
8088  }
8089 
8091  {
8092  float_2 _Value = *this;
8093  --_Value._M_x;
8094  --_Value._M_y;
8095  *this = _Value;
8096  return *this;
8097  }
8098 
8100  {
8101  float_2 _Result = *this;
8102  --(*this);
8103  return _Result;
8104  }
8105 
8107  {
8108  float_2 _Value1 = *this;
8109  float_2 _Value2 = _Other;
8110  _Value1.x += _Value2.x;
8111  _Value1.y += _Value2.y;
8112  *this = _Value1;
8113  return *this;
8114  }
8115 
8117  {
8118  float_2 _Value1 = *this;
8119  float_2 _Value2 = _Other;
8120  _Value1.x -= _Value2.x;
8121  _Value1.y -= _Value2.y;
8122  *this = _Value1;
8123  return *this;
8124  }
8125 
8127  {
8128  float_2 _Value1 = *this;
8129  float_2 _Value2 = _Other;
8130  _Value1.x *= _Value2.x;
8131  _Value1.y *= _Value2.y;
8132  *this = _Value1;
8133  return *this;
8134  }
8135 
8137  {
8138  float_2 _Value1 = *this;
8139  float_2 _Value2 = _Other;
8140  _Value1.x /= _Value2.x;
8141  _Value1.y /= _Value2.y;
8142  *this = _Value1;
8143  return *this;
8144  }
8145 
8146  public:
8150  __declspec( property( get=get_xy, put=set_xy) ) float_2 xy;
8154  __declspec( property( get=get_xy, put=set_xy) ) float_2 rg;
8155 
8162  float_2 get_xy() const __GPU {
8163  return float_2(_M_x,_M_y);
8164  }
8165 
8173  {
8174  float_2 _Val = _Value;
8175  _M_x = _Val.x;
8176  _M_y = _Val.y;
8177  }
8178 
8182  __declspec( property( get=get_yx, put=set_yx) ) float_2 yx;
8186  __declspec( property( get=get_yx, put=set_yx) ) float_2 gr;
8187 
8194  float_2 get_yx() const __GPU {
8195  return float_2(_M_y,_M_x);
8196  }
8197 
8205  {
8206  float_2 _Val = _Value;
8207  _M_y = _Val.x;
8208  _M_x = _Val.y;
8209  }
8210 
8211  };
8212 
8216  class float_3
8217  {
8218  public:
8219  typedef float value_type;
8220  static const int size = 3;
8221  private:
8222  static const _Short_vector_base_type_id _Base_type_id = _Float_type;
8223  private:
8224  value_type _M_x;
8225  value_type _M_y;
8226  value_type _M_z;
8227 
8228  public:
8232  __declspec( property( get=get_x, put=set_x) ) float x;
8236  __declspec( property( get=get_x, put=set_x) ) float r;
8237 
8244  float get_x() const __GPU {
8245  return _M_x;
8246  }
8247 
8254  float& ref_x() __GPU {
8255  return _M_x;
8256  }
8257 
8264  float& ref_r() __GPU {
8265  return _M_x;
8266  }
8267 
8274  void set_x(float _Value) __GPU
8275  {
8276  _M_x = _Value;
8277  }
8278 
8282  __declspec( property( get=get_y, put=set_y) ) float y;
8286  __declspec( property( get=get_y, put=set_y) ) float g;
8287 
8294  float get_y() const __GPU {
8295  return _M_y;
8296  }
8297 
8304  float& ref_y() __GPU {
8305  return _M_y;
8306  }
8307 
8314  float& ref_g() __GPU {
8315  return _M_y;
8316  }
8317 
8324  void set_y(float _Value) __GPU
8325  {
8326  _M_y = _Value;
8327  }
8328 
8332  __declspec( property( get=get_z, put=set_z) ) float z;
8336  __declspec( property( get=get_z, put=set_z) ) float b;
8337 
8344  float get_z() const __GPU {
8345  return _M_z;
8346  }
8347 
8354  float& ref_z() __GPU {
8355  return _M_z;
8356  }
8357 
8364  float& ref_b() __GPU {
8365  return _M_z;
8366  }
8367 
8374  void set_z(float _Value) __GPU
8375  {
8376  _M_z = _Value;
8377  }
8378 
8379  public:
8384  {
8385  _M_x = 0;
8386  _M_y = 0;
8387  _M_z = 0;
8388  }
8389 
8402  float_3(float _V0, float _V1, float _V2) __GPU
8403  {
8404  _M_x = _V0;
8405  _M_y = _V1;
8406  _M_z = _V2;
8407  }
8408 
8415  float_3(float _V) __GPU
8416  {
8417  _M_x = _V;
8418  _M_y = _V;
8419  _M_z = _V;
8420  }
8421 
8429  explicit inline float_3(const uint_3& _Other) __GPU;
8430 
8438  explicit inline float_3(const int_3& _Other) __GPU;
8439 
8447  explicit inline float_3(const unorm_3& _Other) __GPU;
8448 
8456  explicit inline float_3(const norm_3& _Other) __GPU;
8457 
8465  explicit inline float_3(const double_3& _Other) __GPU;
8466 
8468  {
8469  float_3 _Value = *this;
8470  return float_3(-_Value.x, -_Value.y, -_Value.z);
8471  }
8472 
8474  {
8475  float_3 _Value = *this;
8476  ++_Value._M_x;
8477  ++_Value._M_y;
8478  ++_Value._M_z;
8479  *this = _Value;
8480  return *this;
8481  }
8482 
8484  {
8485  float_3 _Result = *this;
8486  ++(*this);
8487  return _Result;
8488  }
8489 
8491  {
8492  float_3 _Value = *this;
8493  --_Value._M_x;
8494  --_Value._M_y;
8495  --_Value._M_z;
8496  *this = _Value;
8497  return *this;
8498  }
8499 
8501  {
8502  float_3 _Result = *this;
8503  --(*this);
8504  return _Result;
8505  }
8506 
8508  {
8509  float_3 _Value1 = *this;
8510  float_3 _Value2 = _Other;
8511  _Value1.x += _Value2.x;
8512  _Value1.y += _Value2.y;
8513  _Value1.z += _Value2.z;
8514  *this = _Value1;
8515  return *this;
8516  }
8517 
8519  {
8520  float_3 _Value1 = *this;
8521  float_3 _Value2 = _Other;
8522  _Value1.x -= _Value2.x;
8523  _Value1.y -= _Value2.y;
8524  _Value1.z -= _Value2.z;
8525  *this = _Value1;
8526  return *this;
8527  }
8528 
8530  {
8531  float_3 _Value1 = *this;
8532  float_3 _Value2 = _Other;
8533  _Value1.x *= _Value2.x;
8534  _Value1.y *= _Value2.y;
8535  _Value1.z *= _Value2.z;
8536  *this = _Value1;
8537  return *this;
8538  }
8539 
8541  {
8542  float_3 _Value1 = *this;
8543  float_3 _Value2 = _Other;
8544  _Value1.x /= _Value2.x;
8545  _Value1.y /= _Value2.y;
8546  _Value1.z /= _Value2.z;
8547  *this = _Value1;
8548  return *this;
8549  }
8550 
8551  public:
8555  __declspec( property( get=get_xy, put=set_xy) ) float_2 xy;
8559  __declspec( property( get=get_xy, put=set_xy) ) float_2 rg;
8560 
8567  float_2 get_xy() const __GPU {
8568  return float_2(_M_x,_M_y);
8569  }
8570 
8578  {
8579  float_2 _Val = _Value;
8580  _M_x = _Val.x;
8581  _M_y = _Val.y;
8582  }
8583 
8587  __declspec( property( get=get_xz, put=set_xz) ) float_2 xz;
8591  __declspec( property( get=get_xz, put=set_xz) ) float_2 rb;
8592 
8599  float_2 get_xz() const __GPU {
8600  return float_2(_M_x,_M_z);
8601  }
8602 
8610  {
8611  float_2 _Val = _Value;
8612  _M_x = _Val.x;
8613  _M_z = _Val.y;
8614  }
8615 
8619  __declspec( property( get=get_yx, put=set_yx) ) float_2 yx;
8623  __declspec( property( get=get_yx, put=set_yx) ) float_2 gr;
8624 
8631  float_2 get_yx() const __GPU {
8632  return float_2(_M_y,_M_x);
8633  }
8634 
8642  {
8643  float_2 _Val = _Value;
8644  _M_y = _Val.x;
8645  _M_x = _Val.y;
8646  }
8647 
8651  __declspec( property( get=get_yz, put=set_yz) ) float_2 yz;
8655  __declspec( property( get=get_yz, put=set_yz) ) float_2 gb;
8656 
8663  float_2 get_yz() const __GPU {
8664  return float_2(_M_y,_M_z);
8665  }
8666 
8674  {
8675  float_2 _Val = _Value;
8676  _M_y = _Val.x;
8677  _M_z = _Val.y;
8678  }
8679 
8683  __declspec( property( get=get_zx, put=set_zx) ) float_2 zx;
8687  __declspec( property( get=get_zx, put=set_zx) ) float_2 br;
8688 
8695  float_2 get_zx() const __GPU {
8696  return float_2(_M_z,_M_x);
8697  }
8698 
8706  {
8707  float_2 _Val = _Value;
8708  _M_z = _Val.x;
8709  _M_x = _Val.y;
8710  }
8711 
8715  __declspec( property( get=get_zy, put=set_zy) ) float_2 zy;
8719  __declspec( property( get=get_zy, put=set_zy) ) float_2 bg;
8720 
8727  float_2 get_zy() const __GPU {
8728  return float_2(_M_z,_M_y);
8729  }
8730 
8738  {
8739  float_2 _Val = _Value;
8740  _M_z = _Val.x;
8741  _M_y = _Val.y;
8742  }
8743 
8747  __declspec( property( get=get_xyz, put=set_xyz) ) float_3 xyz;
8751  __declspec( property( get=get_xyz, put=set_xyz) ) float_3 rgb;
8752 
8759  float_3 get_xyz() const __GPU {
8760  return float_3(_M_x,_M_y,_M_z);
8761  }
8762 
8770  {
8771  float_3 _Val = _Value;
8772  _M_x = _Val.x;
8773  _M_y = _Val.y;
8774  _M_z = _Val.z;
8775  }
8776 
8780  __declspec( property( get=get_xzy, put=set_xzy) ) float_3 xzy;
8784  __declspec( property( get=get_xzy, put=set_xzy) ) float_3 rbg;
8785 
8792  float_3 get_xzy() const __GPU {
8793  return float_3(_M_x,_M_z,_M_y);
8794  }
8795 
8803  {
8804  float_3 _Val = _Value;
8805  _M_x = _Val.x;
8806  _M_z = _Val.y;
8807  _M_y = _Val.z;
8808  }
8809 
8813  __declspec( property( get=get_yxz, put=set_yxz) ) float_3 yxz;
8817  __declspec( property( get=get_yxz, put=set_yxz) ) float_3 grb;
8818 
8825  float_3 get_yxz() const __GPU {
8826  return float_3(_M_y,_M_x,_M_z);
8827  }
8828 
8836  {
8837  float_3 _Val = _Value;
8838  _M_y = _Val.x;
8839  _M_x = _Val.y;
8840  _M_z = _Val.z;
8841  }
8842 
8846  __declspec( property( get=get_yzx, put=set_yzx) ) float_3 yzx;
8850  __declspec( property( get=get_yzx, put=set_yzx) ) float_3 gbr;
8851 
8858  float_3 get_yzx() const __GPU {
8859  return float_3(_M_y,_M_z,_M_x);
8860  }
8861 
8869  {
8870  float_3 _Val = _Value;
8871  _M_y = _Val.x;
8872  _M_z = _Val.y;
8873  _M_x = _Val.z;
8874  }
8875 
8879  __declspec( property( get=get_zxy, put=set_zxy) ) float_3 zxy;
8883  __declspec( property( get=get_zxy, put=set_zxy) ) float_3 brg;
8884 
8891  float_3 get_zxy() const __GPU {
8892  return float_3(_M_z,_M_x,_M_y);
8893  }
8894 
8902  {
8903  float_3 _Val = _Value;
8904  _M_z = _Val.x;
8905  _M_x = _Val.y;
8906  _M_y = _Val.z;
8907  }
8908 
8912  __declspec( property( get=get_zyx, put=set_zyx) ) float_3 zyx;
8916  __declspec( property( get=get_zyx, put=set_zyx) ) float_3 bgr;
8917 
8924  float_3 get_zyx() const __GPU {
8925  return float_3(_M_z,_M_y,_M_x);
8926  }
8927 
8935  {
8936  float_3 _Val = _Value;
8937  _M_z = _Val.x;
8938  _M_y = _Val.y;
8939  _M_x = _Val.z;
8940  }
8941 
8942  };
8943 
8947  class float_4
8948  {
8949  public:
8950  typedef float value_type;
8951  static const int size = 4;
8952  private:
8953  static const _Short_vector_base_type_id _Base_type_id = _Float_type;
8954  private:
8955  value_type _M_x;
8956  value_type _M_y;
8957  value_type _M_z;
8958  value_type _M_w;
8959 
8960  public:
8964  __declspec( property( get=get_x, put=set_x) ) float x;
8968  __declspec( property( get=get_x, put=set_x) ) float r;
8969 
8976  float get_x() const __GPU {
8977  return _M_x;
8978  }
8979 
8986  float& ref_x() __GPU {
8987  return _M_x;
8988  }
8989 
8996  float& ref_r() __GPU {
8997  return _M_x;
8998  }
8999 
9006  void set_x(float _Value) __GPU
9007  {
9008  _M_x = _Value;
9009  }
9010 
9014  __declspec( property( get=get_y, put=set_y) ) float y;
9018  __declspec( property( get=get_y, put=set_y) ) float g;
9019 
9026  float get_y() const __GPU {
9027  return _M_y;
9028  }
9029 
9036  float& ref_y() __GPU {
9037  return _M_y;
9038  }
9039 
9046  float& ref_g() __GPU {
9047  return _M_y;
9048  }
9049 
9056  void set_y(float _Value) __GPU
9057  {
9058  _M_y = _Value;
9059  }
9060 
9064  __declspec( property( get=get_z, put=set_z) ) float z;
9068  __declspec( property( get=get_z, put=set_z) ) float b;
9069 
9076  float get_z() const __GPU {
9077  return _M_z;
9078  }
9079 
9086  float& ref_z() __GPU {
9087  return _M_z;
9088  }
9089 
9096  float& ref_b() __GPU {
9097  return _M_z;
9098  }
9099 
9106  void set_z(float _Value) __GPU
9107  {
9108  _M_z = _Value;
9109  }
9110 
9114  __declspec( property( get=get_w, put=set_w) ) float w;
9118  __declspec( property( get=get_w, put=set_w) ) float a;
9119 
9126  float get_w() const __GPU {
9127  return _M_w;
9128  }
9129 
9136  float& ref_w() __GPU {
9137  return _M_w;
9138  }
9139 
9146  float& ref_a() __GPU {
9147  return _M_w;
9148  }
9149 
9156  void set_w(float _Value) __GPU
9157  {
9158  _M_w = _Value;
9159  }
9160 
9161  public:
9166  {
9167  _M_x = 0;
9168  _M_y = 0;
9169  _M_z = 0;
9170  _M_w = 0;
9171  }
9172 
9188  float_4(float _V0, float _V1, float _V2, float _V3) __GPU
9189  {
9190  _M_x = _V0;
9191  _M_y = _V1;
9192  _M_z = _V2;
9193  _M_w = _V3;
9194  }
9195 
9202  float_4(float _V) __GPU
9203  {
9204  _M_x = _V;
9205  _M_y = _V;
9206  _M_z = _V;
9207  _M_w = _V;
9208  }
9209 
9217  explicit inline float_4(const uint_4& _Other) __GPU;
9218 
9226  explicit inline float_4(const int_4& _Other) __GPU;
9227 
9235  explicit inline float_4(const unorm_4& _Other) __GPU;
9236 
9244  explicit inline float_4(const norm_4& _Other) __GPU;
9245 
9253  explicit inline float_4(const double_4& _Other) __GPU;
9254 
9256  {
9257  float_4 _Value = *this;
9258  return float_4(-_Value.x, -_Value.y, -_Value.z, -_Value.w);
9259  }
9260 
9262  {
9263  float_4 _Value = *this;
9264  ++_Value._M_x;
9265  ++_Value._M_y;
9266  ++_Value._M_z;
9267  ++_Value._M_w;
9268  *this = _Value;
9269  return *this;
9270  }
9271 
9273  {
9274  float_4 _Result = *this;
9275  ++(*this);
9276  return _Result;
9277  }
9278 
9280  {
9281  float_4 _Value = *this;
9282  --_Value._M_x;
9283  --_Value._M_y;
9284  --_Value._M_z;
9285  --_Value._M_w;
9286  *this = _Value;
9287  return *this;
9288  }
9289 
9291  {
9292  float_4 _Result = *this;
9293  --(*this);
9294  return _Result;
9295  }
9296 
9298  {
9299  float_4 _Value1 = *this;
9300  float_4 _Value2 = _Other;
9301  _Value1.x += _Value2.x;
9302  _Value1.y += _Value2.y;
9303  _Value1.z += _Value2.z;
9304  _Value1.w += _Value2.w;
9305  *this = _Value1;
9306  return *this;
9307  }
9308 
9310  {
9311  float_4 _Value1 = *this;
9312  float_4 _Value2 = _Other;
9313  _Value1.x -= _Value2.x;
9314  _Value1.y -= _Value2.y;
9315  _Value1.z -= _Value2.z;
9316  _Value1.w -= _Value2.w;
9317  *this = _Value1;
9318  return *this;
9319  }
9320 
9322  {
9323  float_4 _Value1 = *this;
9324  float_4 _Value2 = _Other;
9325  _Value1.x *= _Value2.x;
9326  _Value1.y *= _Value2.y;
9327  _Value1.z *= _Value2.z;
9328  _Value1.w *= _Value2.w;
9329  *this = _Value1;
9330  return *this;
9331  }
9332 
9334  {
9335  float_4 _Value1 = *this;
9336  float_4 _Value2 = _Other;
9337  _Value1.x /= _Value2.x;
9338  _Value1.y /= _Value2.y;
9339  _Value1.z /= _Value2.z;
9340  _Value1.w /= _Value2.w;
9341  *this = _Value1;
9342  return *this;
9343  }
9344 
9345  public:
9349  __declspec( property( get=get_xy, put=set_xy) ) float_2 xy;
9353  __declspec( property( get=get_xy, put=set_xy) ) float_2 rg;
9354 
9361  float_2 get_xy() const __GPU {
9362  return float_2(_M_x,_M_y);
9363  }
9364 
9372  {
9373  float_2 _Val = _Value;
9374  _M_x = _Val.x;
9375  _M_y = _Val.y;
9376  }
9377 
9381  __declspec( property( get=get_xz, put=set_xz) ) float_2 xz;
9385  __declspec( property( get=get_xz, put=set_xz) ) float_2 rb;
9386 
9393  float_2 get_xz() const __GPU {
9394  return float_2(_M_x,_M_z);
9395  }
9396 
9404  {
9405  float_2 _Val = _Value;
9406  _M_x = _Val.x;
9407  _M_z = _Val.y;
9408  }
9409 
9413  __declspec( property( get=get_xw, put=set_xw) ) float_2 xw;
9417  __declspec( property( get=get_xw, put=set_xw) ) float_2 ra;
9418 
9425  float_2 get_xw() const __GPU {
9426  return float_2(_M_x,_M_w);
9427  }
9428 
9436  {
9437  float_2 _Val = _Value;
9438  _M_x = _Val.x;
9439  _M_w = _Val.y;
9440  }
9441 
9445  __declspec( property( get=get_yx, put=set_yx) ) float_2 yx;
9449  __declspec( property( get=get_yx, put=set_yx) ) float_2 gr;
9450 
9457  float_2 get_yx() const __GPU {
9458  return float_2(_M_y,_M_x);
9459  }
9460 
9468  {
9469  float_2 _Val = _Value;
9470  _M_y = _Val.x;
9471  _M_x = _Val.y;
9472  }
9473 
9477  __declspec( property( get=get_yz, put=set_yz) ) float_2 yz;
9481  __declspec( property( get=get_yz, put=set_yz) ) float_2 gb;
9482 
9489  float_2 get_yz() const __GPU {
9490  return float_2(_M_y,_M_z);
9491  }
9492 
9500  {
9501  float_2 _Val = _Value;
9502  _M_y = _Val.x;
9503  _M_z = _Val.y;
9504  }
9505 
9509  __declspec( property( get=get_yw, put=set_yw) ) float_2 yw;
9513  __declspec( property( get=get_yw, put=set_yw) ) float_2 ga;
9514 
9521  float_2 get_yw() const __GPU {
9522  return float_2(_M_y,_M_w);
9523  }
9524 
9532  {
9533  float_2 _Val = _Value;
9534  _M_y = _Val.x;
9535  _M_w = _Val.y;
9536  }
9537 
9541  __declspec( property( get=get_zx, put=set_zx) ) float_2 zx;
9545  __declspec( property( get=get_zx, put=set_zx) ) float_2 br;
9546 
9553  float_2 get_zx() const __GPU {
9554  return float_2(_M_z,_M_x);
9555  }
9556 
9564  {
9565  float_2 _Val = _Value;
9566  _M_z = _Val.x;
9567  _M_x = _Val.y;
9568  }
9569 
9573  __declspec( property( get=get_zy, put=set_zy) ) float_2 zy;
9577  __declspec( property( get=get_zy, put=set_zy) ) float_2 bg;
9578 
9585  float_2 get_zy() const __GPU {
9586  return float_2(_M_z,_M_y);
9587  }
9588 
9596  {
9597  float_2 _Val = _Value;
9598  _M_z = _Val.x;
9599  _M_y = _Val.y;
9600  }
9601 
9605  __declspec( property( get=get_zw, put=set_zw) ) float_2 zw;
9609  __declspec( property( get=get_zw, put=set_zw) ) float_2 ba;
9610 
9617  float_2 get_zw() const __GPU {
9618  return float_2(_M_z,_M_w);
9619  }
9620 
9628  {
9629  float_2 _Val = _Value;
9630  _M_z = _Val.x;
9631  _M_w = _Val.y;
9632  }
9633 
9637  __declspec( property( get=get_wx, put=set_wx) ) float_2 wx;
9641  __declspec( property( get=get_wx, put=set_wx) ) float_2 ar;
9642 
9649  float_2 get_wx() const __GPU {
9650  return float_2(_M_w,_M_x);
9651  }
9652 
9660  {
9661  float_2 _Val = _Value;
9662  _M_w = _Val.x;
9663  _M_x = _Val.y;
9664  }
9665 
9669  __declspec( property( get=get_wy, put=set_wy) ) float_2 wy;
9673  __declspec( property( get=get_wy, put=set_wy) ) float_2 ag;
9674 
9681  float_2 get_wy() const __GPU {
9682  return float_2(_M_w,_M_y);
9683  }
9684 
9692  {
9693  float_2 _Val = _Value;
9694  _M_w = _Val.x;
9695  _M_y = _Val.y;
9696  }
9697 
9701  __declspec( property( get=get_wz, put=set_wz) ) float_2 wz;
9705  __declspec( property( get=get_wz, put=set_wz) ) float_2 ab;
9706 
9713  float_2 get_wz() const __GPU {
9714  return float_2(_M_w,_M_z);
9715  }
9716 
9724  {
9725  float_2 _Val = _Value;
9726  _M_w = _Val.x;
9727  _M_z = _Val.y;
9728  }
9729 
9733  __declspec( property( get=get_xyz, put=set_xyz) ) float_3 xyz;
9737  __declspec( property( get=get_xyz, put=set_xyz) ) float_3 rgb;
9738 
9745  float_3 get_xyz() const __GPU {
9746  return float_3(_M_x,_M_y,_M_z);
9747  }
9748 
9756  {
9757  float_3 _Val = _Value;
9758  _M_x = _Val.x;
9759  _M_y = _Val.y;
9760  _M_z = _Val.z;
9761  }
9762 
9766  __declspec( property( get=get_xyw, put=set_xyw) ) float_3 xyw;
9770  __declspec( property( get=get_xyw, put=set_xyw) ) float_3 rga;
9771 
9778  float_3 get_xyw() const __GPU {
9779  return float_3(_M_x,_M_y,_M_w);
9780  }
9781 
9789  {
9790  float_3 _Val = _Value;
9791  _M_x = _Val.x;
9792  _M_y = _Val.y;
9793  _M_w = _Val.z;
9794  }
9795 
9799  __declspec( property( get=get_xzy, put=set_xzy) ) float_3 xzy;
9803  __declspec( property( get=get_xzy, put=set_xzy) ) float_3 rbg;
9804 
9811  float_3 get_xzy() const __GPU {
9812  return float_3(_M_x,_M_z,_M_y);
9813  }
9814 
9822  {
9823  float_3 _Val = _Value;
9824  _M_x = _Val.x;
9825  _M_z = _Val.y;
9826  _M_y = _Val.z;
9827  }
9828 
9832  __declspec( property( get=get_xzw, put=set_xzw) ) float_3 xzw;
9836  __declspec( property( get=get_xzw, put=set_xzw) ) float_3 rba;
9837 
9844  float_3 get_xzw() const __GPU {
9845  return float_3(_M_x,_M_z,_M_w);
9846  }
9847 
9855  {
9856  float_3 _Val = _Value;
9857  _M_x = _Val.x;
9858  _M_z = _Val.y;
9859  _M_w = _Val.z;
9860  }
9861 
9865  __declspec( property( get=get_xwy, put=set_xwy) ) float_3 xwy;
9869  __declspec( property( get=get_xwy, put=set_xwy) ) float_3 rag;
9870 
9877  float_3 get_xwy() const __GPU {
9878  return float_3(_M_x,_M_w,_M_y);
9879  }
9880 
9888  {
9889  float_3 _Val = _Value;
9890  _M_x = _Val.x;
9891  _M_w = _Val.y;
9892  _M_y = _Val.z;
9893  }
9894 
9898  __declspec( property( get=get_xwz, put=set_xwz) ) float_3 xwz;
9902  __declspec( property( get=get_xwz, put=set_xwz) ) float_3 rab;
9903 
9910  float_3 get_xwz() const __GPU {
9911  return float_3(_M_x,_M_w,_M_z);
9912  }
9913 
9921  {
9922  float_3 _Val = _Value;
9923  _M_x = _Val.x;
9924  _M_w = _Val.y;
9925  _M_z = _Val.z;
9926  }
9927 
9931  __declspec( property( get=get_yxz, put=set_yxz) ) float_3 yxz;
9935  __declspec( property( get=get_yxz, put=set_yxz) ) float_3 grb;
9936 
9943  float_3 get_yxz() const __GPU {
9944  return float_3(_M_y,_M_x,_M_z);
9945  }
9946 
9954  {
9955  float_3 _Val = _Value;
9956  _M_y = _Val.x;
9957  _M_x = _Val.y;
9958  _M_z = _Val.z;
9959  }
9960 
9964  __declspec( property( get=get_yxw, put=set_yxw) ) float_3 yxw;
9968  __declspec( property( get=get_yxw, put=set_yxw) ) float_3 gra;
9969 
9976  float_3 get_yxw() const __GPU {
9977  return float_3(_M_y,_M_x,_M_w);
9978  }
9979 
9987  {
9988  float_3 _Val = _Value;
9989  _M_y = _Val.x;
9990  _M_x = _Val.y;
9991  _M_w = _Val.z;
9992  }
9993 
9997  __declspec( property( get=get_yzx, put=set_yzx) ) float_3 yzx;
10001  __declspec( property( get=get_yzx, put=set_yzx) ) float_3 gbr;
10002 
10009  float_3 get_yzx() const __GPU {
10010  return float_3(_M_y,_M_z,_M_x);
10011  }
10012 
10020  {
10021  float_3 _Val = _Value;
10022  _M_y = _Val.x;
10023  _M_z = _Val.y;
10024  _M_x = _Val.z;
10025  }
10026 
10030  __declspec( property( get=get_yzw, put=set_yzw) ) float_3 yzw;
10034  __declspec( property( get=get_yzw, put=set_yzw) ) float_3 gba;
10035 
10042  float_3 get_yzw() const __GPU {
10043  return float_3(_M_y,_M_z,_M_w);
10044  }
10045 
10053  {
10054  float_3 _Val = _Value;
10055  _M_y = _Val.x;
10056  _M_z = _Val.y;
10057  _M_w = _Val.z;
10058  }
10059 
10063  __declspec( property( get=get_ywx, put=set_ywx) ) float_3 ywx;
10067  __declspec( property( get=get_ywx, put=set_ywx) ) float_3 gar;
10068 
10075  float_3 get_ywx() const __GPU {
10076  return float_3(_M_y,_M_w,_M_x);
10077  }
10078 
10086  {
10087  float_3 _Val = _Value;
10088  _M_y = _Val.x;
10089  _M_w = _Val.y;
10090  _M_x = _Val.z;
10091  }
10092 
10096  __declspec( property( get=get_ywz, put=set_ywz) ) float_3 ywz;
10100  __declspec( property( get=get_ywz, put=set_ywz) ) float_3 gab;
10101 
10108  float_3 get_ywz() const __GPU {
10109  return float_3(_M_y,_M_w,_M_z);
10110  }
10111 
10119  {
10120  float_3 _Val = _Value;
10121  _M_y = _Val.x;
10122  _M_w = _Val.y;
10123  _M_z = _Val.z;
10124  }
10125 
10129  __declspec( property( get=get_zxy, put=set_zxy) ) float_3 zxy;
10133  __declspec( property( get=get_zxy, put=set_zxy) ) float_3 brg;
10134 
10141  float_3 get_zxy() const __GPU {
10142  return float_3(_M_z,_M_x,_M_y);
10143  }
10144 
10152  {
10153  float_3 _Val = _Value;
10154  _M_z = _Val.x;
10155  _M_x = _Val.y;
10156  _M_y = _Val.z;
10157  }
10158 
10162  __declspec( property( get=get_zxw, put=set_zxw) ) float_3 zxw;
10166  __declspec( property( get=get_zxw, put=set_zxw) ) float_3 bra;
10167 
10174  float_3 get_zxw() const __GPU {
10175  return float_3(_M_z,_M_x,_M_w);
10176  }
10177 
10185  {
10186  float_3 _Val = _Value;
10187  _M_z = _Val.x;
10188  _M_x = _Val.y;
10189  _M_w = _Val.z;
10190  }
10191 
10195  __declspec( property( get=get_zyx, put=set_zyx) ) float_3 zyx;
10199  __declspec( property( get=get_zyx, put=set_zyx) ) float_3 bgr;
10200 
10207  float_3 get_zyx() const __GPU {
10208  return float_3(_M_z,_M_y,_M_x);
10209  }
10210 
10218  {
10219  float_3 _Val = _Value;
10220  _M_z = _Val.x;
10221  _M_y = _Val.y;
10222  _M_x = _Val.z;
10223  }
10224 
10228  __declspec( property( get=get_zyw, put=set_zyw) ) float_3 zyw;
10232  __declspec( property( get=get_zyw, put=set_zyw) ) float_3 bga;
10233 
10240  float_3 get_zyw() const __GPU {
10241  return float_3(_M_z,_M_y,_M_w);
10242  }
10243 
10251  {
10252  float_3 _Val = _Value;
10253  _M_z = _Val.x;
10254  _M_y = _Val.y;
10255  _M_w = _Val.z;
10256  }
10257 
10261  __declspec( property( get=get_zwx, put=set_zwx) ) float_3 zwx;
10265  __declspec( property( get=get_zwx, put=set_zwx) ) float_3 bar;
10266 
10273  float_3 get_zwx() const __GPU {
10274  return float_3(_M_z,_M_w,_M_x);
10275  }
10276 
10284  {
10285  float_3 _Val = _Value;
10286  _M_z = _Val.x;
10287  _M_w = _Val.y;
10288  _M_x = _Val.z;
10289  }
10290 
10294  __declspec( property( get=get_zwy, put=set_zwy) ) float_3 zwy;
10298  __declspec( property( get=get_zwy, put=set_zwy) ) float_3 bag;
10299 
10306  float_3 get_zwy() const __GPU {
10307  return float_3(_M_z,_M_w,_M_y);
10308  }
10309 
10317  {
10318  float_3 _Val = _Value;
10319  _M_z = _Val.x;
10320  _M_w = _Val.y;
10321  _M_y = _Val.z;
10322  }
10323 
10327  __declspec( property( get=get_wxy, put=set_wxy) ) float_3 wxy;
10331  __declspec( property( get=get_wxy, put=set_wxy) ) float_3 arg;
10332 
10339  float_3 get_wxy() const __GPU {
10340  return float_3(_M_w,_M_x,_M_y);
10341  }
10342 
10350  {
10351  float_3 _Val = _Value;
10352  _M_w = _Val.x;
10353  _M_x = _Val.y;
10354  _M_y = _Val.z;
10355  }
10356 
10360  __declspec( property( get=get_wxz, put=set_wxz) ) float_3 wxz;
10364  __declspec( property( get=get_wxz, put=set_wxz) ) float_3 arb;
10365 
10372  float_3 get_wxz() const __GPU {
10373  return float_3(_M_w,_M_x,_M_z);
10374  }
10375 
10383  {
10384  float_3 _Val = _Value;
10385  _M_w = _Val.x;
10386  _M_x = _Val.y;
10387  _M_z = _Val.z;
10388  }
10389 
10393  __declspec( property( get=get_wyx, put=set_wyx) ) float_3 wyx;
10397  __declspec( property( get=get_wyx, put=set_wyx) ) float_3 agr;
10398 
10405  float_3 get_wyx() const __GPU {
10406  return float_3(_M_w,_M_y,_M_x);
10407  }
10408 
10416  {
10417  float_3 _Val = _Value;
10418  _M_w = _Val.x;
10419  _M_y = _Val.y;
10420  _M_x = _Val.z;
10421  }
10422 
10426  __declspec( property( get=get_wyz, put=set_wyz) ) float_3 wyz;
10430  __declspec( property( get=get_wyz, put=set_wyz) ) float_3 agb;
10431 
10438  float_3 get_wyz() const __GPU {
10439  return float_3(_M_w,_M_y,_M_z);
10440  }
10441 
10449  {
10450  float_3 _Val = _Value;
10451  _M_w = _Val.x;
10452  _M_y = _Val.y;
10453  _M_z = _Val.z;
10454  }
10455 
10459  __declspec( property( get=get_wzx, put=set_wzx) ) float_3 wzx;
10463  __declspec( property( get=get_wzx, put=set_wzx) ) float_3 abr;
10464 
10471  float_3 get_wzx() const __GPU {
10472  return float_3(_M_w,_M_z,_M_x);
10473  }
10474 
10482  {
10483  float_3 _Val = _Value;
10484  _M_w = _Val.x;
10485  _M_z = _Val.y;
10486  _M_x = _Val.z;
10487  }
10488 
10492  __declspec( property( get=get_wzy, put=set_wzy) ) float_3 wzy;
10496  __declspec( property( get=get_wzy, put=set_wzy) ) float_3 abg;
10497 
10504  float_3 get_wzy() const __GPU {
10505  return float_3(_M_w,_M_z,_M_y);
10506  }
10507 
10515  {
10516  float_3 _Val = _Value;
10517  _M_w = _Val.x;
10518  _M_z = _Val.y;
10519  _M_y = _Val.z;
10520  }
10521 
10525  __declspec( property( get=get_xyzw, put=set_xyzw) ) float_4 xyzw;
10529  __declspec( property( get=get_xyzw, put=set_xyzw) ) float_4 rgba;
10530 
10537  float_4 get_xyzw() const __GPU {
10538  return float_4(_M_x,_M_y,_M_z,_M_w);
10539  }
10540 
10548  {
10549  float_4 _Val = _Value;
10550  _M_x = _Val.x;
10551  _M_y = _Val.y;
10552  _M_z = _Val.z;
10553  _M_w = _Val.w;
10554  }
10555 
10559  __declspec( property( get=get_xywz, put=set_xywz) ) float_4 xywz;
10563  __declspec( property( get=get_xywz, put=set_xywz) ) float_4 rgab;
10564 
10571  float_4 get_xywz() const __GPU {
10572  return float_4(_M_x,_M_y,_M_w,_M_z);
10573  }
10574 
10582  {
10583  float_4 _Val = _Value;
10584  _M_x = _Val.x;
10585  _M_y = _Val.y;
10586  _M_w = _Val.z;
10587  _M_z = _Val.w;
10588  }
10589 
10593  __declspec( property( get=get_xzyw, put=set_xzyw) ) float_4 xzyw;
10597  __declspec( property( get=get_xzyw, put=set_xzyw) ) float_4 rbga;
10598 
10605  float_4 get_xzyw() const __GPU {
10606  return float_4(_M_x,_M_z,_M_y,_M_w);
10607  }
10608 
10616  {
10617  float_4 _Val = _Value;
10618  _M_x = _Val.x;
10619  _M_z = _Val.y;
10620  _M_y = _Val.z;
10621  _M_w = _Val.w;
10622  }
10623 
10627  __declspec( property( get=get_xzwy, put=set_xzwy) ) float_4 xzwy;
10631  __declspec( property( get=get_xzwy, put=set_xzwy) ) float_4 rbag;
10632 
10639  float_4 get_xzwy() const __GPU {
10640  return float_4(_M_x,_M_z,_M_w,_M_y);
10641  }
10642 
10650  {
10651  float_4 _Val = _Value;
10652  _M_x = _Val.x;
10653  _M_z = _Val.y;
10654  _M_w = _Val.z;
10655  _M_y = _Val.w;
10656  }
10657 
10661  __declspec( property( get=get_xwyz, put=set_xwyz) ) float_4 xwyz;
10665  __declspec( property( get=get_xwyz, put=set_xwyz) ) float_4 ragb;
10666 
10673  float_4 get_xwyz() const __GPU {
10674  return float_4(_M_x,_M_w,_M_y,_M_z);
10675  }
10676 
10684  {
10685  float_4 _Val = _Value;
10686  _M_x = _Val.x;
10687  _M_w = _Val.y;
10688  _M_y = _Val.z;
10689  _M_z = _Val.w;
10690  }
10691 
10695  __declspec( property( get=get_xwzy, put=set_xwzy) ) float_4 xwzy;
10699  __declspec( property( get=get_xwzy, put=set_xwzy) ) float_4 rabg;
10700 
10707  float_4 get_xwzy() const __GPU {
10708  return float_4(_M_x,_M_w,_M_z,_M_y);
10709  }
10710 
10718  {
10719  float_4 _Val = _Value;
10720  _M_x = _Val.x;
10721  _M_w = _Val.y;
10722  _M_z = _Val.z;
10723  _M_y = _Val.w;
10724  }
10725 
10729  __declspec( property( get=get_yxzw, put=set_yxzw) ) float_4 yxzw;
10733  __declspec( property( get=get_yxzw, put=set_yxzw) ) float_4 grba;
10734 
10741  float_4 get_yxzw() const __GPU {
10742  return float_4(_M_y,_M_x,_M_z,_M_w);
10743  }
10744 
10752  {
10753  float_4 _Val = _Value;
10754  _M_y = _Val.x;
10755  _M_x = _Val.y;
10756  _M_z = _Val.z;
10757  _M_w = _Val.w;
10758  }
10759 
10763  __declspec( property( get=get_yxwz, put=set_yxwz) ) float_4 yxwz;
10767  __declspec( property( get=get_yxwz, put=set_yxwz) ) float_4 grab;
10768 
10775  float_4 get_yxwz() const __GPU {
10776  return float_4(_M_y,_M_x,_M_w,_M_z);
10777  }
10778 
10786  {
10787  float_4 _Val = _Value;
10788  _M_y = _Val.x;
10789  _M_x = _Val.y;
10790  _M_w = _Val.z;
10791  _M_z = _Val.w;
10792  }
10793 
10797  __declspec( property( get=get_yzxw, put=set_yzxw) ) float_4 yzxw;
10801  __declspec( property( get=get_yzxw, put=set_yzxw) ) float_4 gbra;
10802 
10809  float_4 get_yzxw() const __GPU {
10810  return float_4(_M_y,_M_z,_M_x,_M_w);
10811  }
10812 
10820  {
10821  float_4 _Val = _Value;
10822  _M_y = _Val.x;
10823  _M_z = _Val.y;
10824  _M_x = _Val.z;
10825  _M_w = _Val.w;
10826  }
10827 
10831  __declspec( property( get=get_yzwx, put=set_yzwx) ) float_4 yzwx;
10835  __declspec( property( get=get_yzwx, put=set_yzwx) ) float_4 gbar;
10836 
10843  float_4 get_yzwx() const __GPU {
10844  return float_4(_M_y,_M_z,_M_w,_M_x);
10845  }
10846 
10854  {
10855  float_4 _Val = _Value;
10856  _M_y = _Val.x;
10857  _M_z = _Val.y;
10858  _M_w = _Val.z;
10859  _M_x = _Val.w;
10860  }
10861 
10865  __declspec( property( get=get_ywxz, put=set_ywxz) ) float_4 ywxz;
10869  __declspec( property( get=get_ywxz, put=set_ywxz) ) float_4 garb;
10870 
10877  float_4 get_ywxz() const __GPU {
10878  return float_4(_M_y,_M_w,_M_x,_M_z);
10879  }
10880 
10888  {
10889  float_4 _Val = _Value;
10890  _M_y = _Val.x;
10891  _M_w = _Val.y;
10892  _M_x = _Val.z;
10893  _M_z = _Val.w;
10894  }
10895 
10899  __declspec( property( get=get_ywzx, put=set_ywzx) ) float_4 ywzx;
10903  __declspec( property( get=get_ywzx, put=set_ywzx) ) float_4 gabr;
10904 
10911  float_4 get_ywzx() const __GPU {
10912  return float_4(_M_y,_M_w,_M_z,_M_x);
10913  }
10914 
10922  {
10923  float_4 _Val = _Value;
10924  _M_y = _Val.x;
10925  _M_w = _Val.y;
10926  _M_z = _Val.z;
10927  _M_x = _Val.w;
10928  }
10929 
10933  __declspec( property( get=get_zxyw, put=set_zxyw) ) float_4 zxyw;
10937  __declspec( property( get=get_zxyw, put=set_zxyw) ) float_4 brga;
10938 
10945  float_4 get_zxyw() const __GPU {
10946  return float_4(_M_z,_M_x,_M_y,_M_w);
10947  }
10948 
10956  {
10957  float_4 _Val = _Value;
10958  _M_z = _Val.x;
10959  _M_x = _Val.y;
10960  _M_y = _Val.z;
10961  _M_w = _Val.w;
10962  }
10963 
10967  __declspec( property( get=get_zxwy, put=set_zxwy) ) float_4 zxwy;
10971  __declspec( property( get=get_zxwy, put=set_zxwy) ) float_4 brag;
10972 
10979  float_4 get_zxwy() const __GPU {
10980  return float_4(_M_z,_M_x,_M_w,_M_y);
10981  }
10982 
10990  {
10991  float_4 _Val = _Value;
10992  _M_z = _Val.x;
10993  _M_x = _Val.y;
10994  _M_w = _Val.z;
10995  _M_y = _Val.w;
10996  }
10997 
11001  __declspec( property( get=get_zyxw, put=set_zyxw) ) float_4 zyxw;
11005  __declspec( property( get=get_zyxw, put=set_zyxw) ) float_4 bgra;
11006 
11013  float_4 get_zyxw() const __GPU {
11014  return float_4(_M_z,_M_y,_M_x,_M_w);
11015  }
11016 
11024  {
11025  float_4 _Val = _Value;
11026  _M_z = _Val.x;
11027  _M_y = _Val.y;
11028  _M_x = _Val.z;
11029  _M_w = _Val.w;
11030  }
11031 
11035  __declspec( property( get=get_zywx, put=set_zywx) ) float_4 zywx;
11039  __declspec( property( get=get_zywx, put=set_zywx) ) float_4 bgar;
11040 
11047  float_4 get_zywx() const __GPU {
11048  return float_4(_M_z,_M_y,_M_w,_M_x);
11049  }
11050 
11058  {
11059  float_4 _Val = _Value;
11060  _M_z = _Val.x;
11061  _M_y = _Val.y;
11062  _M_w = _Val.z;
11063  _M_x = _Val.w;
11064  }
11065 
11069  __declspec( property( get=get_zwxy, put=set_zwxy) ) float_4 zwxy;
11073  __declspec( property( get=get_zwxy, put=set_zwxy) ) float_4 barg;
11074 
11081  float_4 get_zwxy() const __GPU {
11082  return float_4(_M_z,_M_w,_M_x,_M_y);
11083  }
11084 
11092  {
11093  float_4 _Val = _Value;
11094  _M_z = _Val.x;
11095  _M_w = _Val.y;
11096  _M_x = _Val.z;
11097  _M_y = _Val.w;
11098  }
11099 
11103  __declspec( property( get=get_zwyx, put=set_zwyx) ) float_4 zwyx;
11107  __declspec( property( get=get_zwyx, put=set_zwyx) ) float_4 bagr;
11108 
11115  float_4 get_zwyx() const __GPU {
11116  return float_4(_M_z,_M_w,_M_y,_M_x);
11117  }
11118 
11126  {
11127  float_4 _Val = _Value;
11128  _M_z = _Val.x;
11129  _M_w = _Val.y;
11130  _M_y = _Val.z;
11131  _M_x = _Val.w;
11132  }
11133 
11137  __declspec( property( get=get_wxyz, put=set_wxyz) ) float_4 wxyz;
11141  __declspec( property( get=get_wxyz, put=set_wxyz) ) float_4 argb;
11142 
11149  float_4 get_wxyz() const __GPU {
11150  return float_4(_M_w,_M_x,_M_y,_M_z);
11151  }
11152 
11160  {
11161  float_4 _Val = _Value;
11162  _M_w = _Val.x;
11163  _M_x = _Val.y;
11164  _M_y = _Val.z;
11165  _M_z = _Val.w;
11166  }
11167 
11171  __declspec( property( get=get_wxzy, put=set_wxzy) ) float_4 wxzy;
11175  __declspec( property( get=get_wxzy, put=set_wxzy) ) float_4 arbg;
11176 
11183  float_4 get_wxzy() const __GPU {
11184  return float_4(_M_w,_M_x,_M_z,_M_y);
11185  }
11186 
11194  {
11195  float_4 _Val = _Value;
11196  _M_w = _Val.x;
11197  _M_x = _Val.y;
11198  _M_z = _Val.z;
11199  _M_y = _Val.w;
11200  }
11201 
11205  __declspec( property( get=get_wyxz, put=set_wyxz) ) float_4 wyxz;
11209  __declspec( property( get=get_wyxz, put=set_wyxz) ) float_4 agrb;
11210 
11217  float_4 get_wyxz() const __GPU {
11218  return float_4(_M_w,_M_y,_M_x,_M_z);
11219  }
11220 
11228  {
11229  float_4 _Val = _Value;
11230  _M_w = _Val.x;
11231  _M_y = _Val.y;
11232  _M_x = _Val.z;
11233  _M_z = _Val.w;
11234  }
11235 
11239  __declspec( property( get=get_wyzx, put=set_wyzx) ) float_4 wyzx;
11243  __declspec( property( get=get_wyzx, put=set_wyzx) ) float_4 agbr;
11244 
11251  float_4 get_wyzx() const __GPU {
11252  return float_4(_M_w,_M_y,_M_z,_M_x);
11253  }
11254 
11262  {
11263  float_4 _Val = _Value;
11264  _M_w = _Val.x;
11265  _M_y = _Val.y;
11266  _M_z = _Val.z;
11267  _M_x = _Val.w;
11268  }
11269 
11273  __declspec( property( get=get_wzxy, put=set_wzxy) ) float_4 wzxy;
11277  __declspec( property( get=get_wzxy, put=set_wzxy) ) float_4 abrg;
11278 
11285  float_4 get_wzxy() const __GPU {
11286  return float_4(_M_w,_M_z,_M_x,_M_y);
11287  }
11288 
11296  {
11297  float_4 _Val = _Value;
11298  _M_w = _Val.x;
11299  _M_z = _Val.y;
11300  _M_x = _Val.z;
11301  _M_y = _Val.w;
11302  }
11303 
11307  __declspec( property( get=get_wzyx, put=set_wzyx) ) float_4 wzyx;
11311  __declspec( property( get=get_wzyx, put=set_wzyx) ) float_4 abgr;
11312 
11319  float_4 get_wzyx() const __GPU {
11320  return float_4(_M_w,_M_z,_M_y,_M_x);
11321  }
11322 
11330  {
11331  float_4 _Val = _Value;
11332  _M_w = _Val.x;
11333  _M_z = _Val.y;
11334  _M_y = _Val.z;
11335  _M_x = _Val.w;
11336  }
11337 
11338  };
11339 
11343  class unorm_2
11344  {
11345  public:
11347  static const int size = 2;
11348  private:
11349  static const _Short_vector_base_type_id _Base_type_id = _Unorm_type;
11350  private:
11351  value_type _M_x;
11352  value_type _M_y;
11353 
11354  public:
11358  __declspec( property( get=get_x, put=set_x) ) unorm x;
11362  __declspec( property( get=get_x, put=set_x) ) unorm r;
11363 
11370  unorm get_x() const __GPU {
11371  return _M_x;
11372  }
11373 
11381  return _M_x;
11382  }
11383 
11391  return _M_x;
11392  }
11393 
11401  {
11402  _M_x = _Value;
11403  }
11404 
11408  __declspec( property( get=get_y, put=set_y) ) unorm y;
11412  __declspec( property( get=get_y, put=set_y) ) unorm g;
11413 
11420  unorm get_y() const __GPU {
11421  return _M_y;
11422  }
11423 
11431  return _M_y;
11432  }
11433 
11441  return _M_y;
11442  }
11443 
11451  {
11452  _M_y = _Value;
11453  }
11454 
11455  public:
11460  {
11461  _M_x = unorm(0.0f);
11462  _M_y = unorm(0.0f);
11463  }
11464 
11475  {
11476  _M_x = _V0;
11477  _M_y = _V1;
11478  }
11479 
11489  unorm_2(float _V0, float _V1) __GPU
11490  {
11491  _M_x = unorm(_V0);
11492  _M_y = unorm(_V1);
11493  }
11494 
11502  {
11503  _M_x = _V;
11504  _M_y = _V;
11505  }
11506 
11507  explicit unorm_2(float _V) __GPU
11508  {
11509  _M_x = unorm(_V);
11510  _M_y = unorm(_V);
11511  }
11512 
11519  unorm_2(const unorm_2& _Other) __GPU
11520  {
11521  *this = _Other;
11522  }
11523 
11524  unorm_2& operator=(const unorm_2& _Other) __GPU
11525  {
11526  _M_x = _Other._M_x;
11527  _M_y = _Other._M_y;
11528  return *this;
11529  }
11530 
11538  explicit inline unorm_2(const uint_2& _Other) __GPU;
11539 
11547  explicit inline unorm_2(const int_2& _Other) __GPU;
11548 
11556  explicit inline unorm_2(const float_2& _Other) __GPU;
11557 
11565  explicit inline unorm_2(const norm_2& _Other) __GPU;
11566 
11574  explicit inline unorm_2(const double_2& _Other) __GPU;
11575 
11577  {
11578  unorm_2 _Value = *this;
11579  ++_Value._M_x;
11580  ++_Value._M_y;
11581  *this = _Value;
11582  return *this;
11583  }
11584 
11586  {
11587  unorm_2 _Result = *this;
11588  ++(*this);
11589  return _Result;
11590  }
11591 
11593  {
11594  unorm_2 _Value = *this;
11595  --_Value._M_x;
11596  --_Value._M_y;
11597  *this = _Value;
11598  return *this;
11599  }
11600 
11602  {
11603  unorm_2 _Result = *this;
11604  --(*this);
11605  return _Result;
11606  }
11607 
11609  {
11610  unorm_2 _Value1 = *this;
11611  unorm_2 _Value2 = _Other;
11612  _Value1.x += _Value2.x;
11613  _Value1.y += _Value2.y;
11614  *this = _Value1;
11615  return *this;
11616  }
11617 
11619  {
11620  unorm_2 _Value1 = *this;
11621  unorm_2 _Value2 = _Other;
11622  _Value1.x -= _Value2.x;
11623  _Value1.y -= _Value2.y;
11624  *this = _Value1;
11625  return *this;
11626  }
11627 
11629  {
11630  unorm_2 _Value1 = *this;
11631  unorm_2 _Value2 = _Other;
11632  _Value1.x *= _Value2.x;
11633  _Value1.y *= _Value2.y;
11634  *this = _Value1;
11635  return *this;
11636  }
11637 
11639  {
11640  unorm_2 _Value1 = *this;
11641  unorm_2 _Value2 = _Other;
11642  _Value1.x /= _Value2.x;
11643  _Value1.y /= _Value2.y;
11644  *this = _Value1;
11645  return *this;
11646  }
11647 
11648  public:
11652  __declspec( property( get=get_xy, put=set_xy) ) unorm_2 xy;
11656  __declspec( property( get=get_xy, put=set_xy) ) unorm_2 rg;
11657 
11664  unorm_2 get_xy() const __GPU {
11665  return unorm_2(_M_x,_M_y);
11666  }
11667 
11675  {
11676  unorm_2 _Val = _Value;
11677  _M_x = _Val.x;
11678  _M_y = _Val.y;
11679  }
11680 
11684  __declspec( property( get=get_yx, put=set_yx) ) unorm_2 yx;
11688  __declspec( property( get=get_yx, put=set_yx) ) unorm_2 gr;
11689 
11696  unorm_2 get_yx() const __GPU {
11697  return unorm_2(_M_y,_M_x);
11698  }
11699 
11707  {
11708  unorm_2 _Val = _Value;
11709  _M_y = _Val.x;
11710  _M_x = _Val.y;
11711  }
11712 
11713  };
11714 
11718  class unorm_3
11719  {
11720  public:
11722  static const int size = 3;
11723  private:
11724  static const _Short_vector_base_type_id _Base_type_id = _Unorm_type;
11725  private:
11726  value_type _M_x;
11727  value_type _M_y;
11728  value_type _M_z;
11729 
11730  public:
11734  __declspec( property( get=get_x, put=set_x) ) unorm x;
11738  __declspec( property( get=get_x, put=set_x) ) unorm r;
11739 
11746  unorm get_x() const __GPU {
11747  return _M_x;
11748  }
11749 
11757  return _M_x;
11758  }
11759 
11767  return _M_x;
11768  }
11769 
11777  {
11778  _M_x = _Value;
11779  }
11780 
11784  __declspec( property( get=get_y, put=set_y) ) unorm y;
11788  __declspec( property( get=get_y, put=set_y) ) unorm g;
11789 
11796  unorm get_y() const __GPU {
11797  return _M_y;
11798  }
11799 
11807  return _M_y;
11808  }
11809 
11817  return _M_y;
11818  }
11819 
11827  {
11828  _M_y = _Value;
11829  }
11830 
11834  __declspec( property( get=get_z, put=set_z) ) unorm z;
11838  __declspec( property( get=get_z, put=set_z) ) unorm b;
11839 
11846  unorm get_z() const __GPU {
11847  return _M_z;
11848  }
11849 
11857  return _M_z;
11858  }
11859 
11867  return _M_z;
11868  }
11869 
11877  {
11878  _M_z = _Value;
11879  }
11880 
11881  public:
11886  {
11887  _M_x = unorm(0.0f);
11888  _M_y = unorm(0.0f);
11889  _M_z = unorm(0.0f);
11890  }
11891 
11904  unorm_3(unorm _V0, unorm _V1, unorm _V2) __GPU
11905  {
11906  _M_x = _V0;
11907  _M_y = _V1;
11908  _M_z = _V2;
11909  }
11910 
11923  unorm_3(float _V0, float _V1, float _V2) __GPU
11924  {
11925  _M_x = unorm(_V0);
11926  _M_y = unorm(_V1);
11927  _M_z = unorm(_V2);
11928  }
11929 
11937  {
11938  _M_x = _V;
11939  _M_y = _V;
11940  _M_z = _V;
11941  }
11942 
11943  explicit unorm_3(float _V) __GPU
11944  {
11945  _M_x = unorm(_V);
11946  _M_y = unorm(_V);
11947  _M_z = unorm(_V);
11948  }
11949 
11956  unorm_3(const unorm_3& _Other) __GPU
11957  {
11958  *this = _Other;
11959  }
11960 
11961  unorm_3& operator=(const unorm_3& _Other) __GPU
11962  {
11963  _M_x = _Other._M_x;
11964  _M_y = _Other._M_y;
11965  _M_z = _Other._M_z;
11966  return *this;
11967  }
11968 
11976  explicit inline unorm_3(const uint_3& _Other) __GPU;
11977 
11985  explicit inline unorm_3(const int_3& _Other) __GPU;
11986 
11994  explicit inline unorm_3(const float_3& _Other) __GPU;
11995 
12003  explicit inline unorm_3(const norm_3& _Other) __GPU;
12004 
12012  explicit inline unorm_3(const double_3& _Other) __GPU;
12013 
12015  {
12016  unorm_3 _Value = *this;
12017  ++_Value._M_x;
12018  ++_Value._M_y;
12019  ++_Value._M_z;
12020  *this = _Value;
12021  return *this;
12022  }
12023 
12025  {
12026  unorm_3 _Result = *this;
12027  ++(*this);
12028  return _Result;
12029  }
12030 
12032  {
12033  unorm_3 _Value = *this;
12034  --_Value._M_x;
12035  --_Value._M_y;
12036  --_Value._M_z;
12037  *this = _Value;
12038  return *this;
12039  }
12040 
12042  {
12043  unorm_3 _Result = *this;
12044  --(*this);
12045  return _Result;
12046  }
12047 
12049  {
12050  unorm_3 _Value1 = *this;
12051  unorm_3 _Value2 = _Other;
12052  _Value1.x += _Value2.x;
12053  _Value1.y += _Value2.y;
12054  _Value1.z += _Value2.z;
12055  *this = _Value1;
12056  return *this;
12057  }
12058 
12060  {
12061  unorm_3 _Value1 = *this;
12062  unorm_3 _Value2 = _Other;
12063  _Value1.x -= _Value2.x;
12064  _Value1.y -= _Value2.y;
12065  _Value1.z -= _Value2.z;
12066  *this = _Value1;
12067  return *this;
12068  }
12069 
12071  {
12072  unorm_3 _Value1 = *this;
12073  unorm_3 _Value2 = _Other;
12074  _Value1.x *= _Value2.x;
12075  _Value1.y *= _Value2.y;
12076  _Value1.z *= _Value2.z;
12077  *this = _Value1;
12078  return *this;
12079  }
12080 
12082  {
12083  unorm_3 _Value1 = *this;
12084  unorm_3 _Value2 = _Other;
12085  _Value1.x /= _Value2.x;
12086  _Value1.y /= _Value2.y;
12087  _Value1.z /= _Value2.z;
12088  *this = _Value1;
12089  return *this;
12090  }
12091 
12092  public:
12096  __declspec( property( get=get_xy, put=set_xy) ) unorm_2 xy;
12100  __declspec( property( get=get_xy, put=set_xy) ) unorm_2 rg;
12101 
12108  unorm_2 get_xy() const __GPU {
12109  return unorm_2(_M_x,_M_y);
12110  }
12111 
12119  {
12120  unorm_2 _Val = _Value;
12121  _M_x = _Val.x;
12122  _M_y = _Val.y;
12123  }
12124 
12128  __declspec( property( get=get_xz, put=set_xz) ) unorm_2 xz;
12132  __declspec( property( get=get_xz, put=set_xz) ) unorm_2 rb;
12133 
12140  unorm_2 get_xz() const __GPU {
12141  return unorm_2(_M_x,_M_z);
12142  }
12143 
12151  {
12152  unorm_2 _Val = _Value;
12153  _M_x = _Val.x;
12154  _M_z = _Val.y;
12155  }
12156 
12160  __declspec( property( get=get_yx, put=set_yx) ) unorm_2 yx;
12164  __declspec( property( get=get_yx, put=set_yx) ) unorm_2 gr;
12165 
12172  unorm_2 get_yx() const __GPU {
12173  return unorm_2(_M_y,_M_x);
12174  }
12175 
12183  {
12184  unorm_2 _Val = _Value;
12185  _M_y = _Val.x;
12186  _M_x = _Val.y;
12187  }
12188 
12192  __declspec( property( get=get_yz, put=set_yz) ) unorm_2 yz;
12196  __declspec( property( get=get_yz, put=set_yz) ) unorm_2 gb;
12197 
12204  unorm_2 get_yz() const __GPU {
12205  return unorm_2(_M_y,_M_z);
12206  }
12207 
12215  {
12216  unorm_2 _Val = _Value;
12217  _M_y = _Val.x;
12218  _M_z = _Val.y;
12219  }
12220 
12224  __declspec( property( get=get_zx, put=set_zx) ) unorm_2 zx;
12228  __declspec( property( get=get_zx, put=set_zx) ) unorm_2 br;
12229 
12236  unorm_2 get_zx() const __GPU {
12237  return unorm_2(_M_z,_M_x);
12238  }
12239 
12247  {
12248  unorm_2 _Val = _Value;
12249  _M_z = _Val.x;
12250  _M_x = _Val.y;
12251  }
12252 
12256  __declspec( property( get=get_zy, put=set_zy) ) unorm_2 zy;
12260  __declspec( property( get=get_zy, put=set_zy) ) unorm_2 bg;
12261 
12268  unorm_2 get_zy() const __GPU {
12269  return unorm_2(_M_z,_M_y);
12270  }
12271 
12279  {
12280  unorm_2 _Val = _Value;
12281  _M_z = _Val.x;
12282  _M_y = _Val.y;
12283  }
12284 
12288  __declspec( property( get=get_xyz, put=set_xyz) ) unorm_3 xyz;
12292  __declspec( property( get=get_xyz, put=set_xyz) ) unorm_3 rgb;
12293 
12300  unorm_3 get_xyz() const __GPU {
12301  return unorm_3(_M_x,_M_y,_M_z);
12302  }
12303 
12311  {
12312  unorm_3 _Val = _Value;
12313  _M_x = _Val.x;
12314  _M_y = _Val.y;
12315  _M_z = _Val.z;
12316  }
12317 
12321  __declspec( property( get=get_xzy, put=set_xzy) ) unorm_3 xzy;
12325  __declspec( property( get=get_xzy, put=set_xzy) ) unorm_3 rbg;
12326 
12333  unorm_3 get_xzy() const __GPU {
12334  return unorm_3(_M_x,_M_z,_M_y);
12335  }
12336 
12344  {
12345  unorm_3 _Val = _Value;
12346  _M_x = _Val.x;
12347  _M_z = _Val.y;
12348  _M_y = _Val.z;
12349  }
12350 
12354  __declspec( property( get=get_yxz, put=set_yxz) ) unorm_3 yxz;
12358  __declspec( property( get=get_yxz, put=set_yxz) ) unorm_3 grb;
12359 
12366  unorm_3 get_yxz() const __GPU {
12367  return unorm_3(_M_y,_M_x,_M_z);
12368  }
12369 
12377  {
12378  unorm_3 _Val = _Value;
12379  _M_y = _Val.x;
12380  _M_x = _Val.y;
12381  _M_z = _Val.z;
12382  }
12383 
12387  __declspec( property( get=get_yzx, put=set_yzx) ) unorm_3 yzx;
12391  __declspec( property( get=get_yzx, put=set_yzx) ) unorm_3 gbr;
12392 
12399  unorm_3 get_yzx() const __GPU {
12400  return unorm_3(_M_y,_M_z,_M_x);
12401  }
12402 
12410  {
12411  unorm_3 _Val = _Value;
12412  _M_y = _Val.x;
12413  _M_z = _Val.y;
12414  _M_x = _Val.z;
12415  }
12416 
12420  __declspec( property( get=get_zxy, put=set_zxy) ) unorm_3 zxy;
12424  __declspec( property( get=get_zxy, put=set_zxy) ) unorm_3 brg;
12425 
12432  unorm_3 get_zxy() const __GPU {
12433  return unorm_3(_M_z,_M_x,_M_y);
12434  }
12435 
12443  {
12444  unorm_3 _Val = _Value;
12445  _M_z = _Val.x;
12446  _M_x = _Val.y;
12447  _M_y = _Val.z;
12448  }
12449 
12453  __declspec( property( get=get_zyx, put=set_zyx) ) unorm_3 zyx;
12457  __declspec( property( get=get_zyx, put=set_zyx) ) unorm_3 bgr;
12458 
12465  unorm_3 get_zyx() const __GPU {
12466  return unorm_3(_M_z,_M_y,_M_x);
12467  }
12468 
12476  {
12477  unorm_3 _Val = _Value;
12478  _M_z = _Val.x;
12479  _M_y = _Val.y;
12480  _M_x = _Val.z;
12481  }
12482 
12483  };
12484 
12488  class unorm_4
12489  {
12490  public:
12492  static const int size = 4;
12493  private:
12494  static const _Short_vector_base_type_id _Base_type_id = _Unorm_type;
12495  private:
12496  value_type _M_x;
12497  value_type _M_y;
12498  value_type _M_z;
12499  value_type _M_w;
12500 
12501  public:
12505  __declspec( property( get=get_x, put=set_x) ) unorm x;
12509  __declspec( property( get=get_x, put=set_x) ) unorm r;
12510 
12517  unorm get_x() const __GPU {
12518  return _M_x;
12519  }
12520 
12528  return _M_x;
12529  }
12530 
12538  return _M_x;
12539  }
12540 
12548  {
12549  _M_x = _Value;
12550  }
12551 
12555  __declspec( property( get=get_y, put=set_y) ) unorm y;
12559  __declspec( property( get=get_y, put=set_y) ) unorm g;
12560 
12567  unorm get_y() const __GPU {
12568  return _M_y;
12569  }
12570 
12578  return _M_y;
12579  }
12580 
12588  return _M_y;
12589  }
12590 
12598  {
12599  _M_y = _Value;
12600  }
12601 
12605  __declspec( property( get=get_z, put=set_z) ) unorm z;
12609  __declspec( property( get=get_z, put=set_z) ) unorm b;
12610 
12617  unorm get_z() const __GPU {
12618  return _M_z;
12619  }
12620 
12628  return _M_z;
12629  }
12630 
12638  return _M_z;
12639  }
12640 
12648  {
12649  _M_z = _Value;
12650  }
12651 
12655  __declspec( property( get=get_w, put=set_w) ) unorm w;
12659  __declspec( property( get=get_w, put=set_w) ) unorm a;
12660 
12667  unorm get_w() const __GPU {
12668  return _M_w;
12669  }
12670 
12678  return _M_w;
12679  }
12680 
12688  return _M_w;
12689  }
12690 
12698  {
12699  _M_w = _Value;
12700  }
12701 
12702  public:
12707  {
12708  _M_x = unorm(0.0f);
12709  _M_y = unorm(0.0f);
12710  _M_z = unorm(0.0f);
12711  _M_w = unorm(0.0f);
12712  }
12713 
12729  unorm_4(unorm _V0, unorm _V1, unorm _V2, unorm _V3) __GPU
12730  {
12731  _M_x = _V0;
12732  _M_y = _V1;
12733  _M_z = _V2;
12734  _M_w = _V3;
12735  }
12736 
12752  unorm_4(float _V0, float _V1, float _V2, float _V3) __GPU
12753  {
12754  _M_x = unorm(_V0);
12755  _M_y = unorm(_V1);
12756  _M_z = unorm(_V2);
12757  _M_w = unorm(_V3);
12758  }
12759 
12767  {
12768  _M_x = _V;
12769  _M_y = _V;
12770  _M_z = _V;
12771  _M_w = _V;
12772  }
12773 
12774  explicit unorm_4(float _V) __GPU
12775  {
12776  _M_x = unorm(_V);
12777  _M_y = unorm(_V);
12778  _M_z = unorm(_V);
12779  _M_w = unorm(_V);
12780  }
12781 
12788  unorm_4(const unorm_4& _Other) __GPU
12789  {
12790  *this = _Other;
12791  }
12792 
12793  unorm_4& operator=(const unorm_4& _Other) __GPU
12794  {
12795  _M_x = _Other._M_x;
12796  _M_y = _Other._M_y;
12797  _M_z = _Other._M_z;
12798  _M_w = _Other._M_w;
12799  return *this;
12800  }
12801 
12809  explicit inline unorm_4(const uint_4& _Other) __GPU;
12810 
12818  explicit inline unorm_4(const int_4& _Other) __GPU;
12819 
12827  explicit inline unorm_4(const float_4& _Other) __GPU;
12828 
12836  explicit inline unorm_4(const norm_4& _Other) __GPU;
12837 
12845  explicit inline unorm_4(const double_4& _Other) __GPU;
12846 
12848  {
12849  unorm_4 _Value = *this;
12850  ++_Value._M_x;
12851  ++_Value._M_y;
12852  ++_Value._M_z;
12853  ++_Value._M_w;
12854  *this = _Value;
12855  return *this;
12856  }
12857 
12859  {
12860  unorm_4 _Result = *this;
12861  ++(*this);
12862  return _Result;
12863  }
12864 
12866  {
12867  unorm_4 _Value = *this;
12868  --_Value._M_x;
12869  --_Value._M_y;
12870  --_Value._M_z;
12871  --_Value._M_w;
12872  *this = _Value;
12873  return *this;
12874  }
12875 
12877  {
12878  unorm_4 _Result = *this;
12879  --(*this);
12880  return _Result;
12881  }
12882 
12884  {
12885  unorm_4 _Value1 = *this;
12886  unorm_4 _Value2 = _Other;
12887  _Value1.x += _Value2.x;
12888  _Value1.y += _Value2.y;
12889  _Value1.z += _Value2.z;
12890  _Value1.w += _Value2.w;
12891  *this = _Value1;
12892  return *this;
12893  }
12894 
12896  {
12897  unorm_4 _Value1 = *this;
12898  unorm_4 _Value2 = _Other;
12899  _Value1.x -= _Value2.x;
12900  _Value1.y -= _Value2.y;
12901  _Value1.z -= _Value2.z;
12902  _Value1.w -= _Value2.w;
12903  *this = _Value1;
12904  return *this;
12905  }
12906 
12908  {
12909  unorm_4 _Value1 = *this;
12910  unorm_4 _Value2 = _Other;
12911  _Value1.x *= _Value2.x;
12912  _Value1.y *= _Value2.y;
12913  _Value1.z *= _Value2.z;
12914  _Value1.w *= _Value2.w;
12915  *this = _Value1;
12916  return *this;
12917  }
12918 
12920  {
12921  unorm_4 _Value1 = *this;
12922  unorm_4 _Value2 = _Other;
12923  _Value1.x /= _Value2.x;
12924  _Value1.y /= _Value2.y;
12925  _Value1.z /= _Value2.z;
12926  _Value1.w /= _Value2.w;
12927  *this = _Value1;
12928  return *this;
12929  }
12930 
12931  public:
12935  __declspec( property( get=get_xy, put=set_xy) ) unorm_2 xy;
12939  __declspec( property( get=get_xy, put=set_xy) ) unorm_2 rg;
12940 
12947  unorm_2 get_xy() const __GPU {
12948  return unorm_2(_M_x,_M_y);
12949  }
12950 
12958  {
12959  unorm_2 _Val = _Value;
12960  _M_x = _Val.x;
12961  _M_y = _Val.y;
12962  }
12963 
12967  __declspec( property( get=get_xz, put=set_xz) ) unorm_2 xz;
12971  __declspec( property( get=get_xz, put=set_xz) ) unorm_2 rb;
12972 
12979  unorm_2 get_xz() const __GPU {
12980  return unorm_2(_M_x,_M_z);
12981  }
12982 
12990  {
12991  unorm_2 _Val = _Value;
12992  _M_x = _Val.x;
12993  _M_z = _Val.y;
12994  }
12995 
12999  __declspec( property( get=get_xw, put=set_xw) ) unorm_2 xw;
13003  __declspec( property( get=get_xw, put=set_xw) ) unorm_2 ra;
13004 
13011  unorm_2 get_xw() const __GPU {
13012  return unorm_2(_M_x,_M_w);
13013  }
13014 
13022  {
13023  unorm_2 _Val = _Value;
13024  _M_x = _Val.x;
13025  _M_w = _Val.y;
13026  }
13027 
13031  __declspec( property( get=get_yx, put=set_yx) ) unorm_2 yx;
13035  __declspec( property( get=get_yx, put=set_yx) ) unorm_2 gr;
13036 
13043  unorm_2 get_yx() const __GPU {
13044  return unorm_2(_M_y,_M_x);
13045  }
13046 
13054  {
13055  unorm_2 _Val = _Value;
13056  _M_y = _Val.x;
13057  _M_x = _Val.y;
13058  }
13059 
13063  __declspec( property( get=get_yz, put=set_yz) ) unorm_2 yz;
13067  __declspec( property( get=get_yz, put=set_yz) ) unorm_2 gb;
13068 
13075  unorm_2 get_yz() const __GPU {
13076  return unorm_2(_M_y,_M_z);
13077  }
13078 
13086  {
13087  unorm_2 _Val = _Value;
13088  _M_y = _Val.x;
13089  _M_z = _Val.y;
13090  }
13091 
13095  __declspec( property( get=get_yw, put=set_yw) ) unorm_2 yw;
13099  __declspec( property( get=get_yw, put=set_yw) ) unorm_2 ga;
13100 
13107  unorm_2 get_yw() const __GPU {
13108  return unorm_2(_M_y,_M_w);
13109  }
13110 
13118  {
13119  unorm_2 _Val = _Value;
13120  _M_y = _Val.x;
13121  _M_w = _Val.y;
13122  }
13123 
13127  __declspec( property( get=get_zx, put=set_zx) ) unorm_2 zx;
13131  __declspec( property( get=get_zx, put=set_zx) ) unorm_2 br;
13132 
13139  unorm_2 get_zx() const __GPU {
13140  return unorm_2(_M_z,_M_x);
13141  }
13142 
13150  {
13151  unorm_2 _Val = _Value;
13152  _M_z = _Val.x;
13153  _M_x = _Val.y;
13154  }
13155 
13159  __declspec( property( get=get_zy, put=set_zy) ) unorm_2 zy;
13163  __declspec( property( get=get_zy, put=set_zy) ) unorm_2 bg;
13164 
13171  unorm_2 get_zy() const __GPU {
13172  return unorm_2(_M_z,_M_y);
13173  }
13174 
13182  {
13183  unorm_2 _Val = _Value;
13184  _M_z = _Val.x;
13185  _M_y = _Val.y;
13186  }
13187 
13191  __declspec( property( get=get_zw, put=set_zw) ) unorm_2 zw;
13195  __declspec( property( get=get_zw, put=set_zw) ) unorm_2 ba;
13196 
13203  unorm_2 get_zw() const __GPU {
13204  return unorm_2(_M_z,_M_w);
13205  }
13206 
13214  {
13215  unorm_2 _Val = _Value;
13216  _M_z = _Val.x;
13217  _M_w = _Val.y;
13218  }
13219 
13223  __declspec( property( get=get_wx, put=set_wx) ) unorm_2 wx;
13227  __declspec( property( get=get_wx, put=set_wx) ) unorm_2 ar;
13228 
13235  unorm_2 get_wx() const __GPU {
13236  return unorm_2(_M_w,_M_x);
13237  }
13238 
13246  {
13247  unorm_2 _Val = _Value;
13248  _M_w = _Val.x;
13249  _M_x = _Val.y;
13250  }
13251 
13255  __declspec( property( get=get_wy, put=set_wy) ) unorm_2 wy;
13259  __declspec( property( get=get_wy, put=set_wy) ) unorm_2 ag;
13260 
13267  unorm_2 get_wy() const __GPU {
13268  return unorm_2(_M_w,_M_y);
13269  }
13270 
13278  {
13279  unorm_2 _Val = _Value;
13280  _M_w = _Val.x;
13281  _M_y = _Val.y;
13282  }
13283 
13287  __declspec( property( get=get_wz, put=set_wz) ) unorm_2 wz;
13291  __declspec( property( get=get_wz, put=set_wz) ) unorm_2 ab;
13292 
13299  unorm_2 get_wz() const __GPU {
13300  return unorm_2(_M_w,_M_z);
13301  }
13302 
13310  {
13311  unorm_2 _Val = _Value;
13312  _M_w = _Val.x;
13313  _M_z = _Val.y;
13314  }
13315 
13319  __declspec( property( get=get_xyz, put=set_xyz) ) unorm_3 xyz;
13323  __declspec( property( get=get_xyz, put=set_xyz) ) unorm_3 rgb;
13324 
13331  unorm_3 get_xyz() const __GPU {
13332  return unorm_3(_M_x,_M_y,_M_z);
13333  }
13334 
13342  {
13343  unorm_3 _Val = _Value;
13344  _M_x = _Val.x;
13345  _M_y = _Val.y;
13346  _M_z = _Val.z;
13347  }
13348 
13352  __declspec( property( get=get_xyw, put=set_xyw) ) unorm_3 xyw;
13356  __declspec( property( get=get_xyw, put=set_xyw) ) unorm_3 rga;
13357 
13364  unorm_3 get_xyw() const __GPU {
13365  return unorm_3(_M_x,_M_y,_M_w);
13366  }
13367 
13375  {
13376  unorm_3 _Val = _Value;
13377  _M_x = _Val.x;
13378  _M_y = _Val.y;
13379  _M_w = _Val.z;
13380  }
13381 
13385  __declspec( property( get=get_xzy, put=set_xzy) ) unorm_3 xzy;
13389  __declspec( property( get=get_xzy, put=set_xzy) ) unorm_3 rbg;
13390 
13397  unorm_3 get_xzy() const __GPU {
13398  return unorm_3(_M_x,_M_z,_M_y);
13399  }
13400 
13408  {
13409  unorm_3 _Val = _Value;
13410  _M_x = _Val.x;
13411  _M_z = _Val.y;
13412  _M_y = _Val.z;
13413  }
13414 
13418  __declspec( property( get=get_xzw, put=set_xzw) ) unorm_3 xzw;
13422  __declspec( property( get=get_xzw, put=set_xzw) ) unorm_3 rba;
13423 
13430  unorm_3 get_xzw() const __GPU {
13431  return unorm_3(_M_x,_M_z,_M_w);
13432  }
13433 
13441  {
13442  unorm_3 _Val = _Value;
13443  _M_x = _Val.x;
13444  _M_z = _Val.y;
13445  _M_w = _Val.z;
13446  }
13447 
13451  __declspec( property( get=get_xwy, put=set_xwy) ) unorm_3 xwy;
13455  __declspec( property( get=get_xwy, put=set_xwy) ) unorm_3 rag;
13456 
13463  unorm_3 get_xwy() const __GPU {
13464  return unorm_3(_M_x,_M_w,_M_y);
13465  }
13466 
13474  {
13475  unorm_3 _Val = _Value;
13476  _M_x = _Val.x;
13477  _M_w = _Val.y;
13478  _M_y = _Val.z;
13479  }
13480 
13484  __declspec( property( get=get_xwz, put=set_xwz) ) unorm_3 xwz;
13488  __declspec( property( get=get_xwz, put=set_xwz) ) unorm_3 rab;
13489 
13496  unorm_3 get_xwz() const __GPU {
13497  return unorm_3(_M_x,_M_w,_M_z);
13498  }
13499 
13507  {
13508  unorm_3 _Val = _Value;
13509  _M_x = _Val.x;
13510  _M_w = _Val.y;
13511  _M_z = _Val.z;
13512  }
13513 
13517  __declspec( property( get=get_yxz, put=set_yxz) ) unorm_3 yxz;
13521  __declspec( property( get=get_yxz, put=set_yxz) ) unorm_3 grb;
13522 
13529  unorm_3 get_yxz() const __GPU {
13530  return unorm_3(_M_y,_M_x,_M_z);
13531  }
13532 
13540  {
13541  unorm_3 _Val = _Value;
13542  _M_y = _Val.x;
13543  _M_x = _Val.y;
13544  _M_z = _Val.z;
13545  }
13546 
13550  __declspec( property( get=get_yxw, put=set_yxw) ) unorm_3 yxw;
13554  __declspec( property( get=get_yxw, put=set_yxw) ) unorm_3 gra;
13555 
13562  unorm_3 get_yxw() const __GPU {
13563  return unorm_3(_M_y,_M_x,_M_w);
13564  }
13565 
13573  {
13574  unorm_3 _Val = _Value;
13575  _M_y = _Val.x;
13576  _M_x = _Val.y;
13577  _M_w = _Val.z;
13578  }
13579 
13583  __declspec( property( get=get_yzx, put=set_yzx) ) unorm_3 yzx;
13587  __declspec( property( get=get_yzx, put=set_yzx) ) unorm_3 gbr;
13588 
13595  unorm_3 get_yzx() const __GPU {
13596  return unorm_3(_M_y,_M_z,_M_x);
13597  }
13598 
13606  {
13607  unorm_3 _Val = _Value;
13608  _M_y = _Val.x;
13609  _M_z = _Val.y;
13610  _M_x = _Val.z;
13611  }
13612 
13616  __declspec( property( get=get_yzw, put=set_yzw) ) unorm_3 yzw;
13620  __declspec( property( get=get_yzw, put=set_yzw) ) unorm_3 gba;
13621 
13628  unorm_3 get_yzw() const __GPU {
13629  return unorm_3(_M_y,_M_z,_M_w);
13630  }
13631 
13639  {
13640  unorm_3 _Val = _Value;
13641  _M_y = _Val.x;
13642  _M_z = _Val.y;
13643  _M_w = _Val.z;
13644  }
13645 
13649  __declspec( property( get=get_ywx, put=set_ywx) ) unorm_3 ywx;
13653  __declspec( property( get=get_ywx, put=set_ywx) ) unorm_3 gar;
13654 
13661  unorm_3 get_ywx() const __GPU {
13662  return unorm_3(_M_y,_M_w,_M_x);
13663  }
13664 
13672  {
13673  unorm_3 _Val = _Value;
13674  _M_y = _Val.x;
13675  _M_w = _Val.y;
13676  _M_x = _Val.z;
13677  }
13678 
13682  __declspec( property( get=get_ywz, put=set_ywz) ) unorm_3 ywz;
13686  __declspec( property( get=get_ywz, put=set_ywz) ) unorm_3 gab;
13687 
13694  unorm_3 get_ywz() const __GPU {
13695  return unorm_3(_M_y,_M_w,_M_z);
13696  }
13697 
13705  {
13706  unorm_3 _Val = _Value;
13707  _M_y = _Val.x;
13708  _M_w = _Val.y;
13709  _M_z = _Val.z;
13710  }
13711 
13715  __declspec( property( get=get_zxy, put=set_zxy) ) unorm_3 zxy;
13719  __declspec( property( get=get_zxy, put=set_zxy) ) unorm_3 brg;
13720 
13727  unorm_3 get_zxy() const __GPU {
13728  return unorm_3(_M_z,_M_x,_M_y);
13729  }
13730 
13738  {
13739  unorm_3 _Val = _Value;
13740  _M_z = _Val.x;
13741  _M_x = _Val.y;
13742  _M_y = _Val.z;
13743  }
13744 
13748  __declspec( property( get=get_zxw, put=set_zxw) ) unorm_3 zxw;
13752  __declspec( property( get=get_zxw, put=set_zxw) ) unorm_3 bra;
13753 
13760  unorm_3 get_zxw() const __GPU {
13761  return unorm_3(_M_z,_M_x,_M_w);
13762  }
13763 
13771  {
13772  unorm_3 _Val = _Value;
13773  _M_z = _Val.x;
13774  _M_x = _Val.y;
13775  _M_w = _Val.z;
13776  }
13777 
13781  __declspec( property( get=get_zyx, put=set_zyx) ) unorm_3 zyx;
13785  __declspec( property( get=get_zyx, put=set_zyx) ) unorm_3 bgr;
13786 
13793  unorm_3 get_zyx() const __GPU {
13794  return unorm_3(_M_z,_M_y,_M_x);
13795  }
13796 
13804  {
13805  unorm_3 _Val = _Value;
13806  _M_z = _Val.x;
13807  _M_y = _Val.y;
13808  _M_x = _Val.z;
13809  }
13810 
13814  __declspec( property( get=get_zyw, put=set_zyw) ) unorm_3 zyw;
13818  __declspec( property( get=get_zyw, put=set_zyw) ) unorm_3 bga;
13819 
13826  unorm_3 get_zyw() const __GPU {
13827  return unorm_3(_M_z,_M_y,_M_w);
13828  }
13829 
13837  {
13838  unorm_3 _Val = _Value;
13839  _M_z = _Val.x;
13840  _M_y = _Val.y;
13841  _M_w = _Val.z;
13842  }
13843 
13847  __declspec( property( get=get_zwx, put=set_zwx) ) unorm_3 zwx;
13851  __declspec( property( get=get_zwx, put=set_zwx) ) unorm_3 bar;
13852 
13859  unorm_3 get_zwx() const __GPU {
13860  return unorm_3(_M_z,_M_w,_M_x);
13861  }
13862 
13870  {
13871  unorm_3 _Val = _Value;
13872  _M_z = _Val.x;
13873  _M_w = _Val.y;
13874  _M_x = _Val.z;
13875  }
13876 
13880  __declspec( property( get=get_zwy, put=set_zwy) ) unorm_3 zwy;
13884  __declspec( property( get=get_zwy, put=set_zwy) ) unorm_3 bag;
13885 
13892  unorm_3 get_zwy() const __GPU {
13893  return unorm_3(_M_z,_M_w,_M_y);
13894  }
13895 
13903  {
13904  unorm_3 _Val = _Value;
13905  _M_z = _Val.x;
13906  _M_w = _Val.y;
13907  _M_y = _Val.z;
13908  }
13909 
13913  __declspec( property( get=get_wxy, put=set_wxy) ) unorm_3 wxy;
13917  __declspec( property( get=get_wxy, put=set_wxy) ) unorm_3 arg;
13918 
13925  unorm_3 get_wxy() const __GPU {
13926  return unorm_3(_M_w,_M_x,_M_y);
13927  }
13928 
13936  {
13937  unorm_3 _Val = _Value;
13938  _M_w = _Val.x;
13939  _M_x = _Val.y;
13940  _M_y = _Val.z;
13941  }
13942 
13946  __declspec( property( get=get_wxz, put=set_wxz) ) unorm_3 wxz;
13950  __declspec( property( get=get_wxz, put=set_wxz) ) unorm_3 arb;
13951 
13958  unorm_3 get_wxz() const __GPU {
13959  return unorm_3(_M_w,_M_x,_M_z);
13960  }
13961 
13969  {
13970  unorm_3 _Val = _Value;
13971  _M_w = _Val.x;
13972  _M_x = _Val.y;
13973  _M_z = _Val.z;
13974  }
13975 
13979  __declspec( property( get=get_wyx, put=set_wyx) ) unorm_3 wyx;
13983  __declspec( property( get=get_wyx, put=set_wyx) ) unorm_3 agr;
13984 
13991  unorm_3 get_wyx() const __GPU {
13992  return unorm_3(_M_w,_M_y,_M_x);
13993  }
13994 
14002  {
14003  unorm_3 _Val = _Value;
14004  _M_w = _Val.x;
14005  _M_y = _Val.y;
14006  _M_x = _Val.z;
14007  }
14008 
14012  __declspec( property( get=get_wyz, put=set_wyz) ) unorm_3 wyz;
14016  __declspec( property( get=get_wyz, put=set_wyz) ) unorm_3 agb;
14017 
14024  unorm_3 get_wyz() const __GPU {
14025  return unorm_3(_M_w,_M_y,_M_z);
14026  }
14027 
14035  {
14036  unorm_3 _Val = _Value;
14037  _M_w = _Val.x;
14038  _M_y = _Val.y;
14039  _M_z = _Val.z;
14040  }
14041 
14045  __declspec( property( get=get_wzx, put=set_wzx) ) unorm_3 wzx;
14049  __declspec( property( get=get_wzx, put=set_wzx) ) unorm_3 abr;
14050 
14057  unorm_3 get_wzx() const __GPU {
14058  return unorm_3(_M_w,_M_z,_M_x);
14059  }
14060 
14068  {
14069  unorm_3 _Val = _Value;
14070  _M_w = _Val.x;
14071  _M_z = _Val.y;
14072  _M_x = _Val.z;
14073  }
14074 
14078  __declspec( property( get=get_wzy, put=set_wzy) ) unorm_3 wzy;
14082  __declspec( property( get=get_wzy, put=set_wzy) ) unorm_3 abg;
14083 
14090  unorm_3 get_wzy() const __GPU {
14091  return unorm_3(_M_w,_M_z,_M_y);
14092  }
14093 
14101  {
14102  unorm_3 _Val = _Value;
14103  _M_w = _Val.x;
14104  _M_z = _Val.y;
14105  _M_y = _Val.z;
14106  }
14107 
14111  __declspec( property( get=get_xyzw, put=set_xyzw) ) unorm_4 xyzw;
14115  __declspec( property( get=get_xyzw, put=set_xyzw) ) unorm_4 rgba;
14116 
14123  unorm_4 get_xyzw() const __GPU {
14124  return unorm_4(_M_x,_M_y,_M_z,_M_w);
14125  }
14126 
14134  {
14135  unorm_4 _Val = _Value;
14136  _M_x = _Val.x;
14137  _M_y = _Val.y;
14138  _M_z = _Val.z;
14139  _M_w = _Val.w;
14140  }
14141 
14145  __declspec( property( get=get_xywz, put=set_xywz) ) unorm_4 xywz;
14149  __declspec( property( get=get_xywz, put=set_xywz) ) unorm_4 rgab;
14150 
14157  unorm_4 get_xywz() const __GPU {
14158  return unorm_4(_M_x,_M_y,_M_w,_M_z);
14159  }
14160 
14168  {
14169  unorm_4 _Val = _Value;
14170  _M_x = _Val.x;
14171  _M_y = _Val.y;
14172  _M_w = _Val.z;
14173  _M_z = _Val.w;
14174  }
14175 
14179  __declspec( property( get=get_xzyw, put=set_xzyw) ) unorm_4 xzyw;
14183  __declspec( property( get=get_xzyw, put=set_xzyw) ) unorm_4 rbga;
14184 
14191  unorm_4 get_xzyw() const __GPU {
14192  return unorm_4(_M_x,_M_z,_M_y,_M_w);
14193  }
14194 
14202  {
14203  unorm_4 _Val = _Value;
14204  _M_x = _Val.x;
14205  _M_z = _Val.y;
14206  _M_y = _Val.z;
14207  _M_w = _Val.w;
14208  }
14209 
14213  __declspec( property( get=get_xzwy, put=set_xzwy) ) unorm_4 xzwy;
14217  __declspec( property( get=get_xzwy, put=set_xzwy) ) unorm_4 rbag;
14218 
14225  unorm_4 get_xzwy() const __GPU {
14226  return unorm_4(_M_x,_M_z,_M_w,_M_y);
14227  }
14228 
14236  {
14237  unorm_4 _Val = _Value;
14238  _M_x = _Val.x;
14239  _M_z = _Val.y;
14240  _M_w = _Val.z;
14241  _M_y = _Val.w;
14242  }
14243 
14247  __declspec( property( get=get_xwyz, put=set_xwyz) ) unorm_4 xwyz;
14251  __declspec( property( get=get_xwyz, put=set_xwyz) ) unorm_4 ragb;
14252 
14259  unorm_4 get_xwyz() const __GPU {
14260  return unorm_4(_M_x,_M_w,_M_y,_M_z);
14261  }
14262 
14270  {
14271  unorm_4 _Val = _Value;
14272  _M_x = _Val.x;
14273  _M_w = _Val.y;
14274  _M_y = _Val.z;
14275  _M_z = _Val.w;
14276  }
14277 
14281  __declspec( property( get=get_xwzy, put=set_xwzy) ) unorm_4 xwzy;
14285  __declspec( property( get=get_xwzy, put=set_xwzy) ) unorm_4 rabg;
14286 
14293  unorm_4 get_xwzy() const __GPU {
14294  return unorm_4(_M_x,_M_w,_M_z,_M_y);
14295  }
14296 
14304  {
14305  unorm_4 _Val = _Value;
14306  _M_x = _Val.x;
14307  _M_w = _Val.y;
14308  _M_z = _Val.z;
14309  _M_y = _Val.w;
14310  }
14311 
14315  __declspec( property( get=get_yxzw, put=set_yxzw) ) unorm_4 yxzw;
14319  __declspec( property( get=get_yxzw, put=set_yxzw) ) unorm_4 grba;
14320 
14327  unorm_4 get_yxzw() const __GPU {
14328  return unorm_4(_M_y,_M_x,_M_z,_M_w);
14329  }
14330 
14338  {
14339  unorm_4 _Val = _Value;
14340  _M_y = _Val.x;
14341  _M_x = _Val.y;
14342  _M_z = _Val.z;
14343  _M_w = _Val.w;
14344  }
14345 
14349  __declspec( property( get=get_yxwz, put=set_yxwz) ) unorm_4 yxwz;
14353  __declspec( property( get=get_yxwz, put=set_yxwz) ) unorm_4 grab;
14354 
14361  unorm_4 get_yxwz() const __GPU {
14362  return unorm_4(_M_y,_M_x,_M_w,_M_z);
14363  }
14364 
14372  {
14373  unorm_4 _Val = _Value;
14374  _M_y = _Val.x;
14375  _M_x = _Val.y;
14376  _M_w = _Val.z;
14377  _M_z = _Val.w;
14378  }
14379 
14383  __declspec( property( get=get_yzxw, put=set_yzxw) ) unorm_4 yzxw;
14387  __declspec( property( get=get_yzxw, put=set_yzxw) ) unorm_4 gbra;
14388 
14395  unorm_4 get_yzxw() const __GPU {
14396  return unorm_4(_M_y,_M_z,_M_x,_M_w);
14397  }
14398 
14406  {
14407  unorm_4 _Val = _Value;
14408  _M_y = _Val.x;
14409  _M_z = _Val.y;
14410  _M_x = _Val.z;
14411  _M_w = _Val.w;
14412  }
14413 
14417  __declspec( property( get=get_yzwx, put=set_yzwx) ) unorm_4 yzwx;
14421  __declspec( property( get=get_yzwx, put=set_yzwx) ) unorm_4 gbar;
14422 
14429  unorm_4 get_yzwx() const __GPU {
14430  return unorm_4(_M_y,_M_z,_M_w,_M_x);
14431  }
14432 
14440  {
14441  unorm_4 _Val = _Value;
14442  _M_y = _Val.x;
14443  _M_z = _Val.y;
14444  _M_w = _Val.z;
14445  _M_x = _Val.w;
14446  }
14447 
14451  __declspec( property( get=get_ywxz, put=set_ywxz) ) unorm_4 ywxz;
14455  __declspec( property( get=get_ywxz, put=set_ywxz) ) unorm_4 garb;
14456 
14463  unorm_4 get_ywxz() const __GPU {
14464  return unorm_4(_M_y,_M_w,_M_x,_M_z);
14465  }
14466 
14474  {
14475  unorm_4 _Val = _Value;
14476  _M_y = _Val.x;
14477  _M_w = _Val.y;
14478  _M_x = _Val.z;
14479  _M_z = _Val.w;
14480  }
14481 
14485  __declspec( property( get=get_ywzx, put=set_ywzx) ) unorm_4 ywzx;
14489  __declspec( property( get=get_ywzx, put=set_ywzx) ) unorm_4 gabr;
14490 
14497  unorm_4 get_ywzx() const __GPU {
14498  return unorm_4(_M_y,_M_w,_M_z,_M_x);
14499  }
14500 
14508  {
14509  unorm_4 _Val = _Value;
14510  _M_y = _Val.x;
14511  _M_w = _Val.y;
14512  _M_z = _Val.z;
14513  _M_x = _Val.w;
14514  }
14515 
14519  __declspec( property( get=get_zxyw, put=set_zxyw) ) unorm_4 zxyw;
14523  __declspec( property( get=get_zxyw, put=set_zxyw) ) unorm_4 brga;
14524 
14531  unorm_4 get_zxyw() const __GPU {
14532  return unorm_4(_M_z,_M_x,_M_y,_M_w);
14533  }
14534 
14542  {
14543  unorm_4 _Val = _Value;
14544  _M_z = _Val.x;
14545  _M_x = _Val.y;
14546  _M_y = _Val.z;
14547  _M_w = _Val.w;
14548  }
14549 
14553  __declspec( property( get=get_zxwy, put=set_zxwy) ) unorm_4 zxwy;
14557  __declspec( property( get=get_zxwy, put=set_zxwy) ) unorm_4 brag;
14558 
14565  unorm_4 get_zxwy() const __GPU {
14566  return unorm_4(_M_z,_M_x,_M_w,_M_y);
14567  }
14568 
14576  {
14577  unorm_4 _Val = _Value;
14578  _M_z = _Val.x;
14579  _M_x = _Val.y;
14580  _M_w = _Val.z;
14581  _M_y = _Val.w;
14582  }
14583 
14587  __declspec( property( get=get_zyxw, put=set_zyxw) ) unorm_4 zyxw;
14591  __declspec( property( get=get_zyxw, put=set_zyxw) ) unorm_4 bgra;
14592 
14599  unorm_4 get_zyxw() const __GPU {
14600  return unorm_4(_M_z,_M_y,_M_x,_M_w);
14601  }
14602 
14610  {
14611  unorm_4 _Val = _Value;
14612  _M_z = _Val.x;
14613  _M_y = _Val.y;
14614  _M_x = _Val.z;
14615  _M_w = _Val.w;
14616  }
14617 
14621  __declspec( property( get=get_zywx, put=set_zywx) ) unorm_4 zywx;
14625  __declspec( property( get=get_zywx, put=set_zywx) ) unorm_4 bgar;
14626 
14633  unorm_4 get_zywx() const __GPU {
14634  return unorm_4(_M_z,_M_y,_M_w,_M_x);
14635  }
14636 
14644  {
14645  unorm_4 _Val = _Value;
14646  _M_z = _Val.x;
14647  _M_y = _Val.y;
14648  _M_w = _Val.z;
14649  _M_x = _Val.w;
14650  }
14651 
14655  __declspec( property( get=get_zwxy, put=set_zwxy) ) unorm_4 zwxy;
14659  __declspec( property( get=get_zwxy, put=set_zwxy) ) unorm_4 barg;
14660 
14667  unorm_4 get_zwxy() const __GPU {
14668  return unorm_4(_M_z,_M_w,_M_x,_M_y);
14669  }
14670 
14678  {
14679  unorm_4 _Val = _Value;
14680  _M_z = _Val.x;
14681  _M_w = _Val.y;
14682  _M_x = _Val.z;
14683  _M_y = _Val.w;
14684  }
14685 
14689  __declspec( property( get=get_zwyx, put=set_zwyx) ) unorm_4 zwyx;
14693  __declspec( property( get=get_zwyx, put=set_zwyx) ) unorm_4 bagr;
14694 
14701  unorm_4 get_zwyx() const __GPU {
14702  return unorm_4(_M_z,_M_w,_M_y,_M_x);
14703  }
14704 
14712  {
14713  unorm_4 _Val = _Value;
14714  _M_z = _Val.x;
14715  _M_w = _Val.y;
14716  _M_y = _Val.z;
14717  _M_x = _Val.w;
14718  }
14719 
14723  __declspec( property( get=get_wxyz, put=set_wxyz) ) unorm_4 wxyz;
14727  __declspec( property( get=get_wxyz, put=set_wxyz) ) unorm_4 argb;
14728 
14735  unorm_4 get_wxyz() const __GPU {
14736  return unorm_4(_M_w,_M_x,_M_y,_M_z);
14737  }
14738 
14746  {
14747  unorm_4 _Val = _Value;
14748  _M_w = _Val.x;
14749  _M_x = _Val.y;
14750  _M_y = _Val.z;
14751  _M_z = _Val.w;
14752  }
14753 
14757  __declspec( property( get=get_wxzy, put=set_wxzy) ) unorm_4 wxzy;
14761  __declspec( property( get=get_wxzy, put=set_wxzy) ) unorm_4 arbg;
14762 
14769  unorm_4 get_wxzy() const __GPU {
14770  return unorm_4(_M_w,_M_x,_M_z,_M_y);
14771  }
14772 
14780  {
14781  unorm_4 _Val = _Value;
14782  _M_w = _Val.x;
14783  _M_x = _Val.y;
14784  _M_z = _Val.z;
14785  _M_y = _Val.w;
14786  }
14787 
14791  __declspec( property( get=get_wyxz, put=set_wyxz) ) unorm_4 wyxz;
14795  __declspec( property( get=get_wyxz, put=set_wyxz) ) unorm_4 agrb;
14796 
14803  unorm_4 get_wyxz() const __GPU {
14804  return unorm_4(_M_w,_M_y,_M_x,_M_z);
14805  }
14806 
14814  {
14815  unorm_4 _Val = _Value;
14816  _M_w = _Val.x;
14817  _M_y = _Val.y;
14818  _M_x = _Val.z;
14819  _M_z = _Val.w;
14820  }
14821 
14825  __declspec( property( get=get_wyzx, put=set_wyzx) ) unorm_4 wyzx;
14829  __declspec( property( get=get_wyzx, put=set_wyzx) ) unorm_4 agbr;
14830 
14837  unorm_4 get_wyzx() const __GPU {
14838  return unorm_4(_M_w,_M_y,_M_z,_M_x);
14839  }
14840 
14848  {
14849  unorm_4 _Val = _Value;
14850  _M_w = _Val.x;
14851  _M_y = _Val.y;
14852  _M_z = _Val.z;
14853  _M_x = _Val.w;
14854  }
14855 
14859  __declspec( property( get=get_wzxy, put=set_wzxy) ) unorm_4 wzxy;
14863  __declspec( property( get=get_wzxy, put=set_wzxy) ) unorm_4 abrg;
14864 
14871  unorm_4 get_wzxy() const __GPU {
14872  return unorm_4(_M_w,_M_z,_M_x,_M_y);
14873  }
14874 
14882  {
14883  unorm_4 _Val = _Value;
14884  _M_w = _Val.x;
14885  _M_z = _Val.y;
14886  _M_x = _Val.z;
14887  _M_y = _Val.w;
14888  }
14889 
14893  __declspec( property( get=get_wzyx, put=set_wzyx) ) unorm_4 wzyx;
14897  __declspec( property( get=get_wzyx, put=set_wzyx) ) unorm_4 abgr;
14898 
14905  unorm_4 get_wzyx() const __GPU {
14906  return unorm_4(_M_w,_M_z,_M_y,_M_x);
14907  }
14908 
14916  {
14917  unorm_4 _Val = _Value;
14918  _M_w = _Val.x;
14919  _M_z = _Val.y;
14920  _M_y = _Val.z;
14921  _M_x = _Val.w;
14922  }
14923 
14924  };
14925 
14929  class norm_2
14930  {
14931  public:
14932  typedef norm value_type;
14933  static const int size = 2;
14934  private:
14935  static const _Short_vector_base_type_id _Base_type_id = _Norm_type;
14936  private:
14937  value_type _M_x;
14938  value_type _M_y;
14939 
14940  public:
14944  __declspec( property( get=get_x, put=set_x) ) norm x;
14948  __declspec( property( get=get_x, put=set_x) ) norm r;
14949 
14956  norm get_x() const __GPU {
14957  return _M_x;
14958  }
14959 
14967  return _M_x;
14968  }
14969 
14977  return _M_x;
14978  }
14979 
14987  {
14988  _M_x = _Value;
14989  }
14990 
14994  __declspec( property( get=get_y, put=set_y) ) norm y;
14998  __declspec( property( get=get_y, put=set_y) ) norm g;
14999 
15006  norm get_y() const __GPU {
15007  return _M_y;
15008  }
15009 
15017  return _M_y;
15018  }
15019 
15027  return _M_y;
15028  }
15029 
15037  {
15038  _M_y = _Value;
15039  }
15040 
15041  public:
15046  {
15047  _M_x = norm(0.0f);
15048  _M_y = norm(0.0f);
15049  }
15050 
15060  norm_2(norm _V0, norm _V1) __GPU
15061  {
15062  _M_x = _V0;
15063  _M_y = _V1;
15064  }
15065 
15075  norm_2(float _V0, float _V1) __GPU
15076  {
15077  _M_x = norm(_V0);
15078  _M_y = norm(_V1);
15079  }
15080 
15091  {
15092  _M_x = _V0;
15093  _M_y = _V1;
15094  }
15095 
15103  {
15104  _M_x = _V;
15105  _M_y = _V;
15106  }
15107 
15108  explicit norm_2(float _V) __GPU
15109  {
15110  _M_x = norm(_V);
15111  _M_y = norm(_V);
15112  }
15113 
15120  norm_2(const norm_2& _Other) __GPU
15121  {
15122  *this = _Other;
15123  }
15124 
15125  norm_2& operator=(const norm_2& _Other) __GPU
15126  {
15127  _M_x = _Other._M_x;
15128  _M_y = _Other._M_y;
15129  return *this;
15130  }
15131 
15139  explicit inline norm_2(const uint_2& _Other) __GPU;
15140 
15148  explicit inline norm_2(const int_2& _Other) __GPU;
15149 
15157  explicit inline norm_2(const float_2& _Other) __GPU;
15158 
15166  explicit inline norm_2(const unorm_2& _Other) __GPU;
15167 
15175  explicit inline norm_2(const double_2& _Other) __GPU;
15176 
15178  {
15179  norm_2 _Value = *this;
15180  return norm_2(-_Value.x, -_Value.y);
15181  }
15182 
15184  {
15185  norm_2 _Value = *this;
15186  ++_Value._M_x;
15187  ++_Value._M_y;
15188  *this = _Value;
15189  return *this;
15190  }
15191 
15193  {
15194  norm_2 _Result = *this;
15195  ++(*this);
15196  return _Result;
15197  }
15198 
15200  {
15201  norm_2 _Value = *this;
15202  --_Value._M_x;
15203  --_Value._M_y;
15204  *this = _Value;
15205  return *this;
15206  }
15207 
15209  {
15210  norm_2 _Result = *this;
15211  --(*this);
15212  return _Result;
15213  }
15214 
15215  norm_2& operator+=(const norm_2& _Other) __GPU
15216  {
15217  norm_2 _Value1 = *this;
15218  norm_2 _Value2 = _Other;
15219  _Value1.x += _Value2.x;
15220  _Value1.y += _Value2.y;
15221  *this = _Value1;
15222  return *this;
15223  }
15224 
15225  norm_2& operator-=(const norm_2& _Other) __GPU
15226  {
15227  norm_2 _Value1 = *this;
15228  norm_2 _Value2 = _Other;
15229  _Value1.x -= _Value2.x;
15230  _Value1.y -= _Value2.y;
15231  *this = _Value1;
15232  return *this;
15233  }
15234 
15235  norm_2& operator*=(const norm_2& _Other) __GPU
15236  {
15237  norm_2 _Value1 = *this;
15238  norm_2 _Value2 = _Other;
15239  _Value1.x *= _Value2.x;
15240  _Value1.y *= _Value2.y;
15241  *this = _Value1;
15242  return *this;
15243  }
15244 
15245  norm_2& operator/=(const norm_2& _Other) __GPU
15246  {
15247  norm_2 _Value1 = *this;
15248  norm_2 _Value2 = _Other;
15249  _Value1.x /= _Value2.x;
15250  _Value1.y /= _Value2.y;
15251  *this = _Value1;
15252  return *this;
15253  }
15254 
15255  public:
15259  __declspec( property( get=get_xy, put=set_xy) ) norm_2 xy;
15263  __declspec( property( get=get_xy, put=set_xy) ) norm_2 rg;
15264 
15271  norm_2 get_xy() const __GPU {
15272  return norm_2(_M_x,_M_y);
15273  }
15274 
15281  void set_xy(const norm_2& _Value) __GPU
15282  {
15283  norm_2 _Val = _Value;
15284  _M_x = _Val.x;
15285  _M_y = _Val.y;
15286  }
15287 
15291  __declspec( property( get=get_yx, put=set_yx) ) norm_2 yx;
15295  __declspec( property( get=get_yx, put=set_yx) ) norm_2 gr;
15296 
15303  norm_2 get_yx() const __GPU {
15304  return norm_2(_M_y,_M_x);
15305  }
15306 
15313  void set_yx(const norm_2& _Value) __GPU
15314  {
15315  norm_2 _Val = _Value;
15316  _M_y = _Val.x;
15317  _M_x = _Val.y;
15318  }
15319 
15320  };
15321 
15325  class norm_3
15326  {
15327  public:
15328  typedef norm value_type;
15329  static const int size = 3;
15330  private:
15331  static const _Short_vector_base_type_id _Base_type_id = _Norm_type;
15332  private:
15333  value_type _M_x;
15334  value_type _M_y;
15335  value_type _M_z;
15336 
15337  public:
15341  __declspec( property( get=get_x, put=set_x) ) norm x;
15345  __declspec( property( get=get_x, put=set_x) ) norm r;
15346 
15353  norm get_x() const __GPU {
15354  return _M_x;
15355  }
15356 
15364  return _M_x;
15365  }
15366 
15374  return _M_x;
15375  }
15376 
15384  {
15385  _M_x = _Value;
15386  }
15387 
15391  __declspec( property( get=get_y, put=set_y) ) norm y;
15395  __declspec( property( get=get_y, put=set_y) ) norm g;
15396 
15403  norm get_y() const __GPU {
15404  return _M_y;
15405  }
15406 
15414  return _M_y;
15415  }
15416 
15424  return _M_y;
15425  }
15426 
15434  {
15435  _M_y = _Value;
15436  }
15437 
15441  __declspec( property( get=get_z, put=set_z) ) norm z;
15445  __declspec( property( get=get_z, put=set_z) ) norm b;
15446 
15453  norm get_z() const __GPU {
15454  return _M_z;
15455  }
15456 
15464  return _M_z;
15465  }
15466 
15474  return _M_z;
15475  }
15476 
15484  {
15485  _M_z = _Value;
15486  }
15487 
15488  public:
15493  {
15494  _M_x = norm(0.0f);
15495  _M_y = norm(0.0f);
15496  _M_z = norm(0.0f);
15497  }
15498 
15511  norm_3(norm _V0, norm _V1, norm _V2) __GPU
15512  {
15513  _M_x = _V0;
15514  _M_y = _V1;
15515  _M_z = _V2;
15516  }
15517 
15530  norm_3(float _V0, float _V1, float _V2) __GPU
15531  {
15532  _M_x = norm(_V0);
15533  _M_y = norm(_V1);
15534  _M_z = norm(_V2);
15535  }
15536 
15549  norm_3(unorm _V0, unorm _V1, unorm _V2) __GPU
15550  {
15551  _M_x = _V0;
15552  _M_y = _V1;
15553  _M_z = _V2;
15554  }
15555 
15563  {
15564  _M_x = _V;
15565  _M_y = _V;
15566  _M_z = _V;
15567  }
15568 
15569  explicit norm_3(float _V) __GPU
15570  {
15571  _M_x = norm(_V);
15572  _M_y = norm(_V);
15573  _M_z = norm(_V);
15574  }
15575 
15582  norm_3(const norm_3& _Other) __GPU
15583  {
15584  *this = _Other;
15585  }
15586 
15587  norm_3& operator=(const norm_3& _Other) __GPU
15588  {
15589  _M_x = _Other._M_x;
15590  _M_y = _Other._M_y;
15591  _M_z = _Other._M_z;
15592  return *this;
15593  }
15594 
15602  explicit inline norm_3(const uint_3& _Other) __GPU;
15603 
15611  explicit inline norm_3(const int_3& _Other) __GPU;
15612 
15620  explicit inline norm_3(const float_3& _Other) __GPU;
15621 
15629  explicit inline norm_3(const unorm_3& _Other) __GPU;
15630 
15638  explicit inline norm_3(const double_3& _Other) __GPU;
15639 
15641  {
15642  norm_3 _Value = *this;
15643  return norm_3(-_Value.x, -_Value.y, -_Value.z);
15644  }
15645 
15647  {
15648  norm_3 _Value = *this;
15649  ++_Value._M_x;
15650  ++_Value._M_y;
15651  ++_Value._M_z;
15652  *this = _Value;
15653  return *this;
15654  }
15655 
15657  {
15658  norm_3 _Result = *this;
15659  ++(*this);
15660  return _Result;
15661  }
15662 
15664  {
15665  norm_3 _Value = *this;
15666  --_Value._M_x;
15667  --_Value._M_y;
15668  --_Value._M_z;
15669  *this = _Value;
15670  return *this;
15671  }
15672 
15674  {
15675  norm_3 _Result = *this;
15676  --(*this);
15677  return _Result;
15678  }
15679 
15680  norm_3& operator+=(const norm_3& _Other) __GPU
15681  {
15682  norm_3 _Value1 = *this;
15683  norm_3 _Value2 = _Other;
15684  _Value1.x += _Value2.x;
15685  _Value1.y += _Value2.y;
15686  _Value1.z += _Value2.z;
15687  *this = _Value1;
15688  return *this;
15689  }
15690 
15691  norm_3& operator-=(const norm_3& _Other) __GPU
15692  {
15693  norm_3 _Value1 = *this;
15694  norm_3 _Value2 = _Other;
15695  _Value1.x -= _Value2.x;
15696  _Value1.y -= _Value2.y;
15697  _Value1.z -= _Value2.z;
15698  *this = _Value1;
15699  return *this;
15700  }
15701 
15702  norm_3& operator*=(const norm_3& _Other) __GPU
15703  {
15704  norm_3 _Value1 = *this;
15705  norm_3 _Value2 = _Other;
15706  _Value1.x *= _Value2.x;
15707  _Value1.y *= _Value2.y;
15708  _Value1.z *= _Value2.z;
15709  *this = _Value1;
15710  return *this;
15711  }
15712 
15713  norm_3& operator/=(const norm_3& _Other) __GPU
15714  {
15715  norm_3 _Value1 = *this;
15716  norm_3 _Value2 = _Other;
15717  _Value1.x /= _Value2.x;
15718  _Value1.y /= _Value2.y;
15719  _Value1.z /= _Value2.z;
15720  *this = _Value1;
15721  return *this;
15722  }
15723 
15724  public:
15728  __declspec( property( get=get_xy, put=set_xy) ) norm_2 xy;
15732  __declspec( property( get=get_xy, put=set_xy) ) norm_2 rg;
15733 
15740  norm_2 get_xy() const __GPU {
15741  return norm_2(_M_x,_M_y);
15742  }
15743 
15750  void set_xy(const norm_2& _Value) __GPU
15751  {
15752  norm_2 _Val = _Value;
15753  _M_x = _Val.x;
15754  _M_y = _Val.y;
15755  }
15756 
15760  __declspec( property( get=get_xz, put=set_xz) ) norm_2 xz;
15764  __declspec( property( get=get_xz, put=set_xz) ) norm_2 rb;
15765 
15772  norm_2 get_xz() const __GPU {
15773  return norm_2(_M_x,_M_z);
15774  }
15775 
15782  void set_xz(const norm_2& _Value) __GPU
15783  {
15784  norm_2 _Val = _Value;
15785  _M_x = _Val.x;
15786  _M_z = _Val.y;
15787  }
15788 
15792  __declspec( property( get=get_yx, put=set_yx) ) norm_2 yx;
15796  __declspec( property( get=get_yx, put=set_yx) ) norm_2 gr;
15797 
15804  norm_2 get_yx() const __GPU {
15805  return norm_2(_M_y,_M_x);
15806  }
15807 
15814  void set_yx(const norm_2& _Value) __GPU
15815  {
15816  norm_2 _Val = _Value;
15817  _M_y = _Val.x;
15818  _M_x = _Val.y;
15819  }
15820 
15824  __declspec( property( get=get_yz, put=set_yz) ) norm_2 yz;
15828  __declspec( property( get=get_yz, put=set_yz) ) norm_2 gb;
15829 
15836  norm_2 get_yz() const __GPU {
15837  return norm_2(_M_y,_M_z);
15838  }
15839 
15846  void set_yz(const norm_2& _Value) __GPU
15847  {
15848  norm_2 _Val = _Value;
15849  _M_y = _Val.x;
15850  _M_z = _Val.y;
15851  }
15852 
15856  __declspec( property( get=get_zx, put=set_zx) ) norm_2 zx;
15860  __declspec( property( get=get_zx, put=set_zx) ) norm_2 br;
15861 
15868  norm_2 get_zx() const __GPU {
15869  return norm_2(_M_z,_M_x);
15870  }
15871 
15878  void set_zx(const norm_2& _Value) __GPU
15879  {
15880  norm_2 _Val = _Value;
15881  _M_z = _Val.x;
15882  _M_x = _Val.y;
15883  }
15884 
15888  __declspec( property( get=get_zy, put=set_zy) ) norm_2 zy;
15892  __declspec( property( get=get_zy, put=set_zy) ) norm_2 bg;
15893 
15900  norm_2 get_zy() const __GPU {
15901  return norm_2(_M_z,_M_y);
15902  }
15903 
15910  void set_zy(const norm_2& _Value) __GPU
15911  {
15912  norm_2 _Val = _Value;
15913  _M_z = _Val.x;
15914  _M_y = _Val.y;
15915  }
15916 
15920  __declspec( property( get=get_xyz, put=set_xyz) ) norm_3 xyz;
15924  __declspec( property( get=get_xyz, put=set_xyz) ) norm_3 rgb;
15925 
15932  norm_3 get_xyz() const __GPU {
15933  return norm_3(_M_x,_M_y,_M_z);
15934  }
15935 
15943  {
15944  norm_3 _Val = _Value;
15945  _M_x = _Val.x;
15946  _M_y = _Val.y;
15947  _M_z = _Val.z;
15948  }
15949 
15953  __declspec( property( get=get_xzy, put=set_xzy) ) norm_3 xzy;
15957  __declspec( property( get=get_xzy, put=set_xzy) ) norm_3 rbg;
15958 
15965  norm_3 get_xzy() const __GPU {
15966  return norm_3(_M_x,_M_z,_M_y);
15967  }
15968 
15976  {
15977  norm_3 _Val = _Value;
15978  _M_x = _Val.x;
15979  _M_z = _Val.y;
15980  _M_y = _Val.z;
15981  }
15982 
15986  __declspec( property( get=get_yxz, put=set_yxz) ) norm_3 yxz;
15990  __declspec( property( get=get_yxz, put=set_yxz) ) norm_3 grb;
15991 
15998  norm_3 get_yxz() const __GPU {
15999  return norm_3(_M_y,_M_x,_M_z);
16000  }
16001 
16009  {
16010  norm_3 _Val = _Value;
16011  _M_y = _Val.x;
16012  _M_x = _Val.y;
16013  _M_z = _Val.z;
16014  }
16015 
16019  __declspec( property( get=get_yzx, put=set_yzx) ) norm_3 yzx;
16023  __declspec( property( get=get_yzx, put=set_yzx) ) norm_3 gbr;
16024 
16031  norm_3 get_yzx() const __GPU {
16032  return norm_3(_M_y,_M_z,_M_x);
16033  }
16034 
16042  {
16043  norm_3 _Val = _Value;
16044  _M_y = _Val.x;
16045  _M_z = _Val.y;
16046  _M_x = _Val.z;
16047  }
16048 
16052  __declspec( property( get=get_zxy, put=set_zxy) ) norm_3 zxy;
16056  __declspec( property( get=get_zxy, put=set_zxy) ) norm_3 brg;
16057 
16064  norm_3 get_zxy() const __GPU {
16065  return norm_3(_M_z,_M_x,_M_y);
16066  }
16067 
16075  {
16076  norm_3 _Val = _Value;
16077  _M_z = _Val.x;
16078  _M_x = _Val.y;
16079  _M_y = _Val.z;
16080  }
16081 
16085  __declspec( property( get=get_zyx, put=set_zyx) ) norm_3 zyx;
16089  __declspec( property( get=get_zyx, put=set_zyx) ) norm_3 bgr;
16090 
16097  norm_3 get_zyx() const __GPU {
16098  return norm_3(_M_z,_M_y,_M_x);
16099  }
16100 
16108  {
16109  norm_3 _Val = _Value;
16110  _M_z = _Val.x;
16111  _M_y = _Val.y;
16112  _M_x = _Val.z;
16113  }
16114 
16115  };
16116 
16120  class norm_4
16121  {
16122  public:
16123  typedef norm value_type;
16124  static const int size = 4;
16125  private:
16126  static const _Short_vector_base_type_id _Base_type_id = _Norm_type;
16127  private:
16128  value_type _M_x;
16129  value_type _M_y;
16130  value_type _M_z;
16131  value_type _M_w;
16132 
16133  public:
16137  __declspec( property( get=get_x, put=set_x) ) norm x;
16141  __declspec( property( get=get_x, put=set_x) ) norm r;
16142 
16149  norm get_x() const __GPU {
16150  return _M_x;
16151  }
16152 
16160  return _M_x;
16161  }
16162 
16170  return _M_x;
16171  }
16172 
16180  {
16181  _M_x = _Value;
16182  }
16183 
16187  __declspec( property( get=get_y, put=set_y) ) norm y;
16191  __declspec( property( get=get_y, put=set_y) ) norm g;
16192 
16199  norm get_y() const __GPU {
16200  return _M_y;
16201  }
16202 
16210  return _M_y;
16211  }
16212 
16220  return _M_y;
16221  }
16222 
16230  {
16231  _M_y = _Value;
16232  }
16233 
16237  __declspec( property( get=get_z, put=set_z) ) norm z;
16241  __declspec( property( get=get_z, put=set_z) ) norm b;
16242 
16249  norm get_z() const __GPU {
16250  return _M_z;
16251  }
16252 
16260  return _M_z;
16261  }
16262 
16270  return _M_z;
16271  }
16272 
16280  {
16281  _M_z = _Value;
16282  }
16283 
16287  __declspec( property( get=get_w, put=set_w) ) norm w;
16291  __declspec( property( get=get_w, put=set_w) ) norm a;
16292 
16299  norm get_w() const __GPU {
16300  return _M_w;
16301  }
16302 
16310  return _M_w;
16311  }
16312 
16320  return _M_w;
16321  }
16322 
16330  {
16331  _M_w = _Value;
16332  }
16333 
16334  public:
16339  {
16340  _M_x = norm(0.0f);
16341  _M_y = norm(0.0f);
16342  _M_z = norm(0.0f);
16343  _M_w = norm(0.0f);
16344  }
16345 
16361  norm_4(norm _V0, norm _V1, norm _V2, norm _V3) __GPU
16362  {
16363  _M_x = _V0;
16364  _M_y = _V1;
16365  _M_z = _V2;
16366  _M_w = _V3;
16367  }
16368 
16384  norm_4(float _V0, float _V1, float _V2, float _V3) __GPU
16385  {
16386  _M_x = norm(_V0);
16387  _M_y = norm(_V1);
16388  _M_z = norm(_V2);
16389  _M_w = norm(_V3);
16390  }
16391 
16407  norm_4(unorm _V0, unorm _V1, unorm _V2, unorm _V3) __GPU
16408  {
16409  _M_x = _V0;
16410  _M_y = _V1;
16411  _M_z = _V2;
16412  _M_w = _V3;
16413  }
16414 
16422  {
16423  _M_x = _V;
16424  _M_y = _V;
16425  _M_z = _V;
16426  _M_w = _V;
16427  }
16428 
16429  explicit norm_4(float _V) __GPU
16430  {
16431  _M_x = norm(_V);
16432  _M_y = norm(_V);
16433  _M_z = norm(_V);
16434  _M_w = norm(_V);
16435  }
16436 
16443  norm_4(const norm_4& _Other) __GPU
16444  {
16445  *this = _Other;
16446  }
16447 
16448  norm_4& operator=(const norm_4& _Other) __GPU
16449  {
16450  _M_x = _Other._M_x;
16451  _M_y = _Other._M_y;
16452  _M_z = _Other._M_z;
16453  _M_w = _Other._M_w;
16454  return *this;
16455  }
16456 
16464  explicit inline norm_4(const uint_4& _Other) __GPU;
16465 
16473  explicit inline norm_4(const int_4& _Other) __GPU;
16474 
16482  explicit inline norm_4(const float_4& _Other) __GPU;
16483 
16491  explicit inline norm_4(const unorm_4& _Other) __GPU;
16492 
16500  explicit inline norm_4(const double_4& _Other) __GPU;
16501 
16503  {
16504  norm_4 _Value = *this;
16505  return norm_4(-_Value.x, -_Value.y, -_Value.z, -_Value.w);
16506  }
16507 
16509  {
16510  norm_4 _Value = *this;
16511  ++_Value._M_x;
16512  ++_Value._M_y;
16513  ++_Value._M_z;
16514  ++_Value._M_w;
16515  *this = _Value;
16516  return *this;
16517  }
16518 
16520  {
16521  norm_4 _Result = *this;
16522  ++(*this);
16523  return _Result;
16524  }
16525 
16527  {
16528  norm_4 _Value = *this;
16529  --_Value._M_x;
16530  --_Value._M_y;
16531  --_Value._M_z;
16532  --_Value._M_w;
16533  *this = _Value;
16534  return *this;
16535  }
16536 
16538  {
16539  norm_4 _Result = *this;
16540  --(*this);
16541  return _Result;
16542  }
16543 
16544  norm_4& operator+=(const norm_4& _Other) __GPU
16545  {
16546  norm_4 _Value1 = *this;
16547  norm_4 _Value2 = _Other;
16548  _Value1.x += _Value2.x;
16549  _Value1.y += _Value2.y;
16550  _Value1.z += _Value2.z;
16551  _Value1.w += _Value2.w;
16552  *this = _Value1;
16553  return *this;
16554  }
16555 
16556  norm_4& operator-=(const norm_4& _Other) __GPU
16557  {
16558  norm_4 _Value1 = *this;
16559  norm_4 _Value2 = _Other;
16560  _Value1.x -= _Value2.x;
16561  _Value1.y -= _Value2.y;
16562  _Value1.z -= _Value2.z;
16563  _Value1.w -= _Value2.w;
16564  *this = _Value1;
16565  return *this;
16566  }
16567 
16568  norm_4& operator*=(const norm_4& _Other) __GPU
16569  {
16570  norm_4 _Value1 = *this;
16571  norm_4 _Value2 = _Other;
16572  _Value1.x *= _Value2.x;
16573  _Value1.y *= _Value2.y;
16574  _Value1.z *= _Value2.z;
16575  _Value1.w *= _Value2.w;
16576  *this = _Value1;
16577  return *this;
16578  }
16579 
16580  norm_4& operator/=(const norm_4& _Other) __GPU
16581  {
16582  norm_4 _Value1 = *this;
16583  norm_4 _Value2 = _Other;
16584  _Value1.x /= _Value2.x;
16585  _Value1.y /= _Value2.y;
16586  _Value1.z /= _Value2.z;
16587  _Value1.w /= _Value2.w;
16588  *this = _Value1;
16589  return *this;
16590  }
16591 
16592  public:
16596  __declspec( property( get=get_xy, put=set_xy) ) norm_2 xy;
16600  __declspec( property( get=get_xy, put=set_xy) ) norm_2 rg;
16601 
16608  norm_2 get_xy() const __GPU {
16609  return norm_2(_M_x,_M_y);
16610  }
16611 
16618  void set_xy(const norm_2& _Value) __GPU
16619  {
16620  norm_2 _Val = _Value;
16621  _M_x = _Val.x;
16622  _M_y = _Val.y;
16623  }
16624 
16628  __declspec( property( get=get_xz, put=set_xz) ) norm_2 xz;
16632  __declspec( property( get=get_xz, put=set_xz) ) norm_2 rb;
16633 
16640  norm_2 get_xz() const __GPU {
16641  return norm_2(_M_x,_M_z);
16642  }
16643 
16650  void set_xz(const norm_2& _Value) __GPU
16651  {
16652  norm_2 _Val = _Value;
16653  _M_x = _Val.x;
16654  _M_z = _Val.y;
16655  }
16656 
16660  __declspec( property( get=get_xw, put=set_xw) ) norm_2 xw;
16664  __declspec( property( get=get_xw, put=set_xw) ) norm_2 ra;
16665 
16672  norm_2 get_xw() const __GPU {
16673  return norm_2(_M_x,_M_w);
16674  }
16675 
16682  void set_xw(const norm_2& _Value) __GPU
16683  {
16684  norm_2 _Val = _Value;
16685  _M_x = _Val.x;
16686  _M_w = _Val.y;
16687  }
16688 
16692  __declspec( property( get=get_yx, put=set_yx) ) norm_2 yx;
16696  __declspec( property( get=get_yx, put=set_yx) ) norm_2 gr;
16697 
16704  norm_2 get_yx() const __GPU {
16705  return norm_2(_M_y,_M_x);
16706  }
16707 
16714  void set_yx(const norm_2& _Value) __GPU
16715  {
16716  norm_2 _Val = _Value;
16717  _M_y = _Val.x;
16718  _M_x = _Val.y;
16719  }
16720 
16724  __declspec( property( get=get_yz, put=set_yz) ) norm_2 yz;
16728  __declspec( property( get=get_yz, put=set_yz) ) norm_2 gb;
16729 
16736  norm_2 get_yz() const __GPU {
16737  return norm_2(_M_y,_M_z);
16738  }
16739 
16746  void set_yz(const norm_2& _Value) __GPU
16747  {
16748  norm_2 _Val = _Value;
16749  _M_y = _Val.x;
16750  _M_z = _Val.y;
16751  }
16752 
16756  __declspec( property( get=get_yw, put=set_yw) ) norm_2 yw;
16760  __declspec( property( get=get_yw, put=set_yw) ) norm_2 ga;
16761 
16768  norm_2 get_yw() const __GPU {
16769  return norm_2(_M_y,_M_w);
16770  }
16771 
16778  void set_yw(const norm_2& _Value) __GPU
16779  {
16780  norm_2 _Val = _Value;
16781  _M_y = _Val.x;
16782  _M_w = _Val.y;
16783  }
16784 
16788  __declspec( property( get=get_zx, put=set_zx) ) norm_2 zx;
16792  __declspec( property( get=get_zx, put=set_zx) ) norm_2 br;
16793 
16800  norm_2 get_zx() const __GPU {
16801  return norm_2(_M_z,_M_x);
16802  }
16803 
16810  void set_zx(const norm_2& _Value) __GPU
16811  {
16812  norm_2 _Val = _Value;
16813  _M_z = _Val.x;
16814  _M_x = _Val.y;
16815  }
16816 
16820  __declspec( property( get=get_zy, put=set_zy) ) norm_2 zy;
16824  __declspec( property( get=get_zy, put=set_zy) ) norm_2 bg;
16825 
16832  norm_2 get_zy() const __GPU {
16833  return norm_2(_M_z,_M_y);
16834  }
16835 
16842  void set_zy(const norm_2& _Value) __GPU
16843  {
16844  norm_2 _Val = _Value;
16845  _M_z = _Val.x;
16846  _M_y = _Val.y;
16847  }
16848 
16852  __declspec( property( get=get_zw, put=set_zw) ) norm_2 zw;
16856  __declspec( property( get=get_zw, put=set_zw) ) norm_2 ba;
16857 
16864  norm_2 get_zw() const __GPU {
16865  return norm_2(_M_z,_M_w);
16866  }
16867 
16874  void set_zw(const norm_2& _Value) __GPU
16875  {
16876  norm_2 _Val = _Value;
16877  _M_z = _Val.x;
16878  _M_w = _Val.y;
16879  }
16880 
16884  __declspec( property( get=get_wx, put=set_wx) ) norm_2 wx;
16888  __declspec( property( get=get_wx, put=set_wx) ) norm_2 ar;
16889 
16896  norm_2 get_wx() const __GPU {
16897  return norm_2(_M_w,_M_x);
16898  }
16899 
16906  void set_wx(const norm_2& _Value) __GPU
16907  {
16908  norm_2 _Val = _Value;
16909  _M_w = _Val.x;
16910  _M_x = _Val.y;
16911  }
16912 
16916  __declspec( property( get=get_wy, put=set_wy) ) norm_2 wy;
16920  __declspec( property( get=get_wy, put=set_wy) ) norm_2 ag;
16921 
16928  norm_2 get_wy() const __GPU {
16929  return norm_2(_M_w,_M_y);
16930  }
16931 
16938  void set_wy(const norm_2& _Value) __GPU
16939  {
16940  norm_2 _Val = _Value;
16941  _M_w = _Val.x;
16942  _M_y = _Val.y;
16943  }
16944 
16948  __declspec( property( get=get_wz, put=set_wz) ) norm_2 wz;
16952  __declspec( property( get=get_wz, put=set_wz) ) norm_2 ab;
16953 
16960  norm_2 get_wz() const __GPU {
16961  return norm_2(_M_w,_M_z);
16962  }
16963 
16970  void set_wz(const norm_2& _Value) __GPU
16971  {
16972  norm_2 _Val = _Value;
16973  _M_w = _Val.x;
16974  _M_z = _Val.y;
16975  }
16976 
16980  __declspec( property( get=get_xyz, put=set_xyz) ) norm_3 xyz;
16984  __declspec( property( get=get_xyz, put=set_xyz) ) norm_3 rgb;
16985 
16992  norm_3 get_xyz() const __GPU {
16993  return norm_3(_M_x,_M_y,_M_z);
16994  }
16995 
17003  {
17004  norm_3 _Val = _Value;
17005  _M_x = _Val.x;
17006  _M_y = _Val.y;
17007  _M_z = _Val.z;
17008  }
17009 
17013  __declspec( property( get=get_xyw, put=set_xyw) ) norm_3 xyw;
17017  __declspec( property( get=get_xyw, put=set_xyw) ) norm_3 rga;
17018 
17025  norm_3 get_xyw() const __GPU {
17026  return norm_3(_M_x,_M_y,_M_w);
17027  }
17028 
17036  {
17037  norm_3 _Val = _Value;
17038  _M_x = _Val.x;
17039  _M_y = _Val.y;
17040  _M_w = _Val.z;
17041  }
17042 
17046  __declspec( property( get=get_xzy, put=set_xzy) ) norm_3 xzy;
17050  __declspec( property( get=get_xzy, put=set_xzy) ) norm_3 rbg;
17051 
17058  norm_3 get_xzy() const __GPU {
17059  return norm_3(_M_x,_M_z,_M_y);
17060  }
17061 
17069  {
17070  norm_3 _Val = _Value;
17071  _M_x = _Val.x;
17072  _M_z = _Val.y;
17073  _M_y = _Val.z;
17074  }
17075 
17079  __declspec( property( get=get_xzw, put=set_xzw) ) norm_3 xzw;
17083  __declspec( property( get=get_xzw, put=set_xzw) ) norm_3 rba;
17084 
17091  norm_3 get_xzw() const __GPU {
17092  return norm_3(_M_x,_M_z,_M_w);
17093  }
17094 
17102  {
17103  norm_3 _Val = _Value;
17104  _M_x = _Val.x;
17105  _M_z = _Val.y;
17106  _M_w = _Val.z;
17107  }
17108 
17112  __declspec( property( get=get_xwy, put=set_xwy) ) norm_3 xwy;
17116  __declspec( property( get=get_xwy, put=set_xwy) ) norm_3 rag;
17117 
17124  norm_3 get_xwy() const __GPU {
17125  return norm_3(_M_x,_M_w,_M_y);
17126  }
17127 
17135  {
17136  norm_3 _Val = _Value;
17137  _M_x = _Val.x;
17138  _M_w = _Val.y;
17139  _M_y = _Val.z;
17140  }
17141 
17145  __declspec( property( get=get_xwz, put=set_xwz) ) norm_3 xwz;
17149  __declspec( property( get=get_xwz, put=set_xwz) ) norm_3 rab;
17150 
17157  norm_3 get_xwz() const __GPU {
17158  return norm_3(_M_x,_M_w,_M_z);
17159  }
17160 
17168  {
17169  norm_3 _Val = _Value;
17170  _M_x = _Val.x;
17171  _M_w = _Val.y;
17172  _M_z = _Val.z;
17173  }
17174 
17178  __declspec( property( get=get_yxz, put=set_yxz) ) norm_3 yxz;
17182  __declspec( property( get=get_yxz, put=set_yxz) ) norm_3 grb;
17183 
17190  norm_3 get_yxz() const __GPU {
17191  return norm_3(_M_y,_M_x,_M_z);
17192  }
17193 
17201  {
17202  norm_3 _Val = _Value;
17203  _M_y = _Val.x;
17204  _M_x = _Val.y;
17205  _M_z = _Val.z;
17206  }
17207 
17211  __declspec( property( get=get_yxw, put=set_yxw) ) norm_3 yxw;
17215  __declspec( property( get=get_yxw, put=set_yxw) ) norm_3 gra;
17216 
17223  norm_3 get_yxw() const __GPU {
17224  return norm_3(_M_y,_M_x,_M_w);
17225  }
17226 
17234  {
17235  norm_3 _Val = _Value;
17236  _M_y = _Val.x;
17237  _M_x = _Val.y;
17238  _M_w = _Val.z;
17239  }
17240 
17244  __declspec( property( get=get_yzx, put=set_yzx) ) norm_3 yzx;
17248  __declspec( property( get=get_yzx, put=set_yzx) ) norm_3 gbr;
17249 
17256  norm_3 get_yzx() const __GPU {
17257  return norm_3(_M_y,_M_z,_M_x);
17258  }
17259 
17267  {
17268  norm_3 _Val = _Value;
17269  _M_y = _Val.x;
17270  _M_z = _Val.y;
17271  _M_x = _Val.z;
17272  }
17273 
17277  __declspec( property( get=get_yzw, put=set_yzw) ) norm_3 yzw;
17281  __declspec( property( get=get_yzw, put=set_yzw) ) norm_3 gba;
17282 
17289  norm_3 get_yzw() const __GPU {
17290  return norm_3(_M_y,_M_z,_M_w);
17291  }
17292 
17300  {
17301  norm_3 _Val = _Value;
17302  _M_y = _Val.x;
17303  _M_z = _Val.y;
17304  _M_w = _Val.z;
17305  }
17306 
17310  __declspec( property( get=get_ywx, put=set_ywx) ) norm_3 ywx;
17314  __declspec( property( get=get_ywx, put=set_ywx) ) norm_3 gar;
17315 
17322  norm_3 get_ywx() const __GPU {
17323  return norm_3(_M_y,_M_w,_M_x);
17324  }
17325 
17333  {
17334  norm_3 _Val = _Value;
17335  _M_y = _Val.x;
17336  _M_w = _Val.y;
17337  _M_x = _Val.z;
17338  }
17339 
17343  __declspec( property( get=get_ywz, put=set_ywz) ) norm_3 ywz;
17347  __declspec( property( get=get_ywz, put=set_ywz) ) norm_3 gab;
17348 
17355  norm_3 get_ywz() const __GPU {
17356  return norm_3(_M_y,_M_w,_M_z);
17357  }
17358 
17366  {
17367  norm_3 _Val = _Value;
17368  _M_y = _Val.x;
17369  _M_w = _Val.y;
17370  _M_z = _Val.z;
17371  }
17372 
17376  __declspec( property( get=get_zxy, put=set_zxy) ) norm_3 zxy;
17380  __declspec( property( get=get_zxy, put=set_zxy) ) norm_3 brg;
17381 
17388  norm_3 get_zxy() const __GPU {
17389  return norm_3(_M_z,_M_x,_M_y);
17390  }
17391 
17399  {
17400  norm_3 _Val = _Value;
17401  _M_z = _Val.x;
17402  _M_x = _Val.y;
17403  _M_y = _Val.z;
17404  }
17405 
17409  __declspec( property( get=get_zxw, put=set_zxw) ) norm_3 zxw;
17413  __declspec( property( get=get_zxw, put=set_zxw) ) norm_3 bra;
17414 
17421  norm_3 get_zxw() const __GPU {
17422  return norm_3(_M_z,_M_x,_M_w);
17423  }
17424 
17432  {
17433  norm_3 _Val = _Value;
17434  _M_z = _Val.x;
17435  _M_x = _Val.y;
17436  _M_w = _Val.z;
17437  }
17438 
17442  __declspec( property( get=get_zyx, put=set_zyx) ) norm_3 zyx;
17446  __declspec( property( get=get_zyx, put=set_zyx) ) norm_3 bgr;
17447 
17454  norm_3 get_zyx() const __GPU {
17455  return norm_3(_M_z,_M_y,_M_x);
17456  }
17457 
17465  {
17466  norm_3 _Val = _Value;
17467  _M_z = _Val.x;
17468  _M_y = _Val.y;
17469  _M_x = _Val.z;
17470  }
17471 
17475  __declspec( property( get=get_zyw, put=set_zyw) ) norm_3 zyw;
17479  __declspec( property( get=get_zyw, put=set_zyw) ) norm_3 bga;
17480 
17487  norm_3 get_zyw() const __GPU {
17488  return norm_3(_M_z,_M_y,_M_w);
17489  }
17490 
17498  {
17499  norm_3 _Val = _Value;
17500  _M_z = _Val.x;
17501  _M_y = _Val.y;
17502  _M_w = _Val.z;
17503  }
17504 
17508  __declspec( property( get=get_zwx, put=set_zwx) ) norm_3 zwx;
17512  __declspec( property( get=get_zwx, put=set_zwx) ) norm_3 bar;
17513 
17520  norm_3 get_zwx() const __GPU {
17521  return norm_3(_M_z,_M_w,_M_x);
17522  }
17523 
17531  {
17532  norm_3 _Val = _Value;
17533  _M_z = _Val.x;
17534  _M_w = _Val.y;
17535  _M_x = _Val.z;
17536  }
17537 
17541  __declspec( property( get=get_zwy, put=set_zwy) ) norm_3 zwy;
17545  __declspec( property( get=get_zwy, put=set_zwy) ) norm_3 bag;
17546 
17553  norm_3 get_zwy() const __GPU {
17554  return norm_3(_M_z,_M_w,_M_y);
17555  }
17556 
17564  {
17565  norm_3 _Val = _Value;
17566  _M_z = _Val.x;
17567  _M_w = _Val.y;
17568  _M_y = _Val.z;
17569  }
17570 
17574  __declspec( property( get=get_wxy, put=set_wxy) ) norm_3 wxy;
17578  __declspec( property( get=get_wxy, put=set_wxy) ) norm_3 arg;
17579 
17586  norm_3 get_wxy() const __GPU {
17587  return norm_3(_M_w,_M_x,_M_y);
17588  }
17589 
17597  {
17598  norm_3 _Val = _Value;
17599  _M_w = _Val.x;
17600  _M_x = _Val.y;
17601  _M_y = _Val.z;
17602  }
17603 
17607  __declspec( property( get=get_wxz, put=set_wxz) ) norm_3 wxz;
17611  __declspec( property( get=get_wxz, put=set_wxz) ) norm_3 arb;
17612 
17619  norm_3 get_wxz() const __GPU {
17620  return norm_3(_M_w,_M_x,_M_z);
17621  }
17622 
17630  {
17631  norm_3 _Val = _Value;
17632  _M_w = _Val.x;
17633  _M_x = _Val.y;
17634  _M_z = _Val.z;
17635  }
17636 
17640  __declspec( property( get=get_wyx, put=set_wyx) ) norm_3 wyx;
17644  __declspec( property( get=get_wyx, put=set_wyx) ) norm_3 agr;
17645 
17652  norm_3 get_wyx() const __GPU {
17653  return norm_3(_M_w,_M_y,_M_x);
17654  }
17655 
17663  {
17664  norm_3 _Val = _Value;
17665  _M_w = _Val.x;
17666  _M_y = _Val.y;
17667  _M_x = _Val.z;
17668  }
17669 
17673  __declspec( property( get=get_wyz, put=set_wyz) ) norm_3 wyz;
17677  __declspec( property( get=get_wyz, put=set_wyz) ) norm_3 agb;
17678 
17685  norm_3 get_wyz() const __GPU {
17686  return norm_3(_M_w,_M_y,_M_z);
17687  }
17688 
17696  {
17697  norm_3 _Val = _Value;
17698  _M_w = _Val.x;
17699  _M_y = _Val.y;
17700  _M_z = _Val.z;
17701  }
17702 
17706  __declspec( property( get=get_wzx, put=set_wzx) ) norm_3 wzx;
17710  __declspec( property( get=get_wzx, put=set_wzx) ) norm_3 abr;
17711 
17718  norm_3 get_wzx() const __GPU {
17719  return norm_3(_M_w,_M_z,_M_x);
17720  }
17721 
17729  {
17730  norm_3 _Val = _Value;
17731  _M_w = _Val.x;
17732  _M_z = _Val.y;
17733  _M_x = _Val.z;
17734  }
17735 
17739  __declspec( property( get=get_wzy, put=set_wzy) ) norm_3 wzy;
17743  __declspec( property( get=get_wzy, put=set_wzy) ) norm_3 abg;
17744 
17751  norm_3 get_wzy() const __GPU {
17752  return norm_3(_M_w,_M_z,_M_y);
17753  }
17754 
17762  {
17763  norm_3 _Val = _Value;
17764  _M_w = _Val.x;
17765  _M_z = _Val.y;
17766  _M_y = _Val.z;
17767  }
17768 
17772  __declspec( property( get=get_xyzw, put=set_xyzw) ) norm_4 xyzw;
17776  __declspec( property( get=get_xyzw, put=set_xyzw) ) norm_4 rgba;
17777 
17784  norm_4 get_xyzw() const __GPU {
17785  return norm_4(_M_x,_M_y,_M_z,_M_w);
17786  }
17787 
17795  {
17796  norm_4 _Val = _Value;
17797  _M_x = _Val.x;
17798  _M_y = _Val.y;
17799  _M_z = _Val.z;
17800  _M_w = _Val.w;
17801  }
17802 
17806  __declspec( property( get=get_xywz, put=set_xywz) ) norm_4 xywz;
17810  __declspec( property( get=get_xywz, put=set_xywz) ) norm_4 rgab;
17811 
17818  norm_4 get_xywz() const __GPU {
17819  return norm_4(_M_x,_M_y,_M_w,_M_z);
17820  }
17821 
17829  {
17830  norm_4 _Val = _Value;
17831  _M_x = _Val.x;
17832  _M_y = _Val.y;
17833  _M_w = _Val.z;
17834  _M_z = _Val.w;
17835  }
17836 
17840  __declspec( property( get=get_xzyw, put=set_xzyw) ) norm_4 xzyw;
17844  __declspec( property( get=get_xzyw, put=set_xzyw) ) norm_4 rbga;
17845 
17852  norm_4 get_xzyw() const __GPU {
17853  return norm_4(_M_x,_M_z,_M_y,_M_w);
17854  }
17855 
17863  {
17864  norm_4 _Val = _Value;
17865  _M_x = _Val.x;
17866  _M_z = _Val.y;
17867  _M_y = _Val.z;
17868  _M_w = _Val.w;
17869  }
17870 
17874  __declspec( property( get=get_xzwy, put=set_xzwy) ) norm_4 xzwy;
17878  __declspec( property( get=get_xzwy, put=set_xzwy) ) norm_4 rbag;
17879 
17886  norm_4 get_xzwy() const __GPU {
17887  return norm_4(_M_x,_M_z,_M_w,_M_y);
17888  }
17889 
17897  {
17898  norm_4 _Val = _Value;
17899  _M_x = _Val.x;
17900  _M_z = _Val.y;
17901  _M_w = _Val.z;
17902  _M_y = _Val.w;
17903  }
17904 
17908  __declspec( property( get=get_xwyz, put=set_xwyz) ) norm_4 xwyz;
17912  __declspec( property( get=get_xwyz, put=set_xwyz) ) norm_4 ragb;
17913 
17920  norm_4 get_xwyz() const __GPU {
17921  return norm_4(_M_x,_M_w,_M_y,_M_z);
17922  }
17923 
17931  {
17932  norm_4 _Val = _Value;
17933  _M_x = _Val.x;
17934  _M_w = _Val.y;
17935  _M_y = _Val.z;
17936  _M_z = _Val.w;
17937  }
17938 
17942  __declspec( property( get=get_xwzy, put=set_xwzy) ) norm_4 xwzy;
17946  __declspec( property( get=get_xwzy, put=set_xwzy) ) norm_4 rabg;
17947 
17954  norm_4 get_xwzy() const __GPU {
17955  return norm_4(_M_x,_M_w,_M_z,_M_y);
17956  }
17957 
17965  {
17966  norm_4 _Val = _Value;
17967  _M_x = _Val.x;
17968  _M_w = _Val.y;
17969  _M_z = _Val.z;
17970  _M_y = _Val.w;
17971  }
17972 
17976  __declspec( property( get=get_yxzw, put=set_yxzw) ) norm_4 yxzw;
17980  __declspec( property( get=get_yxzw, put=set_yxzw) ) norm_4 grba;
17981 
17988  norm_4 get_yxzw() const __GPU {
17989  return norm_4(_M_y,_M_x,_M_z,_M_w);
17990  }
17991 
17999  {
18000  norm_4 _Val = _Value;
18001  _M_y = _Val.x;
18002  _M_x = _Val.y;
18003  _M_z = _Val.z;
18004  _M_w = _Val.w;
18005  }
18006 
18010  __declspec( property( get=get_yxwz, put=set_yxwz) ) norm_4 yxwz;
18014  __declspec( property( get=get_yxwz, put=set_yxwz) ) norm_4 grab;
18015 
18022  norm_4 get_yxwz() const __GPU {
18023  return norm_4(_M_y,_M_x,_M_w,_M_z);
18024  }
18025 
18033  {
18034  norm_4 _Val = _Value;
18035  _M_y = _Val.x;
18036  _M_x = _Val.y;
18037  _M_w = _Val.z;
18038  _M_z = _Val.w;
18039  }
18040 
18044  __declspec( property( get=get_yzxw, put=set_yzxw) ) norm_4 yzxw;
18048  __declspec( property( get=get_yzxw, put=set_yzxw) ) norm_4 gbra;
18049 
18056  norm_4 get_yzxw() const __GPU {
18057  return norm_4(_M_y,_M_z,_M_x,_M_w);
18058  }
18059 
18067  {
18068  norm_4 _Val = _Value;
18069  _M_y = _Val.x;
18070  _M_z = _Val.y;
18071  _M_x = _Val.z;
18072  _M_w = _Val.w;
18073  }
18074 
18078  __declspec( property( get=get_yzwx, put=set_yzwx) ) norm_4 yzwx;
18082  __declspec( property( get=get_yzwx, put=set_yzwx) ) norm_4 gbar;
18083 
18090  norm_4 get_yzwx() const __GPU {
18091  return norm_4(_M_y,_M_z,_M_w,_M_x);
18092  }
18093 
18101  {
18102  norm_4 _Val = _Value;
18103  _M_y = _Val.x;
18104  _M_z = _Val.y;
18105  _M_w = _Val.z;
18106  _M_x = _Val.w;
18107  }
18108 
18112  __declspec( property( get=get_ywxz, put=set_ywxz) ) norm_4 ywxz;
18116  __declspec( property( get=get_ywxz, put=set_ywxz) ) norm_4 garb;
18117 
18124  norm_4 get_ywxz() const __GPU {
18125  return norm_4(_M_y,_M_w,_M_x,_M_z);
18126  }
18127 
18135  {
18136  norm_4 _Val = _Value;
18137  _M_y = _Val.x;
18138  _M_w = _Val.y;
18139  _M_x = _Val.z;
18140  _M_z = _Val.w;
18141  }
18142 
18146  __declspec( property( get=get_ywzx, put=set_ywzx) ) norm_4 ywzx;
18150  __declspec( property( get=get_ywzx, put=set_ywzx) ) norm_4 gabr;
18151 
18158  norm_4 get_ywzx() const __GPU {
18159  return norm_4(_M_y,_M_w,_M_z,_M_x);
18160  }
18161 
18169  {
18170  norm_4 _Val = _Value;
18171  _M_y = _Val.x;
18172  _M_w = _Val.y;
18173  _M_z = _Val.z;
18174  _M_x = _Val.w;
18175  }
18176 
18180  __declspec( property( get=get_zxyw, put=set_zxyw) ) norm_4 zxyw;
18184  __declspec( property( get=get_zxyw, put=set_zxyw) ) norm_4 brga;
18185 
18192  norm_4 get_zxyw() const __GPU {
18193  return norm_4(_M_z,_M_x,_M_y,_M_w);
18194  }
18195 
18203  {
18204  norm_4 _Val = _Value;
18205  _M_z = _Val.x;
18206  _M_x = _Val.y;
18207  _M_y = _Val.z;
18208  _M_w = _Val.w;
18209  }
18210 
18214  __declspec( property( get=get_zxwy, put=set_zxwy) ) norm_4 zxwy;
18218  __declspec( property( get=get_zxwy, put=set_zxwy) ) norm_4 brag;
18219 
18226  norm_4 get_zxwy() const __GPU {
18227  return norm_4(_M_z,_M_x,_M_w,_M_y);
18228  }
18229 
18237  {
18238  norm_4 _Val = _Value;
18239  _M_z = _Val.x;
18240  _M_x = _Val.y;
18241  _M_w = _Val.z;
18242  _M_y = _Val.w;
18243  }
18244 
18248  __declspec( property( get=get_zyxw, put=set_zyxw) ) norm_4 zyxw;
18252  __declspec( property( get=get_zyxw, put=set_zyxw) ) norm_4 bgra;
18253 
18260  norm_4 get_zyxw() const __GPU {
18261  return norm_4(_M_z,_M_y,_M_x,_M_w);
18262  }
18263 
18271  {
18272  norm_4 _Val = _Value;
18273  _M_z = _Val.x;
18274  _M_y = _Val.y;
18275  _M_x = _Val.z;
18276  _M_w = _Val.w;
18277  }
18278 
18282  __declspec( property( get=get_zywx, put=set_zywx) ) norm_4 zywx;
18286  __declspec( property( get=get_zywx, put=set_zywx) ) norm_4 bgar;
18287 
18294  norm_4 get_zywx() const __GPU {
18295  return norm_4(_M_z,_M_y,_M_w,_M_x);
18296  }
18297 
18305  {
18306  norm_4 _Val = _Value;
18307  _M_z = _Val.x;
18308  _M_y = _Val.y;
18309  _M_w = _Val.z;
18310  _M_x = _Val.w;
18311  }
18312 
18316  __declspec( property( get=get_zwxy, put=set_zwxy) ) norm_4 zwxy;
18320  __declspec( property( get=get_zwxy, put=set_zwxy) ) norm_4 barg;
18321 
18328  norm_4 get_zwxy() const __GPU {
18329  return norm_4(_M_z,_M_w,_M_x,_M_y);
18330  }
18331 
18339  {
18340  norm_4 _Val = _Value;
18341  _M_z = _Val.x;
18342  _M_w = _Val.y;
18343  _M_x = _Val.z;
18344  _M_y = _Val.w;
18345  }
18346 
18350  __declspec( property( get=get_zwyx, put=set_zwyx) ) norm_4 zwyx;
18354  __declspec( property( get=get_zwyx, put=set_zwyx) ) norm_4 bagr;
18355 
18362  norm_4 get_zwyx() const __GPU {
18363  return norm_4(_M_z,_M_w,_M_y,_M_x);
18364  }
18365 
18373  {
18374  norm_4 _Val = _Value;
18375  _M_z = _Val.x;
18376  _M_w = _Val.y;
18377  _M_y = _Val.z;
18378  _M_x = _Val.w;
18379  }
18380 
18384  __declspec( property( get=get_wxyz, put=set_wxyz) ) norm_4 wxyz;
18388  __declspec( property( get=get_wxyz, put=set_wxyz) ) norm_4 argb;
18389 
18396  norm_4 get_wxyz() const __GPU {
18397  return norm_4(_M_w,_M_x,_M_y,_M_z);
18398  }
18399 
18407  {
18408  norm_4 _Val = _Value;
18409  _M_w = _Val.x;
18410  _M_x = _Val.y;
18411  _M_y = _Val.z;
18412  _M_z = _Val.w;
18413  }
18414 
18418  __declspec( property( get=get_wxzy, put=set_wxzy) ) norm_4 wxzy;
18422  __declspec( property( get=get_wxzy, put=set_wxzy) ) norm_4 arbg;
18423 
18430  norm_4 get_wxzy() const __GPU {
18431  return norm_4(_M_w,_M_x,_M_z,_M_y);
18432  }
18433 
18441  {
18442  norm_4 _Val = _Value;
18443  _M_w = _Val.x;
18444  _M_x = _Val.y;
18445  _M_z = _Val.z;
18446  _M_y = _Val.w;
18447  }
18448 
18452  __declspec( property( get=get_wyxz, put=set_wyxz) ) norm_4 wyxz;
18456  __declspec( property( get=get_wyxz, put=set_wyxz) ) norm_4 agrb;
18457 
18464  norm_4 get_wyxz() const __GPU {
18465  return norm_4(_M_w,_M_y,_M_x,_M_z);
18466  }
18467 
18475  {
18476  norm_4 _Val = _Value;
18477  _M_w = _Val.x;
18478  _M_y = _Val.y;
18479  _M_x = _Val.z;
18480  _M_z = _Val.w;
18481  }
18482 
18486  __declspec( property( get=get_wyzx, put=set_wyzx) ) norm_4 wyzx;
18490  __declspec( property( get=get_wyzx, put=set_wyzx) ) norm_4 agbr;
18491 
18498  norm_4 get_wyzx() const __GPU {
18499  return norm_4(_M_w,_M_y,_M_z,_M_x);
18500  }
18501 
18509  {
18510  norm_4 _Val = _Value;
18511  _M_w = _Val.x;
18512  _M_y = _Val.y;
18513  _M_z = _Val.z;
18514  _M_x = _Val.w;
18515  }
18516 
18520  __declspec( property( get=get_wzxy, put=set_wzxy) ) norm_4 wzxy;
18524  __declspec( property( get=get_wzxy, put=set_wzxy) ) norm_4 abrg;
18525 
18532  norm_4 get_wzxy() const __GPU {
18533  return norm_4(_M_w,_M_z,_M_x,_M_y);
18534  }
18535 
18543  {
18544  norm_4 _Val = _Value;
18545  _M_w = _Val.x;
18546  _M_z = _Val.y;
18547  _M_x = _Val.z;
18548  _M_y = _Val.w;
18549  }
18550 
18554  __declspec( property( get=get_wzyx, put=set_wzyx) ) norm_4 wzyx;
18558  __declspec( property( get=get_wzyx, put=set_wzyx) ) norm_4 abgr;
18559 
18566  norm_4 get_wzyx() const __GPU {
18567  return norm_4(_M_w,_M_z,_M_y,_M_x);
18568  }
18569 
18577  {
18578  norm_4 _Val = _Value;
18579  _M_w = _Val.x;
18580  _M_z = _Val.y;
18581  _M_y = _Val.z;
18582  _M_x = _Val.w;
18583  }
18584 
18585  };
18586 
18590  class double_2
18591  {
18592  public:
18593  typedef double value_type;
18594  static const int size = 2;
18595  private:
18596  static const _Short_vector_base_type_id _Base_type_id = _Double_type;
18597  private:
18598  value_type _M_x;
18599  value_type _M_y;
18600 
18601  public:
18605  __declspec( property( get=get_x, put=set_x) ) double x;
18609  __declspec( property( get=get_x, put=set_x) ) double r;
18610 
18617  double get_x() const __GPU {
18618  return _M_x;
18619  }
18620 
18627  double& ref_x() __GPU {
18628  return _M_x;
18629  }
18630 
18637  double& ref_r() __GPU {
18638  return _M_x;
18639  }
18640 
18647  void set_x(double _Value) __GPU
18648  {
18649  _M_x = _Value;
18650  }
18651 
18655  __declspec( property( get=get_y, put=set_y) ) double y;
18659  __declspec( property( get=get_y, put=set_y) ) double g;
18660 
18667  double get_y() const __GPU {
18668  return _M_y;
18669  }
18670 
18677  double& ref_y() __GPU {
18678  return _M_y;
18679  }
18680 
18687  double& ref_g() __GPU {
18688  return _M_y;
18689  }
18690 
18697  void set_y(double _Value) __GPU
18698  {
18699  _M_y = _Value;
18700  }
18701 
18702  public:
18707  {
18708  _M_x = 0;
18709  _M_y = 0;
18710  }
18711 
18721  double_2(double _V0, double _V1) __GPU
18722  {
18723  _M_x = _V0;
18724  _M_y = _V1;
18725  }
18726 
18733  double_2(double _V) __GPU
18734  {
18735  _M_x = _V;
18736  _M_y = _V;
18737  }
18738 
18746  explicit inline double_2(const uint_2& _Other) __GPU;
18747 
18755  explicit inline double_2(const int_2& _Other) __GPU;
18756 
18764  explicit inline double_2(const float_2& _Other) __GPU;
18765 
18773  explicit inline double_2(const unorm_2& _Other) __GPU;
18774 
18782  explicit inline double_2(const norm_2& _Other) __GPU;
18783 
18785  {
18786  double_2 _Value = *this;
18787  return double_2(-_Value.x, -_Value.y);
18788  }
18789 
18791  {
18792  double_2 _Value = *this;
18793  ++_Value._M_x;
18794  ++_Value._M_y;
18795  *this = _Value;
18796  return *this;
18797  }
18798 
18800  {
18801  double_2 _Result = *this;
18802  ++(*this);
18803  return _Result;
18804  }
18805 
18807  {
18808  double_2 _Value = *this;
18809  --_Value._M_x;
18810  --_Value._M_y;
18811  *this = _Value;
18812  return *this;
18813  }
18814 
18816  {
18817  double_2 _Result = *this;
18818  --(*this);
18819  return _Result;
18820  }
18821 
18823  {
18824  double_2 _Value1 = *this;
18825  double_2 _Value2 = _Other;
18826  _Value1.x += _Value2.x;
18827  _Value1.y += _Value2.y;
18828  *this = _Value1;
18829  return *this;
18830  }
18831 
18833  {
18834  double_2 _Value1 = *this;
18835  double_2 _Value2 = _Other;
18836  _Value1.x -= _Value2.x;
18837  _Value1.y -= _Value2.y;
18838  *this = _Value1;
18839  return *this;
18840  }
18841 
18843  {
18844  double_2 _Value1 = *this;
18845  double_2 _Value2 = _Other;
18846  _Value1.x *= _Value2.x;
18847  _Value1.y *= _Value2.y;
18848  *this = _Value1;
18849  return *this;
18850  }
18851 
18853  {
18854  double_2 _Value1 = *this;
18855  double_2 _Value2 = _Other;
18856  _Value1.x /= _Value2.x;
18857  _Value1.y /= _Value2.y;
18858  *this = _Value1;
18859  return *this;
18860  }
18861 
18862  public:
18866  __declspec( property( get=get_xy, put=set_xy) ) double_2 xy;
18870  __declspec( property( get=get_xy, put=set_xy) ) double_2 rg;
18871 
18878  double_2 get_xy() const __GPU {
18879  return double_2(_M_x,_M_y);
18880  }
18881 
18889  {
18890  double_2 _Val = _Value;
18891  _M_x = _Val.x;
18892  _M_y = _Val.y;
18893  }
18894 
18898  __declspec( property( get=get_yx, put=set_yx) ) double_2 yx;
18902  __declspec( property( get=get_yx, put=set_yx) ) double_2 gr;
18903 
18910  double_2 get_yx() const __GPU {
18911  return double_2(_M_y,_M_x);
18912  }
18913 
18921  {
18922  double_2 _Val = _Value;
18923  _M_y = _Val.x;
18924  _M_x = _Val.y;
18925  }
18926 
18927  };
18928 
18932  class double_3
18933  {
18934  public:
18935  typedef double value_type;
18936  static const int size = 3;
18937  private:
18938  static const _Short_vector_base_type_id _Base_type_id = _Double_type;
18939  private:
18940  value_type _M_x;
18941  value_type _M_y;
18942  value_type _M_z;
18943 
18944  public:
18948  __declspec( property( get=get_x, put=set_x) ) double x;
18952  __declspec( property( get=get_x, put=set_x) ) double r;
18953 
18960  double get_x() const __GPU {
18961  return _M_x;
18962  }
18963 
18970  double& ref_x() __GPU {
18971  return _M_x;
18972  }
18973 
18980  double& ref_r() __GPU {
18981  return _M_x;
18982  }
18983 
18990  void set_x(double _Value) __GPU
18991  {
18992  _M_x = _Value;
18993  }
18994 
18998  __declspec( property( get=get_y, put=set_y) ) double y;
19002  __declspec( property( get=get_y, put=set_y) ) double g;
19003 
19010  double get_y() const __GPU {
19011  return _M_y;
19012  }
19013 
19020  double& ref_y() __GPU {
19021  return _M_y;
19022  }
19023 
19030  double& ref_g() __GPU {
19031  return _M_y;
19032  }
19033 
19040  void set_y(double _Value) __GPU
19041  {
19042  _M_y = _Value;
19043  }
19044 
19048  __declspec( property( get=get_z, put=set_z) ) double z;
19052  __declspec( property( get=get_z, put=set_z) ) double b;
19053 
19060  double get_z() const __GPU {
19061  return _M_z;
19062  }
19063 
19070  double& ref_z() __GPU {
19071  return _M_z;
19072  }
19073 
19080  double& ref_b() __GPU {
19081  return _M_z;
19082  }
19083 
19090  void set_z(double _Value) __GPU
19091  {
19092  _M_z = _Value;
19093  }
19094 
19095  public:
19100  {
19101  _M_x = 0;
19102  _M_y = 0;
19103  _M_z = 0;
19104  }
19105 
19118  double_3(double _V0, double _V1, double _V2) __GPU
19119  {
19120  _M_x = _V0;
19121  _M_y = _V1;
19122  _M_z = _V2;
19123  }
19124 
19131  double_3(double _V) __GPU
19132  {
19133  _M_x = _V;
19134  _M_y = _V;
19135  _M_z = _V;
19136  }
19137 
19145  explicit inline double_3(const uint_3& _Other) __GPU;
19146 
19154  explicit inline double_3(const int_3& _Other) __GPU;
19155 
19163  explicit inline double_3(const float_3& _Other) __GPU;
19164 
19172  explicit inline double_3(const unorm_3& _Other) __GPU;
19173 
19181  explicit inline double_3(const norm_3& _Other) __GPU;
19182 
19184  {
19185  double_3 _Value = *this;
19186  return double_3(-_Value.x, -_Value.y, -_Value.z);
19187  }
19188 
19190  {
19191  double_3 _Value = *this;
19192  ++_Value._M_x;
19193  ++_Value._M_y;
19194  ++_Value._M_z;
19195  *this = _Value;
19196  return *this;
19197  }
19198 
19200  {
19201  double_3 _Result = *this;
19202  ++(*this);
19203  return _Result;
19204  }
19205 
19207  {
19208  double_3 _Value = *this;
19209  --_Value._M_x;
19210  --_Value._M_y;
19211  --_Value._M_z;
19212  *this = _Value;
19213  return *this;
19214  }
19215 
19217  {
19218  double_3 _Result = *this;
19219  --(*this);
19220  return _Result;
19221  }
19222 
19224  {
19225  double_3 _Value1 = *this;
19226  double_3 _Value2 = _Other;
19227  _Value1.x += _Value2.x;
19228  _Value1.y += _Value2.y;
19229  _Value1.z += _Value2.z;
19230  *this = _Value1;
19231  return *this;
19232  }
19233 
19235  {
19236  double_3 _Value1 = *this;
19237  double_3 _Value2 = _Other;
19238  _Value1.x -= _Value2.x;
19239  _Value1.y -= _Value2.y;
19240  _Value1.z -= _Value2.z;
19241  *this = _Value1;
19242  return *this;
19243  }
19244 
19246  {
19247  double_3 _Value1 = *this;
19248  double_3 _Value2 = _Other;
19249  _Value1.x *= _Value2.x;
19250  _Value1.y *= _Value2.y;
19251  _Value1.z *= _Value2.z;
19252  *this = _Value1;
19253  return *this;
19254  }
19255 
19257  {
19258  double_3 _Value1 = *this;
19259  double_3 _Value2 = _Other;
19260  _Value1.x /= _Value2.x;
19261  _Value1.y /= _Value2.y;
19262  _Value1.z /= _Value2.z;
19263  *this = _Value1;
19264  return *this;
19265  }
19266 
19267  public:
19271  __declspec( property( get=get_xy, put=set_xy) ) double_2 xy;
19275  __declspec( property( get=get_xy, put=set_xy) ) double_2 rg;
19276 
19283  double_2 get_xy() const __GPU {
19284  return double_2(_M_x,_M_y);
19285  }
19286 
19294  {
19295  double_2 _Val = _Value;
19296  _M_x = _Val.x;
19297  _M_y = _Val.y;
19298  }
19299 
19303  __declspec( property( get=get_xz, put=set_xz) ) double_2 xz;
19307  __declspec( property( get=get_xz, put=set_xz) ) double_2 rb;
19308 
19315  double_2 get_xz() const __GPU {
19316  return double_2(_M_x,_M_z);
19317  }
19318 
19326  {
19327  double_2 _Val = _Value;
19328  _M_x = _Val.x;
19329  _M_z = _Val.y;
19330  }
19331 
19335  __declspec( property( get=get_yx, put=set_yx) ) double_2 yx;
19339  __declspec( property( get=get_yx, put=set_yx) ) double_2 gr;
19340 
19347  double_2 get_yx() const __GPU {
19348  return double_2(_M_y,_M_x);
19349  }
19350 
19358  {
19359  double_2 _Val = _Value;
19360  _M_y = _Val.x;
19361  _M_x = _Val.y;
19362  }
19363 
19367  __declspec( property( get=get_yz, put=set_yz) ) double_2 yz;
19371  __declspec( property( get=get_yz, put=set_yz) ) double_2 gb;
19372 
19379  double_2 get_yz() const __GPU {
19380  return double_2(_M_y,_M_z);
19381  }
19382 
19390  {
19391  double_2 _Val = _Value;
19392  _M_y = _Val.x;
19393  _M_z = _Val.y;
19394  }
19395 
19399  __declspec( property( get=get_zx, put=set_zx) ) double_2 zx;
19403  __declspec( property( get=get_zx, put=set_zx) ) double_2 br;
19404 
19411  double_2 get_zx() const __GPU {
19412  return double_2(_M_z,_M_x);
19413  }
19414 
19422  {
19423  double_2 _Val = _Value;
19424  _M_z = _Val.x;
19425  _M_x = _Val.y;
19426  }
19427 
19431  __declspec( property( get=get_zy, put=set_zy) ) double_2 zy;
19435  __declspec( property( get=get_zy, put=set_zy) ) double_2 bg;
19436 
19443  double_2 get_zy() const __GPU {
19444  return double_2(_M_z,_M_y);
19445  }
19446 
19454  {
19455  double_2 _Val = _Value;
19456  _M_z = _Val.x;
19457  _M_y = _Val.y;
19458  }
19459 
19463  __declspec( property( get=get_xyz, put=set_xyz) ) double_3 xyz;
19467  __declspec( property( get=get_xyz, put=set_xyz) ) double_3 rgb;
19468 
19475  double_3 get_xyz() const __GPU {
19476  return double_3(_M_x,_M_y,_M_z);
19477  }
19478 
19486  {
19487  double_3 _Val = _Value;
19488  _M_x = _Val.x;
19489  _M_y = _Val.y;
19490  _M_z = _Val.z;
19491  }
19492 
19496  __declspec( property( get=get_xzy, put=set_xzy) ) double_3 xzy;
19500  __declspec( property( get=get_xzy, put=set_xzy) ) double_3 rbg;
19501 
19508  double_3 get_xzy() const __GPU {
19509  return double_3(_M_x,_M_z,_M_y);
19510  }
19511 
19519  {
19520  double_3 _Val = _Value;
19521  _M_x = _Val.x;
19522  _M_z = _Val.y;
19523  _M_y = _Val.z;
19524  }
19525 
19529  __declspec( property( get=get_yxz, put=set_yxz) ) double_3 yxz;
19533  __declspec( property( get=get_yxz, put=set_yxz) ) double_3 grb;
19534 
19541  double_3 get_yxz() const __GPU {
19542  return double_3(_M_y,_M_x,_M_z);
19543  }
19544 
19552  {
19553  double_3 _Val = _Value;
19554  _M_y = _Val.x;
19555  _M_x = _Val.y;
19556  _M_z = _Val.z;
19557  }
19558 
19562  __declspec( property( get=get_yzx, put=set_yzx) ) double_3 yzx;
19566  __declspec( property( get=get_yzx, put=set_yzx) ) double_3 gbr;
19567 
19574  double_3 get_yzx() const __GPU {
19575  return double_3(_M_y,_M_z,_M_x);
19576  }
19577 
19585  {
19586  double_3 _Val = _Value;
19587  _M_y = _Val.x;
19588  _M_z = _Val.y;
19589  _M_x = _Val.z;
19590  }
19591 
19595  __declspec( property( get=get_zxy, put=set_zxy) ) double_3 zxy;
19599  __declspec( property( get=get_zxy, put=set_zxy) ) double_3 brg;
19600 
19607  double_3 get_zxy() const __GPU {
19608  return double_3(_M_z,_M_x,_M_y);
19609  }
19610 
19618  {
19619  double_3 _Val = _Value;
19620  _M_z = _Val.x;
19621  _M_x = _Val.y;
19622  _M_y = _Val.z;
19623  }
19624 
19628  __declspec( property( get=get_zyx, put=set_zyx) ) double_3 zyx;
19632  __declspec( property( get=get_zyx, put=set_zyx) ) double_3 bgr;
19633 
19640  double_3 get_zyx() const __GPU {
19641  return double_3(_M_z,_M_y,_M_x);
19642  }
19643 
19651  {
19652  double_3 _Val = _Value;
19653  _M_z = _Val.x;
19654  _M_y = _Val.y;
19655  _M_x = _Val.z;
19656  }
19657 
19658  };
19659 
19663  class double_4
19664  {
19665  public:
19666  typedef double value_type;
19667  static const int size = 4;
19668  private:
19669  static const _Short_vector_base_type_id _Base_type_id = _Double_type;
19670  private:
19671  value_type _M_x;
19672  value_type _M_y;
19673  value_type _M_z;
19674  value_type _M_w;
19675 
19676  public:
19680  __declspec( property( get=get_x, put=set_x) ) double x;
19684  __declspec( property( get=get_x, put=set_x) ) double r;
19685 
19692  double get_x() const __GPU {
19693  return _M_x;
19694  }
19695 
19702  double& ref_x() __GPU {
19703  return _M_x;
19704  }
19705 
19712  double& ref_r() __GPU {
19713  return _M_x;
19714  }
19715 
19722  void set_x(double _Value) __GPU
19723  {
19724  _M_x = _Value;
19725  }
19726 
19730  __declspec( property( get=get_y, put=set_y) ) double y;
19734  __declspec( property( get=get_y, put=set_y) ) double g;
19735 
19742  double get_y() const __GPU {
19743  return _M_y;
19744  }
19745 
19752  double& ref_y() __GPU {
19753  return _M_y;
19754  }
19755 
19762  double& ref_g() __GPU {
19763  return _M_y;
19764  }
19765 
19772  void set_y(double _Value) __GPU
19773  {
19774  _M_y = _Value;
19775  }
19776 
19780  __declspec( property( get=get_z, put=set_z) ) double z;
19784  __declspec( property( get=get_z, put=set_z) ) double b;
19785 
19792  double get_z() const __GPU {
19793  return _M_z;
19794  }
19795 
19802  double& ref_z() __GPU {
19803  return _M_z;
19804  }
19805 
19812  double& ref_b() __GPU {
19813  return _M_z;
19814  }
19815 
19822  void set_z(double _Value) __GPU
19823  {
19824  _M_z = _Value;
19825  }
19826 
19830  __declspec( property( get=get_w, put=set_w) ) double w;
19834  __declspec( property( get=get_w, put=set_w) ) double a;
19835 
19842  double get_w() const __GPU {
19843  return _M_w;
19844  }
19845 
19852  double& ref_w() __GPU {
19853  return _M_w;
19854  }
19855 
19862  double& ref_a() __GPU {
19863  return _M_w;
19864  }
19865 
19872  void set_w(double _Value) __GPU
19873  {
19874  _M_w = _Value;
19875  }
19876 
19877  public:
19882  {
19883  _M_x = 0;
19884  _M_y = 0;
19885  _M_z = 0;
19886  _M_w = 0;
19887  }
19888 
19904  double_4(double _V0, double _V1, double _V2, double _V3) __GPU
19905  {
19906  _M_x = _V0;
19907  _M_y = _V1;
19908  _M_z = _V2;
19909  _M_w = _V3;
19910  }
19911 
19918  double_4(double _V) __GPU
19919  {
19920  _M_x = _V;
19921  _M_y = _V;
19922  _M_z = _V;
19923  _M_w = _V;
19924  }
19925 
19933  explicit inline double_4(const uint_4& _Other) __GPU;
19934 
19942  explicit inline double_4(const int_4& _Other) __GPU;
19943 
19951  explicit inline double_4(const float_4& _Other) __GPU;
19952 
19960  explicit inline double_4(const unorm_4& _Other) __GPU;
19961 
19969  explicit inline double_4(const norm_4& _Other) __GPU;
19970 
19972  {
19973  double_4 _Value = *this;
19974  return double_4(-_Value.x, -_Value.y, -_Value.z, -_Value.w);
19975  }
19976 
19978  {
19979  double_4 _Value = *this;
19980  ++_Value._M_x;
19981  ++_Value._M_y;
19982  ++_Value._M_z;
19983  ++_Value._M_w;
19984  *this = _Value;
19985  return *this;
19986  }
19987 
19989  {
19990  double_4 _Result = *this;
19991  ++(*this);
19992  return _Result;
19993  }
19994 
19996  {
19997  double_4 _Value = *this;
19998  --_Value._M_x;
19999  --_Value._M_y;
20000  --_Value._M_z;
20001  --_Value._M_w;
20002  *this = _Value;
20003  return *this;
20004  }
20005 
20007  {
20008  double_4 _Result = *this;
20009  --(*this);
20010  return _Result;
20011  }
20012 
20014  {
20015  double_4 _Value1 = *this;
20016  double_4 _Value2 = _Other;
20017  _Value1.x += _Value2.x;
20018  _Value1.y += _Value2.y;
20019  _Value1.z += _Value2.z;
20020  _Value1.w += _Value2.w;
20021  *this = _Value1;
20022  return *this;
20023  }
20024 
20026  {
20027  double_4 _Value1 = *this;
20028  double_4 _Value2 = _Other;
20029  _Value1.x -= _Value2.x;
20030  _Value1.y -= _Value2.y;
20031  _Value1.z -= _Value2.z;
20032  _Value1.w -= _Value2.w;
20033  *this = _Value1;
20034  return *this;
20035  }
20036 
20038  {
20039  double_4 _Value1 = *this;
20040  double_4 _Value2 = _Other;
20041  _Value1.x *= _Value2.x;
20042  _Value1.y *= _Value2.y;
20043  _Value1.z *= _Value2.z;
20044  _Value1.w *= _Value2.w;
20045  *this = _Value1;
20046  return *this;
20047  }
20048 
20050  {
20051  double_4 _Value1 = *this;
20052  double_4 _Value2 = _Other;
20053  _Value1.x /= _Value2.x;
20054  _Value1.y /= _Value2.y;
20055  _Value1.z /= _Value2.z;
20056  _Value1.w /= _Value2.w;
20057  *this = _Value1;
20058  return *this;
20059  }
20060 
20061  public:
20065  __declspec( property( get=get_xy, put=set_xy) ) double_2 xy;
20069  __declspec( property( get=get_xy, put=set_xy) ) double_2 rg;
20070 
20077  double_2 get_xy() const __GPU {
20078  return double_2(_M_x,_M_y);
20079  }
20080 
20088  {
20089  double_2 _Val = _Value;
20090  _M_x = _Val.x;
20091  _M_y = _Val.y;
20092  }
20093 
20097  __declspec( property( get=get_xz, put=set_xz) ) double_2 xz;
20101  __declspec( property( get=get_xz, put=set_xz) ) double_2 rb;
20102 
20109  double_2 get_xz() const __GPU {
20110  return double_2(_M_x,_M_z);
20111  }
20112 
20120  {
20121  double_2 _Val = _Value;
20122  _M_x = _Val.x;
20123  _M_z = _Val.y;
20124  }
20125 
20129  __declspec( property( get=get_xw, put=set_xw) ) double_2 xw;
20133  __declspec( property( get=get_xw, put=set_xw) ) double_2 ra;
20134 
20141  double_2 get_xw() const __GPU {
20142  return double_2(_M_x,_M_w);
20143  }
20144 
20152  {
20153  double_2 _Val = _Value;
20154  _M_x = _Val.x;
20155  _M_w = _Val.y;
20156  }
20157 
20161  __declspec( property( get=get_yx, put=set_yx) ) double_2 yx;
20165  __declspec( property( get=get_yx, put=set_yx) ) double_2 gr;
20166 
20173  double_2 get_yx() const __GPU {
20174  return double_2(_M_y,_M_x);
20175  }
20176 
20184  {
20185  double_2 _Val = _Value;
20186  _M_y = _Val.x;
20187  _M_x = _Val.y;
20188  }
20189 
20193  __declspec( property( get=get_yz, put=set_yz) ) double_2 yz;
20197  __declspec( property( get=get_yz, put=set_yz) ) double_2 gb;
20198 
20205  double_2 get_yz() const __GPU {
20206  return double_2(_M_y,_M_z);
20207  }
20208 
20216  {
20217  double_2 _Val = _Value;
20218  _M_y = _Val.x;
20219  _M_z = _Val.y;
20220  }
20221 
20225  __declspec( property( get=get_yw, put=set_yw) ) double_2 yw;
20229  __declspec( property( get=get_yw, put=set_yw) ) double_2 ga;
20230 
20237  double_2 get_yw() const __GPU {
20238  return double_2(_M_y,_M_w);
20239  }
20240 
20248  {
20249  double_2 _Val = _Value;
20250  _M_y = _Val.x;
20251  _M_w = _Val.y;
20252  }
20253 
20257  __declspec( property( get=get_zx, put=set_zx) ) double_2 zx;
20261  __declspec( property( get=get_zx, put=set_zx) ) double_2 br;
20262 
20269  double_2 get_zx() const __GPU {
20270  return double_2(_M_z,_M_x);
20271  }
20272 
20280  {
20281  double_2 _Val = _Value;
20282  _M_z = _Val.x;
20283  _M_x = _Val.y;
20284  }
20285 
20289  __declspec( property( get=get_zy, put=set_zy) ) double_2 zy;
20293  __declspec( property( get=get_zy, put=set_zy) ) double_2 bg;
20294 
20301  double_2 get_zy() const __GPU {
20302  return double_2(_M_z,_M_y);
20303  }
20304 
20312  {
20313  double_2 _Val = _Value;
20314  _M_z = _Val.x;
20315  _M_y = _Val.y;
20316  }
20317 
20321  __declspec( property( get=get_zw, put=set_zw) ) double_2 zw;
20325  __declspec( property( get=get_zw, put=set_zw) ) double_2 ba;
20326 
20333  double_2 get_zw() const __GPU {
20334  return double_2(_M_z,_M_w);
20335  }
20336 
20344  {
20345  double_2 _Val = _Value;
20346  _M_z = _Val.x;
20347  _M_w = _Val.y;
20348  }
20349 
20353  __declspec( property( get=get_wx, put=set_wx) ) double_2 wx;
20357  __declspec( property( get=get_wx, put=set_wx) ) double_2 ar;
20358 
20365  double_2 get_wx() const __GPU {
20366  return double_2(_M_w,_M_x);
20367  }
20368 
20376  {
20377  double_2 _Val = _Value;
20378  _M_w = _Val.x;
20379  _M_x = _Val.y;
20380  }
20381 
20385  __declspec( property( get=get_wy, put=set_wy) ) double_2 wy;
20389  __declspec( property( get=get_wy, put=set_wy) ) double_2 ag;
20390 
20397  double_2 get_wy() const __GPU {
20398  return double_2(_M_w,_M_y);
20399  }
20400 
20408  {
20409  double_2 _Val = _Value;
20410  _M_w = _Val.x;
20411  _M_y = _Val.y;
20412  }
20413 
20417  __declspec( property( get=get_wz, put=set_wz) ) double_2 wz;
20421  __declspec( property( get=get_wz, put=set_wz) ) double_2 ab;
20422 
20429  double_2 get_wz() const __GPU {
20430  return double_2(_M_w,_M_z);
20431  }
20432 
20440  {
20441  double_2 _Val = _Value;
20442  _M_w = _Val.x;
20443  _M_z = _Val.y;
20444  }
20445 
20449  __declspec( property( get=get_xyz, put=set_xyz) ) double_3 xyz;
20453  __declspec( property( get=get_xyz, put=set_xyz) ) double_3 rgb;
20454 
20461  double_3 get_xyz() const __GPU {
20462  return double_3(_M_x,_M_y,_M_z);
20463  }
20464 
20472  {
20473  double_3 _Val = _Value;
20474  _M_x = _Val.x;
20475  _M_y = _Val.y;
20476  _M_z = _Val.z;
20477  }
20478 
20482  __declspec( property( get=get_xyw, put=set_xyw) ) double_3 xyw;
20486  __declspec( property( get=get_xyw, put=set_xyw) ) double_3 rga;
20487 
20494  double_3 get_xyw() const __GPU {
20495  return double_3(_M_x,_M_y,_M_w);
20496  }
20497 
20505  {
20506  double_3 _Val = _Value;
20507  _M_x = _Val.x;
20508  _M_y = _Val.y;
20509  _M_w = _Val.z;
20510  }
20511 
20515  __declspec( property( get=get_xzy, put=set_xzy) ) double_3 xzy;
20519  __declspec( property( get=get_xzy, put=set_xzy) ) double_3 rbg;
20520 
20527  double_3 get_xzy() const __GPU {
20528  return double_3(_M_x,_M_z,_M_y);
20529  }
20530 
20538  {
20539  double_3 _Val = _Value;
20540  _M_x = _Val.x;
20541  _M_z = _Val.y;
20542  _M_y = _Val.z;
20543  }
20544 
20548  __declspec( property( get=get_xzw, put=set_xzw) ) double_3 xzw;
20552  __declspec( property( get=get_xzw, put=set_xzw) ) double_3 rba;
20553 
20560  double_3 get_xzw() const __GPU {
20561  return double_3(_M_x,_M_z,_M_w);
20562  }
20563 
20571  {
20572  double_3 _Val = _Value;
20573  _M_x = _Val.x;
20574  _M_z = _Val.y;
20575  _M_w = _Val.z;
20576  }
20577 
20581  __declspec( property( get=get_xwy, put=set_xwy) ) double_3 xwy;
20585  __declspec( property( get=get_xwy, put=set_xwy) ) double_3 rag;
20586 
20593  double_3 get_xwy() const __GPU {
20594  return double_3(_M_x,_M_w,_M_y);
20595  }
20596 
20604  {
20605  double_3 _Val = _Value;
20606  _M_x = _Val.x;
20607  _M_w = _Val.y;
20608  _M_y = _Val.z;
20609  }
20610 
20614  __declspec( property( get=get_xwz, put=set_xwz) ) double_3 xwz;
20618  __declspec( property( get=get_xwz, put=set_xwz) ) double_3 rab;
20619 
20626  double_3 get_xwz() const __GPU {
20627  return double_3(_M_x,_M_w,_M_z);
20628  }
20629 
20637  {
20638  double_3 _Val = _Value;
20639  _M_x = _Val.x;
20640  _M_w = _Val.y;
20641  _M_z = _Val.z;
20642  }
20643 
20647  __declspec( property( get=get_yxz, put=set_yxz) ) double_3 yxz;
20651  __declspec( property( get=get_yxz, put=set_yxz) ) double_3 grb;
20652 
20659  double_3 get_yxz() const __GPU {
20660  return double_3(_M_y,_M_x,_M_z);
20661  }
20662 
20670  {
20671  double_3 _Val = _Value;
20672  _M_y = _Val.x;
20673  _M_x = _Val.y;
20674  _M_z = _Val.z;
20675  }
20676 
20680  __declspec( property( get=get_yxw, put=set_yxw) ) double_3 yxw;
20684  __declspec( property( get=get_yxw, put=set_yxw) ) double_3 gra;
20685 
20692  double_3 get_yxw() const __GPU {
20693  return double_3(_M_y,_M_x,_M_w);
20694  }
20695 
20703  {
20704  double_3 _Val = _Value;
20705  _M_y = _Val.x;
20706  _M_x = _Val.y;
20707  _M_w = _Val.z;
20708  }
20709 
20713  __declspec( property( get=get_yzx, put=set_yzx) ) double_3 yzx;
20717  __declspec( property( get=get_yzx, put=set_yzx) ) double_3 gbr;
20718 
20725  double_3 get_yzx() const __GPU {
20726  return double_3(_M_y,_M_z,_M_x);
20727  }
20728 
20736  {
20737  double_3 _Val = _Value;
20738  _M_y = _Val.x;
20739  _M_z = _Val.y;
20740  _M_x = _Val.z;
20741  }
20742 
20746  __declspec( property( get=get_yzw, put=set_yzw) ) double_3 yzw;
20750  __declspec( property( get=get_yzw, put=set_yzw) ) double_3 gba;
20751 
20758  double_3 get_yzw() const __GPU {
20759  return double_3(_M_y,_M_z,_M_w);
20760  }
20761 
20769  {
20770  double_3 _Val = _Value;
20771  _M_y = _Val.x;
20772  _M_z = _Val.y;
20773  _M_w = _Val.z;
20774  }
20775 
20779  __declspec( property( get=get_ywx, put=set_ywx) ) double_3 ywx;
20783  __declspec( property( get=get_ywx, put=set_ywx) ) double_3 gar;
20784 
20791  double_3 get_ywx() const __GPU {
20792  return double_3(_M_y,_M_w,_M_x);
20793  }
20794 
20802  {
20803  double_3 _Val = _Value;
20804  _M_y = _Val.x;
20805  _M_w = _Val.y;
20806  _M_x = _Val.z;
20807  }
20808 
20812  __declspec( property( get=get_ywz, put=set_ywz) ) double_3 ywz;
20816  __declspec( property( get=get_ywz, put=set_ywz) ) double_3 gab;
20817 
20824  double_3 get_ywz() const __GPU {
20825  return double_3(_M_y,_M_w,_M_z);
20826  }
20827 
20835  {
20836  double_3 _Val = _Value;
20837  _M_y = _Val.x;
20838  _M_w = _Val.y;
20839  _M_z = _Val.z;
20840  }
20841 
20845  __declspec( property( get=get_zxy, put=set_zxy) ) double_3 zxy;
20849  __declspec( property( get=get_zxy, put=set_zxy) ) double_3 brg;
20850 
20857  double_3 get_zxy() const __GPU {
20858  return double_3(_M_z,_M_x,_M_y);
20859  }
20860 
20868  {
20869  double_3 _Val = _Value;
20870  _M_z = _Val.x;
20871  _M_x = _Val.y;
20872  _M_y = _Val.z;
20873  }
20874 
20878  __declspec( property( get=get_zxw, put=set_zxw) ) double_3 zxw;
20882  __declspec( property( get=get_zxw, put=set_zxw) ) double_3 bra;
20883 
20890  double_3 get_zxw() const __GPU {
20891  return double_3(_M_z,_M_x,_M_w);
20892  }
20893 
20901  {
20902  double_3 _Val = _Value;
20903  _M_z = _Val.x;
20904  _M_x = _Val.y;
20905  _M_w = _Val.z;
20906  }
20907 
20911  __declspec( property( get=get_zyx, put=set_zyx) ) double_3 zyx;
20915  __declspec( property( get=get_zyx, put=set_zyx) ) double_3 bgr;
20916 
20923  double_3 get_zyx() const __GPU {
20924  return double_3(_M_z,_M_y,_M_x);
20925  }
20926 
20934  {
20935  double_3 _Val = _Value;
20936  _M_z = _Val.x;
20937  _M_y = _Val.y;
20938  _M_x = _Val.z;
20939  }
20940 
20944  __declspec( property( get=get_zyw, put=set_zyw) ) double_3 zyw;
20948  __declspec( property( get=get_zyw, put=set_zyw) ) double_3 bga;
20949 
20956  double_3 get_zyw() const __GPU {
20957  return double_3(_M_z,_M_y,_M_w);
20958  }
20959 
20967  {
20968  double_3 _Val = _Value;
20969  _M_z = _Val.x;
20970  _M_y = _Val.y;
20971  _M_w = _Val.z;
20972  }
20973 
20977  __declspec( property( get=get_zwx, put=set_zwx) ) double_3 zwx;
20981  __declspec( property( get=get_zwx, put=set_zwx) ) double_3 bar;
20982 
20989  double_3 get_zwx() const __GPU {
20990  return double_3(_M_z,_M_w,_M_x);
20991  }
20992 
21000  {
21001  double_3 _Val = _Value;
21002  _M_z = _Val.x;
21003  _M_w = _Val.y;
21004  _M_x = _Val.z;
21005  }
21006 
21010  __declspec( property( get=get_zwy, put=set_zwy) ) double_3 zwy;
21014  __declspec( property( get=get_zwy, put=set_zwy) ) double_3 bag;
21015 
21022  double_3 get_zwy() const __GPU {
21023  return double_3(_M_z,_M_w,_M_y);
21024  }
21025 
21033  {
21034  double_3 _Val = _Value;
21035  _M_z = _Val.x;
21036  _M_w = _Val.y;
21037  _M_y = _Val.z;
21038  }
21039 
21043  __declspec( property( get=get_wxy, put=set_wxy) ) double_3 wxy;
21047  __declspec( property( get=get_wxy, put=set_wxy) ) double_3 arg;
21048 
21055  double_3 get_wxy() const __GPU {
21056  return double_3(_M_w,_M_x,_M_y);
21057  }
21058 
21066  {
21067  double_3 _Val = _Value;
21068  _M_w = _Val.x;
21069  _M_x = _Val.y;
21070  _M_y = _Val.z;
21071  }
21072 
21076  __declspec( property( get=get_wxz, put=set_wxz) ) double_3 wxz;
21080  __declspec( property( get=get_wxz, put=set_wxz) ) double_3 arb;
21081 
21088  double_3 get_wxz() const __GPU {
21089  return double_3(_M_w,_M_x,_M_z);
21090  }
21091 
21099  {
21100  double_3 _Val = _Value;
21101  _M_w = _Val.x;
21102  _M_x = _Val.y;
21103  _M_z = _Val.z;
21104  }
21105 
21109  __declspec( property( get=get_wyx, put=set_wyx) ) double_3 wyx;
21113  __declspec( property( get=get_wyx, put=set_wyx) ) double_3 agr;
21114 
21121  double_3 get_wyx() const __GPU {
21122  return double_3(_M_w,_M_y,_M_x);
21123  }
21124 
21132  {
21133  double_3 _Val = _Value;
21134  _M_w = _Val.x;
21135  _M_y = _Val.y;
21136  _M_x = _Val.z;
21137  }
21138 
21142  __declspec( property( get=get_wyz, put=set_wyz) ) double_3 wyz;
21146  __declspec( property( get=get_wyz, put=set_wyz) ) double_3 agb;
21147 
21154  double_3 get_wyz() const __GPU {
21155  return double_3(_M_w,_M_y,_M_z);
21156  }
21157 
21165  {
21166  double_3 _Val = _Value;
21167  _M_w = _Val.x;
21168  _M_y = _Val.y;
21169  _M_z = _Val.z;
21170  }
21171 
21175  __declspec( property( get=get_wzx, put=set_wzx) ) double_3 wzx;
21179  __declspec( property( get=get_wzx, put=set_wzx) ) double_3 abr;
21180 
21187  double_3 get_wzx() const __GPU {
21188  return double_3(_M_w,_M_z,_M_x);
21189  }
21190 
21198  {
21199  double_3 _Val = _Value;
21200  _M_w = _Val.x;
21201  _M_z = _Val.y;
21202  _M_x = _Val.z;
21203  }
21204 
21208  __declspec( property( get=get_wzy, put=set_wzy) ) double_3 wzy;
21212  __declspec( property( get=get_wzy, put=set_wzy) ) double_3 abg;
21213 
21220  double_3 get_wzy() const __GPU {
21221  return double_3(_M_w,_M_z,_M_y);
21222  }
21223 
21231  {
21232  double_3 _Val = _Value;
21233  _M_w = _Val.x;
21234  _M_z = _Val.y;
21235  _M_y = _Val.z;
21236  }
21237 
21241  __declspec( property( get=get_xyzw, put=set_xyzw) ) double_4 xyzw;
21245  __declspec( property( get=get_xyzw, put=set_xyzw) ) double_4 rgba;
21246 
21253  double_4 get_xyzw() const __GPU {
21254  return double_4(_M_x,_M_y,_M_z,_M_w);
21255  }
21256 
21264  {
21265  double_4 _Val = _Value;
21266  _M_x = _Val.x;
21267  _M_y = _Val.y;
21268  _M_z = _Val.z;
21269  _M_w = _Val.w;
21270  }
21271 
21275  __declspec( property( get=get_xywz, put=set_xywz) ) double_4 xywz;
21279  __declspec( property( get=get_xywz, put=set_xywz) ) double_4 rgab;
21280 
21287  double_4 get_xywz() const __GPU {
21288  return double_4(_M_x,_M_y,_M_w,_M_z);
21289  }
21290 
21298  {
21299  double_4 _Val = _Value;
21300  _M_x = _Val.x;
21301  _M_y = _Val.y;
21302  _M_w = _Val.z;
21303  _M_z = _Val.w;
21304  }
21305 
21309  __declspec( property( get=get_xzyw, put=set_xzyw) ) double_4 xzyw;
21313  __declspec( property( get=get_xzyw, put=set_xzyw) ) double_4 rbga;
21314 
21321  double_4 get_xzyw() const __GPU {
21322  return double_4(_M_x,_M_z,_M_y,_M_w);
21323  }
21324 
21332  {
21333  double_4 _Val = _Value;
21334  _M_x = _Val.x;
21335  _M_z = _Val.y;
21336  _M_y = _Val.z;
21337  _M_w = _Val.w;
21338  }
21339 
21343  __declspec( property( get=get_xzwy, put=set_xzwy) ) double_4 xzwy;
21347  __declspec( property( get=get_xzwy, put=set_xzwy) ) double_4 rbag;
21348 
21355  double_4 get_xzwy() const __GPU {
21356  return double_4(_M_x,_M_z,_M_w,_M_y);
21357  }
21358 
21366  {
21367  double_4 _Val = _Value;
21368  _M_x = _Val.x;
21369  _M_z = _Val.y;
21370  _M_w = _Val.z;
21371  _M_y = _Val.w;
21372  }
21373 
21377  __declspec( property( get=get_xwyz, put=set_xwyz) ) double_4 xwyz;
21381  __declspec( property( get=get_xwyz, put=set_xwyz) ) double_4 ragb;
21382 
21389  double_4 get_xwyz() const __GPU {
21390  return double_4(_M_x,_M_w,_M_y,_M_z);
21391  }
21392 
21400  {
21401  double_4 _Val = _Value;
21402  _M_x = _Val.x;
21403  _M_w = _Val.y;
21404  _M_y = _Val.z;
21405  _M_z = _Val.w;
21406  }
21407 
21411  __declspec( property( get=get_xwzy, put=set_xwzy) ) double_4 xwzy;
21415  __declspec( property( get=get_xwzy, put=set_xwzy) ) double_4 rabg;
21416 
21423  double_4 get_xwzy() const __GPU {
21424  return double_4(_M_x,_M_w,_M_z,_M_y);
21425  }
21426 
21434  {
21435  double_4 _Val = _Value;
21436  _M_x = _Val.x;
21437  _M_w = _Val.y;
21438  _M_z = _Val.z;
21439  _M_y = _Val.w;
21440  }
21441 
21445  __declspec( property( get=get_yxzw, put=set_yxzw) ) double_4 yxzw;
21449  __declspec( property( get=get_yxzw, put=set_yxzw) ) double_4 grba;
21450 
21457  double_4 get_yxzw() const __GPU {
21458  return double_4(_M_y,_M_x,_M_z,_M_w);
21459  }
21460 
21468  {
21469  double_4 _Val = _Value;
21470  _M_y = _Val.x;
21471  _M_x = _Val.y;
21472  _M_z = _Val.z;
21473  _M_w = _Val.w;
21474  }
21475 
21479  __declspec( property( get=get_yxwz, put=set_yxwz) ) double_4 yxwz;
21483  __declspec( property( get=get_yxwz, put=set_yxwz) ) double_4 grab;
21484 
21491  double_4 get_yxwz() const __GPU {
21492  return double_4(_M_y,_M_x,_M_w,_M_z);
21493  }
21494 
21502  {
21503  double_4 _Val = _Value;
21504  _M_y = _Val.x;
21505  _M_x = _Val.y;
21506  _M_w = _Val.z;
21507  _M_z = _Val.w;
21508  }
21509 
21513  __declspec( property( get=get_yzxw, put=set_yzxw) ) double_4 yzxw;
21517  __declspec( property( get=get_yzxw, put=set_yzxw) ) double_4 gbra;
21518 
21525  double_4 get_yzxw() const __GPU {
21526  return double_4(_M_y,_M_z,_M_x,_M_w);
21527  }
21528 
21536  {
21537  double_4 _Val = _Value;
21538  _M_y = _Val.x;
21539  _M_z = _Val.y;
21540  _M_x = _Val.z;
21541  _M_w = _Val.w;
21542  }
21543 
21547  __declspec( property( get=get_yzwx, put=set_yzwx) ) double_4 yzwx;
21551  __declspec( property( get=get_yzwx, put=set_yzwx) ) double_4 gbar;
21552 
21559  double_4 get_yzwx() const __GPU {
21560  return double_4(_M_y,_M_z,_M_w,_M_x);
21561  }
21562 
21570  {
21571  double_4 _Val = _Value;
21572  _M_y = _Val.x;
21573  _M_z = _Val.y;
21574  _M_w = _Val.z;
21575  _M_x = _Val.w;
21576  }
21577 
21581  __declspec( property( get=get_ywxz, put=set_ywxz) ) double_4 ywxz;
21585  __declspec( property( get=get_ywxz, put=set_ywxz) ) double_4 garb;
21586 
21593  double_4 get_ywxz() const __GPU {
21594  return double_4(_M_y,_M_w,_M_x,_M_z);
21595  }
21596 
21604  {
21605  double_4 _Val = _Value;
21606  _M_y = _Val.x;
21607  _M_w = _Val.y;
21608  _M_x = _Val.z;
21609  _M_z = _Val.w;
21610  }
21611 
21615  __declspec( property( get=get_ywzx, put=set_ywzx) ) double_4 ywzx;
21619  __declspec( property( get=get_ywzx, put=set_ywzx) ) double_4 gabr;
21620 
21627  double_4 get_ywzx() const __GPU {
21628  return double_4(_M_y,_M_w,_M_z,_M_x);
21629  }
21630 
21638  {
21639  double_4 _Val = _Value;
21640  _M_y = _Val.x;
21641  _M_w = _Val.y;
21642  _M_z = _Val.z;
21643  _M_x = _Val.w;
21644  }
21645 
21649  __declspec( property( get=get_zxyw, put=set_zxyw) ) double_4 zxyw;
21653  __declspec( property( get=get_zxyw, put=set_zxyw) ) double_4 brga;
21654 
21661  double_4 get_zxyw() const __GPU {
21662  return double_4(_M_z,_M_x,_M_y,_M_w);
21663  }
21664 
21672  {
21673  double_4 _Val = _Value;
21674  _M_z = _Val.x;
21675  _M_x = _Val.y;
21676  _M_y = _Val.z;
21677  _M_w = _Val.w;
21678  }
21679 
21683  __declspec( property( get=get_zxwy, put=set_zxwy) ) double_4 zxwy;
21687  __declspec( property( get=get_zxwy, put=set_zxwy) ) double_4 brag;
21688 
21695  double_4 get_zxwy() const __GPU {
21696  return double_4(_M_z,_M_x,_M_w,_M_y);
21697  }
21698 
21706  {
21707  double_4 _Val = _Value;
21708  _M_z = _Val.x;
21709  _M_x = _Val.y;
21710  _M_w = _Val.z;
21711  _M_y = _Val.w;
21712  }
21713 
21717  __declspec( property( get=get_zyxw, put=set_zyxw) ) double_4 zyxw;
21721  __declspec( property( get=get_zyxw, put=set_zyxw) ) double_4 bgra;
21722 
21729  double_4 get_zyxw() const __GPU {
21730  return double_4(_M_z,_M_y,_M_x,_M_w);
21731  }
21732 
21740  {
21741  double_4 _Val = _Value;
21742  _M_z = _Val.x;
21743  _M_y = _Val.y;
21744  _M_x = _Val.z;
21745  _M_w = _Val.w;
21746  }
21747 
21751  __declspec( property( get=get_zywx, put=set_zywx) ) double_4 zywx;
21755  __declspec( property( get=get_zywx, put=set_zywx) ) double_4 bgar;
21756 
21763  double_4 get_zywx() const __GPU {
21764  return double_4(_M_z,_M_y,_M_w,_M_x);
21765  }
21766 
21774  {
21775  double_4 _Val = _Value;
21776  _M_z = _Val.x;
21777  _M_y = _Val.y;
21778  _M_w = _Val.z;
21779  _M_x = _Val.w;
21780  }
21781 
21785  __declspec( property( get=get_zwxy, put=set_zwxy) ) double_4 zwxy;
21789  __declspec( property( get=get_zwxy, put=set_zwxy) ) double_4 barg;
21790 
21797  double_4 get_zwxy() const __GPU {
21798  return double_4(_M_z,_M_w,_M_x,_M_y);
21799  }
21800 
21808  {
21809  double_4 _Val = _Value;
21810  _M_z = _Val.x;
21811  _M_w = _Val.y;
21812  _M_x = _Val.z;
21813  _M_y = _Val.w;
21814  }
21815 
21819  __declspec( property( get=get_zwyx, put=set_zwyx) ) double_4 zwyx;
21823  __declspec( property( get=get_zwyx, put=set_zwyx) ) double_4 bagr;
21824 
21831  double_4 get_zwyx() const __GPU {
21832  return double_4(_M_z,_M_w,_M_y,_M_x);
21833  }
21834 
21842  {
21843  double_4 _Val = _Value;
21844  _M_z = _Val.x;
21845  _M_w = _Val.y;
21846  _M_y = _Val.z;
21847  _M_x = _Val.w;
21848  }
21849 
21853  __declspec( property( get=get_wxyz, put=set_wxyz) ) double_4 wxyz;
21857  __declspec( property( get=get_wxyz, put=set_wxyz) ) double_4 argb;
21858 
21865  double_4 get_wxyz() const __GPU {
21866  return double_4(_M_w,_M_x,_M_y,_M_z);
21867  }
21868 
21876  {
21877  double_4 _Val = _Value;
21878  _M_w = _Val.x;
21879  _M_x = _Val.y;
21880  _M_y = _Val.z;
21881  _M_z = _Val.w;
21882  }
21883 
21887  __declspec( property( get=get_wxzy, put=set_wxzy) ) double_4 wxzy;
21891  __declspec( property( get=get_wxzy, put=set_wxzy) ) double_4 arbg;
21892 
21899  double_4 get_wxzy() const __GPU {
21900  return double_4(_M_w,_M_x,_M_z,_M_y);
21901  }
21902 
21910  {
21911  double_4 _Val = _Value;
21912  _M_w = _Val.x;
21913  _M_x = _Val.y;
21914  _M_z = _Val.z;
21915  _M_y = _Val.w;
21916  }
21917 
21921  __declspec( property( get=get_wyxz, put=set_wyxz) ) double_4 wyxz;
21925  __declspec( property( get=get_wyxz, put=set_wyxz) ) double_4 agrb;
21926 
21933  double_4 get_wyxz() const __GPU {
21934  return double_4(_M_w,_M_y,_M_x,_M_z);
21935  }
21936 
21944  {
21945  double_4 _Val = _Value;
21946  _M_w = _Val.x;
21947  _M_y = _Val.y;
21948  _M_x = _Val.z;
21949  _M_z = _Val.w;
21950  }
21951 
21955  __declspec( property( get=get_wyzx, put=set_wyzx) ) double_4 wyzx;
21959  __declspec( property( get=get_wyzx, put=set_wyzx) ) double_4 agbr;
21960 
21967  double_4 get_wyzx() const __GPU {
21968  return double_4(_M_w,_M_y,_M_z,_M_x);
21969  }
21970 
21978  {
21979  double_4 _Val = _Value;
21980  _M_w = _Val.x;
21981  _M_y = _Val.y;
21982  _M_z = _Val.z;
21983  _M_x = _Val.w;
21984  }
21985 
21989  __declspec( property( get=get_wzxy, put=set_wzxy) ) double_4 wzxy;
21993  __declspec( property( get=get_wzxy, put=set_wzxy) ) double_4 abrg;
21994 
22001  double_4 get_wzxy() const __GPU {
22002  return double_4(_M_w,_M_z,_M_x,_M_y);
22003  }
22004 
22012  {
22013  double_4 _Val = _Value;
22014  _M_w = _Val.x;
22015  _M_z = _Val.y;
22016  _M_x = _Val.z;
22017  _M_y = _Val.w;
22018  }
22019 
22023  __declspec( property( get=get_wzyx, put=set_wzyx) ) double_4 wzyx;
22027  __declspec( property( get=get_wzyx, put=set_wzyx) ) double_4 abgr;
22028 
22035  double_4 get_wzyx() const __GPU {
22036  return double_4(_M_w,_M_z,_M_y,_M_x);
22037  }
22038 
22046  {
22047  double_4 _Val = _Value;
22048  _M_w = _Val.x;
22049  _M_z = _Val.y;
22050  _M_y = _Val.z;
22051  _M_x = _Val.w;
22052  }
22053 
22054  };
22055 
22056 
22057  uint_2::uint_2(const int_2& _Other) __GPU
22058  {
22059  int_2 _Value = _Other;
22060  _M_x = static_cast<value_type>(_Value.x);
22061  _M_y = static_cast<value_type>(_Value.y);
22062  }
22063 
22065  {
22066  float_2 _Value = _Other;
22067  _M_x = static_cast<value_type>(_Value.x);
22068  _M_y = static_cast<value_type>(_Value.y);
22069  }
22070 
22072  {
22073  unorm_2 _Value = _Other;
22074  _M_x = static_cast<value_type>(_Value.x);
22075  _M_y = static_cast<value_type>(_Value.y);
22076  }
22077 
22078  uint_2::uint_2(const norm_2& _Other) __GPU
22079  {
22080  norm_2 _Value = _Other;
22081  _M_x = static_cast<value_type>(_Value.x);
22082  _M_y = static_cast<value_type>(_Value.y);
22083  }
22084 
22086  {
22087  double_2 _Value = _Other;
22088  _M_x = static_cast<value_type>(_Value.x);
22089  _M_y = static_cast<value_type>(_Value.y);
22090  }
22091 
22092 
22093  uint_3::uint_3(const int_3& _Other) __GPU
22094  {
22095  int_3 _Value = _Other;
22096  _M_x = static_cast<value_type>(_Value.x);
22097  _M_y = static_cast<value_type>(_Value.y);
22098  _M_z = static_cast<value_type>(_Value.z);
22099  }
22100 
22102  {
22103  float_3 _Value = _Other;
22104  _M_x = static_cast<value_type>(_Value.x);
22105  _M_y = static_cast<value_type>(_Value.y);
22106  _M_z = static_cast<value_type>(_Value.z);
22107  }
22108 
22110  {
22111  unorm_3 _Value = _Other;
22112  _M_x = static_cast<value_type>(_Value.x);
22113  _M_y = static_cast<value_type>(_Value.y);
22114  _M_z = static_cast<value_type>(_Value.z);
22115  }
22116 
22117  uint_3::uint_3(const norm_3& _Other) __GPU
22118  {
22119  norm_3 _Value = _Other;
22120  _M_x = static_cast<value_type>(_Value.x);
22121  _M_y = static_cast<value_type>(_Value.y);
22122  _M_z = static_cast<value_type>(_Value.z);
22123  }
22124 
22126  {
22127  double_3 _Value = _Other;
22128  _M_x = static_cast<value_type>(_Value.x);
22129  _M_y = static_cast<value_type>(_Value.y);
22130  _M_z = static_cast<value_type>(_Value.z);
22131  }
22132 
22133 
22134  uint_4::uint_4(const int_4& _Other) __GPU
22135  {
22136  int_4 _Value = _Other;
22137  _M_x = static_cast<value_type>(_Value.x);
22138  _M_y = static_cast<value_type>(_Value.y);
22139  _M_z = static_cast<value_type>(_Value.z);
22140  _M_w = static_cast<value_type>(_Value.w);
22141  }
22142 
22144  {
22145  float_4 _Value = _Other;
22146  _M_x = static_cast<value_type>(_Value.x);
22147  _M_y = static_cast<value_type>(_Value.y);
22148  _M_z = static_cast<value_type>(_Value.z);
22149  _M_w = static_cast<value_type>(_Value.w);
22150  }
22151 
22153  {
22154  unorm_4 _Value = _Other;
22155  _M_x = static_cast<value_type>(_Value.x);
22156  _M_y = static_cast<value_type>(_Value.y);
22157  _M_z = static_cast<value_type>(_Value.z);
22158  _M_w = static_cast<value_type>(_Value.w);
22159  }
22160 
22161  uint_4::uint_4(const norm_4& _Other) __GPU
22162  {
22163  norm_4 _Value = _Other;
22164  _M_x = static_cast<value_type>(_Value.x);
22165  _M_y = static_cast<value_type>(_Value.y);
22166  _M_z = static_cast<value_type>(_Value.z);
22167  _M_w = static_cast<value_type>(_Value.w);
22168  }
22169 
22171  {
22172  double_4 _Value = _Other;
22173  _M_x = static_cast<value_type>(_Value.x);
22174  _M_y = static_cast<value_type>(_Value.y);
22175  _M_z = static_cast<value_type>(_Value.z);
22176  _M_w = static_cast<value_type>(_Value.w);
22177  }
22178 
22179 
22180  int_2::int_2(const uint_2& _Other) __GPU
22181  {
22182  uint_2 _Value = _Other;
22183  _M_x = static_cast<value_type>(_Value.x);
22184  _M_y = static_cast<value_type>(_Value.y);
22185  }
22186 
22187  int_2::int_2(const float_2& _Other) __GPU
22188  {
22189  float_2 _Value = _Other;
22190  _M_x = static_cast<value_type>(_Value.x);
22191  _M_y = static_cast<value_type>(_Value.y);
22192  }
22193 
22194  int_2::int_2(const unorm_2& _Other) __GPU
22195  {
22196  unorm_2 _Value = _Other;
22197  _M_x = static_cast<value_type>(_Value.x);
22198  _M_y = static_cast<value_type>(_Value.y);
22199  }
22200 
22201  int_2::int_2(const norm_2& _Other) __GPU
22202  {
22203  norm_2 _Value = _Other;
22204  _M_x = static_cast<value_type>(_Value.x);
22205  _M_y = static_cast<value_type>(_Value.y);
22206  }
22207 
22208  int_2::int_2(const double_2& _Other) __GPU
22209  {
22210  double_2 _Value = _Other;
22211  _M_x = static_cast<value_type>(_Value.x);
22212  _M_y = static_cast<value_type>(_Value.y);
22213  }
22214 
22215 
22216  int_3::int_3(const uint_3& _Other) __GPU
22217  {
22218  uint_3 _Value = _Other;
22219  _M_x = static_cast<value_type>(_Value.x);
22220  _M_y = static_cast<value_type>(_Value.y);
22221  _M_z = static_cast<value_type>(_Value.z);
22222  }
22223 
22224  int_3::int_3(const float_3& _Other) __GPU
22225  {
22226  float_3 _Value = _Other;
22227  _M_x = static_cast<value_type>(_Value.x);
22228  _M_y = static_cast<value_type>(_Value.y);
22229  _M_z = static_cast<value_type>(_Value.z);
22230  }
22231 
22232  int_3::int_3(const unorm_3& _Other) __GPU
22233  {
22234  unorm_3 _Value = _Other;
22235  _M_x = static_cast<value_type>(_Value.x);
22236  _M_y = static_cast<value_type>(_Value.y);
22237  _M_z = static_cast<value_type>(_Value.z);
22238  }
22239 
22240  int_3::int_3(const norm_3& _Other) __GPU
22241  {
22242  norm_3 _Value = _Other;
22243  _M_x = static_cast<value_type>(_Value.x);
22244  _M_y = static_cast<value_type>(_Value.y);
22245  _M_z = static_cast<value_type>(_Value.z);
22246  }
22247 
22248  int_3::int_3(const double_3& _Other) __GPU
22249  {
22250  double_3 _Value = _Other;
22251  _M_x = static_cast<value_type>(_Value.x);
22252  _M_y = static_cast<value_type>(_Value.y);
22253  _M_z = static_cast<value_type>(_Value.z);
22254  }
22255 
22256 
22257  int_4::int_4(const uint_4& _Other) __GPU
22258  {
22259  uint_4 _Value = _Other;
22260  _M_x = static_cast<value_type>(_Value.x);
22261  _M_y = static_cast<value_type>(_Value.y);
22262  _M_z = static_cast<value_type>(_Value.z);
22263  _M_w = static_cast<value_type>(_Value.w);
22264  }
22265 
22266  int_4::int_4(const float_4& _Other) __GPU
22267  {
22268  float_4 _Value = _Other;
22269  _M_x = static_cast<value_type>(_Value.x);
22270  _M_y = static_cast<value_type>(_Value.y);
22271  _M_z = static_cast<value_type>(_Value.z);
22272  _M_w = static_cast<value_type>(_Value.w);
22273  }
22274 
22275  int_4::int_4(const unorm_4& _Other) __GPU
22276  {
22277  unorm_4 _Value = _Other;
22278  _M_x = static_cast<value_type>(_Value.x);
22279  _M_y = static_cast<value_type>(_Value.y);
22280  _M_z = static_cast<value_type>(_Value.z);
22281  _M_w = static_cast<value_type>(_Value.w);
22282  }
22283 
22284  int_4::int_4(const norm_4& _Other) __GPU
22285  {
22286  norm_4 _Value = _Other;
22287  _M_x = static_cast<value_type>(_Value.x);
22288  _M_y = static_cast<value_type>(_Value.y);
22289  _M_z = static_cast<value_type>(_Value.z);
22290  _M_w = static_cast<value_type>(_Value.w);
22291  }
22292 
22293  int_4::int_4(const double_4& _Other) __GPU
22294  {
22295  double_4 _Value = _Other;
22296  _M_x = static_cast<value_type>(_Value.x);
22297  _M_y = static_cast<value_type>(_Value.y);
22298  _M_z = static_cast<value_type>(_Value.z);
22299  _M_w = static_cast<value_type>(_Value.w);
22300  }
22301 
22302 
22304  {
22305  uint_2 _Value = _Other;
22306  _M_x = static_cast<value_type>(_Value.x);
22307  _M_y = static_cast<value_type>(_Value.y);
22308  }
22309 
22311  {
22312  int_2 _Value = _Other;
22313  _M_x = static_cast<value_type>(_Value.x);
22314  _M_y = static_cast<value_type>(_Value.y);
22315  }
22316 
22318  {
22319  unorm_2 _Value = _Other;
22320  _M_x = static_cast<value_type>(_Value.x);
22321  _M_y = static_cast<value_type>(_Value.y);
22322  }
22323 
22325  {
22326  norm_2 _Value = _Other;
22327  _M_x = static_cast<value_type>(_Value.x);
22328  _M_y = static_cast<value_type>(_Value.y);
22329  }
22330 
22332  {
22333  double_2 _Value = _Other;
22334  _M_x = static_cast<value_type>(_Value.x);
22335  _M_y = static_cast<value_type>(_Value.y);
22336  }
22337 
22338 
22340  {
22341  uint_3 _Value = _Other;
22342  _M_x = static_cast<value_type>(_Value.x);
22343  _M_y = static_cast<value_type>(_Value.y);
22344  _M_z = static_cast<value_type>(_Value.z);
22345  }
22346 
22348  {
22349  int_3 _Value = _Other;
22350  _M_x = static_cast<value_type>(_Value.x);
22351  _M_y = static_cast<value_type>(_Value.y);
22352  _M_z = static_cast<value_type>(_Value.z);
22353  }
22354 
22356  {
22357  unorm_3 _Value = _Other;
22358  _M_x = static_cast<value_type>(_Value.x);
22359  _M_y = static_cast<value_type>(_Value.y);
22360  _M_z = static_cast<value_type>(_Value.z);
22361  }
22362 
22364  {
22365  norm_3 _Value = _Other;
22366  _M_x = static_cast<value_type>(_Value.x);
22367  _M_y = static_cast<value_type>(_Value.y);
22368  _M_z = static_cast<value_type>(_Value.z);
22369  }
22370 
22372  {
22373  double_3 _Value = _Other;
22374  _M_x = static_cast<value_type>(_Value.x);
22375  _M_y = static_cast<value_type>(_Value.y);
22376  _M_z = static_cast<value_type>(_Value.z);
22377  }
22378 
22379 
22381  {
22382  uint_4 _Value = _Other;
22383  _M_x = static_cast<value_type>(_Value.x);
22384  _M_y = static_cast<value_type>(_Value.y);
22385  _M_z = static_cast<value_type>(_Value.z);
22386  _M_w = static_cast<value_type>(_Value.w);
22387  }
22388 
22390  {
22391  int_4 _Value = _Other;
22392  _M_x = static_cast<value_type>(_Value.x);
22393  _M_y = static_cast<value_type>(_Value.y);
22394  _M_z = static_cast<value_type>(_Value.z);
22395  _M_w = static_cast<value_type>(_Value.w);
22396  }
22397 
22399  {
22400  unorm_4 _Value = _Other;
22401  _M_x = static_cast<value_type>(_Value.x);
22402  _M_y = static_cast<value_type>(_Value.y);
22403  _M_z = static_cast<value_type>(_Value.z);
22404  _M_w = static_cast<value_type>(_Value.w);
22405  }
22406 
22408  {
22409  norm_4 _Value = _Other;
22410  _M_x = static_cast<value_type>(_Value.x);
22411  _M_y = static_cast<value_type>(_Value.y);
22412  _M_z = static_cast<value_type>(_Value.z);
22413  _M_w = static_cast<value_type>(_Value.w);
22414  }
22415 
22417  {
22418  double_4 _Value = _Other;
22419  _M_x = static_cast<value_type>(_Value.x);
22420  _M_y = static_cast<value_type>(_Value.y);
22421  _M_z = static_cast<value_type>(_Value.z);
22422  _M_w = static_cast<value_type>(_Value.w);
22423  }
22424 
22425 
22427  {
22428  uint_2 _Value = _Other;
22429  _M_x = static_cast<value_type>(_Value.x);
22430  _M_y = static_cast<value_type>(_Value.y);
22431  }
22432 
22434  {
22435  int_2 _Value = _Other;
22436  _M_x = static_cast<value_type>(_Value.x);
22437  _M_y = static_cast<value_type>(_Value.y);
22438  }
22439 
22441  {
22442  float_2 _Value = _Other;
22443  _M_x = static_cast<value_type>(_Value.x);
22444  _M_y = static_cast<value_type>(_Value.y);
22445  }
22446 
22448  {
22449  norm_2 _Value = _Other;
22450  _M_x = static_cast<value_type>(_Value.x);
22451  _M_y = static_cast<value_type>(_Value.y);
22452  }
22453 
22455  {
22456  double_2 _Value = _Other;
22457  _M_x = static_cast<value_type>(_Value.x);
22458  _M_y = static_cast<value_type>(_Value.y);
22459  }
22460 
22461 
22463  {
22464  uint_3 _Value = _Other;
22465  _M_x = static_cast<value_type>(_Value.x);
22466  _M_y = static_cast<value_type>(_Value.y);
22467  _M_z = static_cast<value_type>(_Value.z);
22468  }
22469 
22471  {
22472  int_3 _Value = _Other;
22473  _M_x = static_cast<value_type>(_Value.x);
22474  _M_y = static_cast<value_type>(_Value.y);
22475  _M_z = static_cast<value_type>(_Value.z);
22476  }
22477 
22479  {
22480  float_3 _Value = _Other;
22481  _M_x = static_cast<value_type>(_Value.x);
22482  _M_y = static_cast<value_type>(_Value.y);
22483  _M_z = static_cast<value_type>(_Value.z);
22484  }
22485 
22487  {
22488  norm_3 _Value = _Other;
22489  _M_x = static_cast<value_type>(_Value.x);
22490  _M_y = static_cast<value_type>(_Value.y);
22491  _M_z = static_cast<value_type>(_Value.z);
22492  }
22493 
22495  {
22496  double_3 _Value = _Other;
22497  _M_x = static_cast<value_type>(_Value.x);
22498  _M_y = static_cast<value_type>(_Value.y);
22499  _M_z = static_cast<value_type>(_Value.z);
22500  }
22501 
22502 
22504  {
22505  uint_4 _Value = _Other;
22506  _M_x = static_cast<value_type>(_Value.x);
22507  _M_y = static_cast<value_type>(_Value.y);
22508  _M_z = static_cast<value_type>(_Value.z);
22509  _M_w = static_cast<value_type>(_Value.w);
22510  }
22511 
22513  {
22514  int_4 _Value = _Other;
22515  _M_x = static_cast<value_type>(_Value.x);
22516  _M_y = static_cast<value_type>(_Value.y);
22517  _M_z = static_cast<value_type>(_Value.z);
22518  _M_w = static_cast<value_type>(_Value.w);
22519  }
22520 
22522  {
22523  float_4 _Value = _Other;
22524  _M_x = static_cast<value_type>(_Value.x);
22525  _M_y = static_cast<value_type>(_Value.y);
22526  _M_z = static_cast<value_type>(_Value.z);
22527  _M_w = static_cast<value_type>(_Value.w);
22528  }
22529 
22531  {
22532  norm_4 _Value = _Other;
22533  _M_x = static_cast<value_type>(_Value.x);
22534  _M_y = static_cast<value_type>(_Value.y);
22535  _M_z = static_cast<value_type>(_Value.z);
22536  _M_w = static_cast<value_type>(_Value.w);
22537  }
22538 
22540  {
22541  double_4 _Value = _Other;
22542  _M_x = static_cast<value_type>(_Value.x);
22543  _M_y = static_cast<value_type>(_Value.y);
22544  _M_z = static_cast<value_type>(_Value.z);
22545  _M_w = static_cast<value_type>(_Value.w);
22546  }
22547 
22548 
22549  norm_2::norm_2(const uint_2& _Other) __GPU
22550  {
22551  uint_2 _Value = _Other;
22552  _M_x = static_cast<value_type>(_Value.x);
22553  _M_y = static_cast<value_type>(_Value.y);
22554  }
22555 
22556  norm_2::norm_2(const int_2& _Other) __GPU
22557  {
22558  int_2 _Value = _Other;
22559  _M_x = static_cast<value_type>(_Value.x);
22560  _M_y = static_cast<value_type>(_Value.y);
22561  }
22562 
22564  {
22565  float_2 _Value = _Other;
22566  _M_x = static_cast<value_type>(_Value.x);
22567  _M_y = static_cast<value_type>(_Value.y);
22568  }
22569 
22571  {
22572  unorm_2 _Value = _Other;
22573  _M_x = static_cast<value_type>(_Value.x);
22574  _M_y = static_cast<value_type>(_Value.y);
22575  }
22576 
22578  {
22579  double_2 _Value = _Other;
22580  _M_x = static_cast<value_type>(_Value.x);
22581  _M_y = static_cast<value_type>(_Value.y);
22582  }
22583 
22584 
22585  norm_3::norm_3(const uint_3& _Other) __GPU
22586  {
22587  uint_3 _Value = _Other;
22588  _M_x = static_cast<value_type>(_Value.x);
22589  _M_y = static_cast<value_type>(_Value.y);
22590  _M_z = static_cast<value_type>(_Value.z);
22591  }
22592 
22593  norm_3::norm_3(const int_3& _Other) __GPU
22594  {
22595  int_3 _Value = _Other;
22596  _M_x = static_cast<value_type>(_Value.x);
22597  _M_y = static_cast<value_type>(_Value.y);
22598  _M_z = static_cast<value_type>(_Value.z);
22599  }
22600 
22602  {
22603  float_3 _Value = _Other;
22604  _M_x = static_cast<value_type>(_Value.x);
22605  _M_y = static_cast<value_type>(_Value.y);
22606  _M_z = static_cast<value_type>(_Value.z);
22607  }
22608 
22610  {
22611  unorm_3 _Value = _Other;
22612  _M_x = static_cast<value_type>(_Value.x);
22613  _M_y = static_cast<value_type>(_Value.y);
22614  _M_z = static_cast<value_type>(_Value.z);
22615  }
22616 
22618  {
22619  double_3 _Value = _Other;
22620  _M_x = static_cast<value_type>(_Value.x);
22621  _M_y = static_cast<value_type>(_Value.y);
22622  _M_z = static_cast<value_type>(_Value.z);
22623  }
22624 
22625 
22626  norm_4::norm_4(const uint_4& _Other) __GPU
22627  {
22628  uint_4 _Value = _Other;
22629  _M_x = static_cast<value_type>(_Value.x);
22630  _M_y = static_cast<value_type>(_Value.y);
22631  _M_z = static_cast<value_type>(_Value.z);
22632  _M_w = static_cast<value_type>(_Value.w);
22633  }
22634 
22635  norm_4::norm_4(const int_4& _Other) __GPU
22636  {
22637  int_4 _Value = _Other;
22638  _M_x = static_cast<value_type>(_Value.x);
22639  _M_y = static_cast<value_type>(_Value.y);
22640  _M_z = static_cast<value_type>(_Value.z);
22641  _M_w = static_cast<value_type>(_Value.w);
22642  }
22643 
22645  {
22646  float_4 _Value = _Other;
22647  _M_x = static_cast<value_type>(_Value.x);
22648  _M_y = static_cast<value_type>(_Value.y);
22649  _M_z = static_cast<value_type>(_Value.z);
22650  _M_w = static_cast<value_type>(_Value.w);
22651  }
22652 
22654  {
22655  unorm_4 _Value = _Other;
22656  _M_x = static_cast<value_type>(_Value.x);
22657  _M_y = static_cast<value_type>(_Value.y);
22658  _M_z = static_cast<value_type>(_Value.z);
22659  _M_w = static_cast<value_type>(_Value.w);
22660  }
22661 
22663  {
22664  double_4 _Value = _Other;
22665  _M_x = static_cast<value_type>(_Value.x);
22666  _M_y = static_cast<value_type>(_Value.y);
22667  _M_z = static_cast<value_type>(_Value.z);
22668  _M_w = static_cast<value_type>(_Value.w);
22669  }
22670 
22671 
22673  {
22674  uint_2 _Value = _Other;
22675  _M_x = static_cast<value_type>(_Value.x);
22676  _M_y = static_cast<value_type>(_Value.y);
22677  }
22678 
22680  {
22681  int_2 _Value = _Other;
22682  _M_x = static_cast<value_type>(_Value.x);
22683  _M_y = static_cast<value_type>(_Value.y);
22684  }
22685 
22687  {
22688  float_2 _Value = _Other;
22689  _M_x = static_cast<value_type>(_Value.x);
22690  _M_y = static_cast<value_type>(_Value.y);
22691  }
22692 
22694  {
22695  unorm_2 _Value = _Other;
22696  _M_x = static_cast<value_type>(_Value.x);
22697  _M_y = static_cast<value_type>(_Value.y);
22698  }
22699 
22701  {
22702  norm_2 _Value = _Other;
22703  _M_x = static_cast<value_type>(_Value.x);
22704  _M_y = static_cast<value_type>(_Value.y);
22705  }
22706 
22707 
22709  {
22710  uint_3 _Value = _Other;
22711  _M_x = static_cast<value_type>(_Value.x);
22712  _M_y = static_cast<value_type>(_Value.y);
22713  _M_z = static_cast<value_type>(_Value.z);
22714  }
22715 
22717  {
22718  int_3 _Value = _Other;
22719  _M_x = static_cast<value_type>(_Value.x);
22720  _M_y = static_cast<value_type>(_Value.y);
22721  _M_z = static_cast<value_type>(_Value.z);
22722  }
22723 
22725  {
22726  float_3 _Value = _Other;
22727  _M_x = static_cast<value_type>(_Value.x);
22728  _M_y = static_cast<value_type>(_Value.y);
22729  _M_z = static_cast<value_type>(_Value.z);
22730  }
22731 
22733  {
22734  unorm_3 _Value = _Other;
22735  _M_x = static_cast<value_type>(_Value.x);
22736  _M_y = static_cast<value_type>(_Value.y);
22737  _M_z = static_cast<value_type>(_Value.z);
22738  }
22739 
22741  {
22742  norm_3 _Value = _Other;
22743  _M_x = static_cast<value_type>(_Value.x);
22744  _M_y = static_cast<value_type>(_Value.y);
22745  _M_z = static_cast<value_type>(_Value.z);
22746  }
22747 
22748 
22750  {
22751  uint_4 _Value = _Other;
22752  _M_x = static_cast<value_type>(_Value.x);
22753  _M_y = static_cast<value_type>(_Value.y);
22754  _M_z = static_cast<value_type>(_Value.z);
22755  _M_w = static_cast<value_type>(_Value.w);
22756  }
22757 
22759  {
22760  int_4 _Value = _Other;
22761  _M_x = static_cast<value_type>(_Value.x);
22762  _M_y = static_cast<value_type>(_Value.y);
22763  _M_z = static_cast<value_type>(_Value.z);
22764  _M_w = static_cast<value_type>(_Value.w);
22765  }
22766 
22768  {
22769  float_4 _Value = _Other;
22770  _M_x = static_cast<value_type>(_Value.x);
22771  _M_y = static_cast<value_type>(_Value.y);
22772  _M_z = static_cast<value_type>(_Value.z);
22773  _M_w = static_cast<value_type>(_Value.w);
22774  }
22775 
22777  {
22778  unorm_4 _Value = _Other;
22779  _M_x = static_cast<value_type>(_Value.x);
22780  _M_y = static_cast<value_type>(_Value.y);
22781  _M_z = static_cast<value_type>(_Value.z);
22782  _M_w = static_cast<value_type>(_Value.w);
22783  }
22784 
22786  {
22787  norm_4 _Value = _Other;
22788  _M_x = static_cast<value_type>(_Value.x);
22789  _M_y = static_cast<value_type>(_Value.y);
22790  _M_z = static_cast<value_type>(_Value.z);
22791  _M_w = static_cast<value_type>(_Value.w);
22792  }
22793 
22794 
22795 
22796  inline uint_2 operator+(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22797  {
22798  uint_2 _Value1 = _Lhs;
22799  uint_2 _Value2 = _Rhs;
22800  return uint_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
22801  }
22802 
22803  inline uint_2 operator-(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22804  {
22805  uint_2 _Value1 = _Lhs;
22806  uint_2 _Value2 = _Rhs;
22807  return uint_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
22808  }
22809 
22810  inline uint_2 operator*(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22811  {
22812  uint_2 _Value1 = _Lhs;
22813  uint_2 _Value2 = _Rhs;
22814  return uint_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
22815  }
22816 
22817  inline uint_2 operator/(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22818  {
22819  uint_2 _Value1 = _Lhs;
22820  uint_2 _Value2 = _Rhs;
22821  return uint_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
22822  }
22823 
22824  inline bool operator==(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22825  {
22826  uint_2 _Value1 = _Lhs;
22827  uint_2 _Value2 = _Rhs;
22828  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
22829  }
22830 
22831  inline bool operator!=(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22832  {
22833  uint_2 _Value1 = _Lhs;
22834  uint_2 _Value2 = _Rhs;
22835  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
22836  }
22837 
22838  inline uint_2 operator%(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22839  {
22840  uint_2 _Value1 = _Lhs;
22841  uint_2 _Value2 = _Rhs;
22842  return uint_2(_Value1.x % _Value2.x, _Value1.y % _Value2.y);
22843  }
22844 
22845  inline uint_2 operator^(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22846  {
22847  uint_2 _Value1 = _Lhs;
22848  uint_2 _Value2 = _Rhs;
22849  return uint_2(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y);
22850  }
22851 
22852  inline uint_2 operator|(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22853  {
22854  uint_2 _Value1 = _Lhs;
22855  uint_2 _Value2 = _Rhs;
22856  return uint_2(_Value1.x | _Value2.x, _Value1.y | _Value2.y);
22857  }
22858 
22859  inline uint_2 operator&(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22860  {
22861  uint_2 _Value1 = _Lhs;
22862  uint_2 _Value2 = _Rhs;
22863  return uint_2(_Value1.x & _Value2.x, _Value1.y & _Value2.y);
22864  }
22865 
22866  inline uint_2 operator<<(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22867  {
22868  uint_2 _Value1 = _Lhs;
22869  uint_2 _Value2 = _Rhs;
22870  return uint_2(_Value1.x << _Value2.x, _Value1.y << _Value2.y);
22871  }
22872 
22873  inline uint_2 operator>>(const uint_2& _Lhs, const uint_2& _Rhs) __GPU
22874  {
22875  uint_2 _Value1 = _Lhs;
22876  uint_2 _Value2 = _Rhs;
22877  return uint_2(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y);
22878  }
22879 
22880  inline uint_3 operator+(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22881  {
22882  uint_3 _Value1 = _Lhs;
22883  uint_3 _Value2 = _Rhs;
22884  return uint_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
22885  }
22886 
22887  inline uint_3 operator-(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22888  {
22889  uint_3 _Value1 = _Lhs;
22890  uint_3 _Value2 = _Rhs;
22891  return uint_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
22892  }
22893 
22894  inline uint_3 operator*(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22895  {
22896  uint_3 _Value1 = _Lhs;
22897  uint_3 _Value2 = _Rhs;
22898  return uint_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
22899  }
22900 
22901  inline uint_3 operator/(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22902  {
22903  uint_3 _Value1 = _Lhs;
22904  uint_3 _Value2 = _Rhs;
22905  return uint_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
22906  }
22907 
22908  inline bool operator==(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22909  {
22910  uint_3 _Value1 = _Lhs;
22911  uint_3 _Value2 = _Rhs;
22912  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
22913  }
22914 
22915  inline bool operator!=(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22916  {
22917  uint_3 _Value1 = _Lhs;
22918  uint_3 _Value2 = _Rhs;
22919  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
22920  }
22921 
22922  inline uint_3 operator%(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22923  {
22924  uint_3 _Value1 = _Lhs;
22925  uint_3 _Value2 = _Rhs;
22926  return uint_3(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z);
22927  }
22928 
22929  inline uint_3 operator^(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22930  {
22931  uint_3 _Value1 = _Lhs;
22932  uint_3 _Value2 = _Rhs;
22933  return uint_3(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z);
22934  }
22935 
22936  inline uint_3 operator|(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22937  {
22938  uint_3 _Value1 = _Lhs;
22939  uint_3 _Value2 = _Rhs;
22940  return uint_3(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z);
22941  }
22942 
22943  inline uint_3 operator&(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22944  {
22945  uint_3 _Value1 = _Lhs;
22946  uint_3 _Value2 = _Rhs;
22947  return uint_3(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z);
22948  }
22949 
22950  inline uint_3 operator<<(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22951  {
22952  uint_3 _Value1 = _Lhs;
22953  uint_3 _Value2 = _Rhs;
22954  return uint_3(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z);
22955  }
22956 
22957  inline uint_3 operator>>(const uint_3& _Lhs, const uint_3& _Rhs) __GPU
22958  {
22959  uint_3 _Value1 = _Lhs;
22960  uint_3 _Value2 = _Rhs;
22961  return uint_3(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z);
22962  }
22963 
22964  inline uint_4 operator+(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
22965  {
22966  uint_4 _Value1 = _Lhs;
22967  uint_4 _Value2 = _Rhs;
22968  return uint_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
22969  }
22970 
22971  inline uint_4 operator-(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
22972  {
22973  uint_4 _Value1 = _Lhs;
22974  uint_4 _Value2 = _Rhs;
22975  return uint_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
22976  }
22977 
22978  inline uint_4 operator*(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
22979  {
22980  uint_4 _Value1 = _Lhs;
22981  uint_4 _Value2 = _Rhs;
22982  return uint_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
22983  }
22984 
22985  inline uint_4 operator/(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
22986  {
22987  uint_4 _Value1 = _Lhs;
22988  uint_4 _Value2 = _Rhs;
22989  return uint_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
22990  }
22991 
22992  inline bool operator==(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
22993  {
22994  uint_4 _Value1 = _Lhs;
22995  uint_4 _Value2 = _Rhs;
22996  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
22997  }
22998 
22999  inline bool operator!=(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23000  {
23001  uint_4 _Value1 = _Lhs;
23002  uint_4 _Value2 = _Rhs;
23003  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23004  }
23005 
23006  inline uint_4 operator%(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23007  {
23008  uint_4 _Value1 = _Lhs;
23009  uint_4 _Value2 = _Rhs;
23010  return uint_4(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z, _Value1.w % _Value2.w);
23011  }
23012 
23013  inline uint_4 operator^(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23014  {
23015  uint_4 _Value1 = _Lhs;
23016  uint_4 _Value2 = _Rhs;
23017  return uint_4(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z, _Value1.w ^ _Value2.w);
23018  }
23019 
23020  inline uint_4 operator|(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23021  {
23022  uint_4 _Value1 = _Lhs;
23023  uint_4 _Value2 = _Rhs;
23024  return uint_4(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z, _Value1.w | _Value2.w);
23025  }
23026 
23027  inline uint_4 operator&(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23028  {
23029  uint_4 _Value1 = _Lhs;
23030  uint_4 _Value2 = _Rhs;
23031  return uint_4(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z, _Value1.w & _Value2.w);
23032  }
23033 
23034  inline uint_4 operator<<(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23035  {
23036  uint_4 _Value1 = _Lhs;
23037  uint_4 _Value2 = _Rhs;
23038  return uint_4(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z, _Value1.w << _Value2.w);
23039  }
23040 
23041  inline uint_4 operator>>(const uint_4& _Lhs, const uint_4& _Rhs) __GPU
23042  {
23043  uint_4 _Value1 = _Lhs;
23044  uint_4 _Value2 = _Rhs;
23045  return uint_4(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z, _Value1.w >> _Value2.w);
23046  }
23047 
23048  inline int_2 operator+(const int_2& _Lhs, const int_2& _Rhs) __GPU
23049  {
23050  int_2 _Value1 = _Lhs;
23051  int_2 _Value2 = _Rhs;
23052  return int_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23053  }
23054 
23055  inline int_2 operator-(const int_2& _Lhs, const int_2& _Rhs) __GPU
23056  {
23057  int_2 _Value1 = _Lhs;
23058  int_2 _Value2 = _Rhs;
23059  return int_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23060  }
23061 
23062  inline int_2 operator*(const int_2& _Lhs, const int_2& _Rhs) __GPU
23063  {
23064  int_2 _Value1 = _Lhs;
23065  int_2 _Value2 = _Rhs;
23066  return int_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23067  }
23068 
23069  inline int_2 operator/(const int_2& _Lhs, const int_2& _Rhs) __GPU
23070  {
23071  int_2 _Value1 = _Lhs;
23072  int_2 _Value2 = _Rhs;
23073  return int_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23074  }
23075 
23076  inline bool operator==(const int_2& _Lhs, const int_2& _Rhs) __GPU
23077  {
23078  int_2 _Value1 = _Lhs;
23079  int_2 _Value2 = _Rhs;
23080  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23081  }
23082 
23083  inline bool operator!=(const int_2& _Lhs, const int_2& _Rhs) __GPU
23084  {
23085  int_2 _Value1 = _Lhs;
23086  int_2 _Value2 = _Rhs;
23087  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23088  }
23089 
23090  inline int_2 operator%(const int_2& _Lhs, const int_2& _Rhs) __GPU
23091  {
23092  int_2 _Value1 = _Lhs;
23093  int_2 _Value2 = _Rhs;
23094  return int_2(_Value1.x % _Value2.x, _Value1.y % _Value2.y);
23095  }
23096 
23097  inline int_2 operator^(const int_2& _Lhs, const int_2& _Rhs) __GPU
23098  {
23099  int_2 _Value1 = _Lhs;
23100  int_2 _Value2 = _Rhs;
23101  return int_2(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y);
23102  }
23103 
23104  inline int_2 operator|(const int_2& _Lhs, const int_2& _Rhs) __GPU
23105  {
23106  int_2 _Value1 = _Lhs;
23107  int_2 _Value2 = _Rhs;
23108  return int_2(_Value1.x | _Value2.x, _Value1.y | _Value2.y);
23109  }
23110 
23111  inline int_2 operator&(const int_2& _Lhs, const int_2& _Rhs) __GPU
23112  {
23113  int_2 _Value1 = _Lhs;
23114  int_2 _Value2 = _Rhs;
23115  return int_2(_Value1.x & _Value2.x, _Value1.y & _Value2.y);
23116  }
23117 
23118  inline int_2 operator<<(const int_2& _Lhs, const int_2& _Rhs) __GPU
23119  {
23120  int_2 _Value1 = _Lhs;
23121  int_2 _Value2 = _Rhs;
23122  return int_2(_Value1.x << _Value2.x, _Value1.y << _Value2.y);
23123  }
23124 
23125  inline int_2 operator>>(const int_2& _Lhs, const int_2& _Rhs) __GPU
23126  {
23127  int_2 _Value1 = _Lhs;
23128  int_2 _Value2 = _Rhs;
23129  return int_2(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y);
23130  }
23131 
23132  inline int_3 operator+(const int_3& _Lhs, const int_3& _Rhs) __GPU
23133  {
23134  int_3 _Value1 = _Lhs;
23135  int_3 _Value2 = _Rhs;
23136  return int_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23137  }
23138 
23139  inline int_3 operator-(const int_3& _Lhs, const int_3& _Rhs) __GPU
23140  {
23141  int_3 _Value1 = _Lhs;
23142  int_3 _Value2 = _Rhs;
23143  return int_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23144  }
23145 
23146  inline int_3 operator*(const int_3& _Lhs, const int_3& _Rhs) __GPU
23147  {
23148  int_3 _Value1 = _Lhs;
23149  int_3 _Value2 = _Rhs;
23150  return int_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23151  }
23152 
23153  inline int_3 operator/(const int_3& _Lhs, const int_3& _Rhs) __GPU
23154  {
23155  int_3 _Value1 = _Lhs;
23156  int_3 _Value2 = _Rhs;
23157  return int_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23158  }
23159 
23160  inline bool operator==(const int_3& _Lhs, const int_3& _Rhs) __GPU
23161  {
23162  int_3 _Value1 = _Lhs;
23163  int_3 _Value2 = _Rhs;
23164  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23165  }
23166 
23167  inline bool operator!=(const int_3& _Lhs, const int_3& _Rhs) __GPU
23168  {
23169  int_3 _Value1 = _Lhs;
23170  int_3 _Value2 = _Rhs;
23171  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23172  }
23173 
23174  inline int_3 operator%(const int_3& _Lhs, const int_3& _Rhs) __GPU
23175  {
23176  int_3 _Value1 = _Lhs;
23177  int_3 _Value2 = _Rhs;
23178  return int_3(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z);
23179  }
23180 
23181  inline int_3 operator^(const int_3& _Lhs, const int_3& _Rhs) __GPU
23182  {
23183  int_3 _Value1 = _Lhs;
23184  int_3 _Value2 = _Rhs;
23185  return int_3(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z);
23186  }
23187 
23188  inline int_3 operator|(const int_3& _Lhs, const int_3& _Rhs) __GPU
23189  {
23190  int_3 _Value1 = _Lhs;
23191  int_3 _Value2 = _Rhs;
23192  return int_3(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z);
23193  }
23194 
23195  inline int_3 operator&(const int_3& _Lhs, const int_3& _Rhs) __GPU
23196  {
23197  int_3 _Value1 = _Lhs;
23198  int_3 _Value2 = _Rhs;
23199  return int_3(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z);
23200  }
23201 
23202  inline int_3 operator<<(const int_3& _Lhs, const int_3& _Rhs) __GPU
23203  {
23204  int_3 _Value1 = _Lhs;
23205  int_3 _Value2 = _Rhs;
23206  return int_3(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z);
23207  }
23208 
23209  inline int_3 operator>>(const int_3& _Lhs, const int_3& _Rhs) __GPU
23210  {
23211  int_3 _Value1 = _Lhs;
23212  int_3 _Value2 = _Rhs;
23213  return int_3(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z);
23214  }
23215 
23216  inline int_4 operator+(const int_4& _Lhs, const int_4& _Rhs) __GPU
23217  {
23218  int_4 _Value1 = _Lhs;
23219  int_4 _Value2 = _Rhs;
23220  return int_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23221  }
23222 
23223  inline int_4 operator-(const int_4& _Lhs, const int_4& _Rhs) __GPU
23224  {
23225  int_4 _Value1 = _Lhs;
23226  int_4 _Value2 = _Rhs;
23227  return int_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23228  }
23229 
23230  inline int_4 operator*(const int_4& _Lhs, const int_4& _Rhs) __GPU
23231  {
23232  int_4 _Value1 = _Lhs;
23233  int_4 _Value2 = _Rhs;
23234  return int_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23235  }
23236 
23237  inline int_4 operator/(const int_4& _Lhs, const int_4& _Rhs) __GPU
23238  {
23239  int_4 _Value1 = _Lhs;
23240  int_4 _Value2 = _Rhs;
23241  return int_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23242  }
23243 
23244  inline bool operator==(const int_4& _Lhs, const int_4& _Rhs) __GPU
23245  {
23246  int_4 _Value1 = _Lhs;
23247  int_4 _Value2 = _Rhs;
23248  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23249  }
23250 
23251  inline bool operator!=(const int_4& _Lhs, const int_4& _Rhs) __GPU
23252  {
23253  int_4 _Value1 = _Lhs;
23254  int_4 _Value2 = _Rhs;
23255  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23256  }
23257 
23258  inline int_4 operator%(const int_4& _Lhs, const int_4& _Rhs) __GPU
23259  {
23260  int_4 _Value1 = _Lhs;
23261  int_4 _Value2 = _Rhs;
23262  return int_4(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z, _Value1.w % _Value2.w);
23263  }
23264 
23265  inline int_4 operator^(const int_4& _Lhs, const int_4& _Rhs) __GPU
23266  {
23267  int_4 _Value1 = _Lhs;
23268  int_4 _Value2 = _Rhs;
23269  return int_4(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z, _Value1.w ^ _Value2.w);
23270  }
23271 
23272  inline int_4 operator|(const int_4& _Lhs, const int_4& _Rhs) __GPU
23273  {
23274  int_4 _Value1 = _Lhs;
23275  int_4 _Value2 = _Rhs;
23276  return int_4(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z, _Value1.w | _Value2.w);
23277  }
23278 
23279  inline int_4 operator&(const int_4& _Lhs, const int_4& _Rhs) __GPU
23280  {
23281  int_4 _Value1 = _Lhs;
23282  int_4 _Value2 = _Rhs;
23283  return int_4(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z, _Value1.w & _Value2.w);
23284  }
23285 
23286  inline int_4 operator<<(const int_4& _Lhs, const int_4& _Rhs) __GPU
23287  {
23288  int_4 _Value1 = _Lhs;
23289  int_4 _Value2 = _Rhs;
23290  return int_4(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z, _Value1.w << _Value2.w);
23291  }
23292 
23293  inline int_4 operator>>(const int_4& _Lhs, const int_4& _Rhs) __GPU
23294  {
23295  int_4 _Value1 = _Lhs;
23296  int_4 _Value2 = _Rhs;
23297  return int_4(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z, _Value1.w >> _Value2.w);
23298  }
23299 
23300  inline float_2 operator+(const float_2& _Lhs, const float_2& _Rhs) __GPU
23301  {
23302  float_2 _Value1 = _Lhs;
23303  float_2 _Value2 = _Rhs;
23304  return float_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23305  }
23306 
23307  inline float_2 operator-(const float_2& _Lhs, const float_2& _Rhs) __GPU
23308  {
23309  float_2 _Value1 = _Lhs;
23310  float_2 _Value2 = _Rhs;
23311  return float_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23312  }
23313 
23314  inline float_2 operator*(const float_2& _Lhs, const float_2& _Rhs) __GPU
23315  {
23316  float_2 _Value1 = _Lhs;
23317  float_2 _Value2 = _Rhs;
23318  return float_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23319  }
23320 
23321  inline float_2 operator/(const float_2& _Lhs, const float_2& _Rhs) __GPU
23322  {
23323  float_2 _Value1 = _Lhs;
23324  float_2 _Value2 = _Rhs;
23325  return float_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23326  }
23327 
23328  inline bool operator==(const float_2& _Lhs, const float_2& _Rhs) __GPU
23329  {
23330  float_2 _Value1 = _Lhs;
23331  float_2 _Value2 = _Rhs;
23332  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23333  }
23334 
23335  inline bool operator!=(const float_2& _Lhs, const float_2& _Rhs) __GPU
23336  {
23337  float_2 _Value1 = _Lhs;
23338  float_2 _Value2 = _Rhs;
23339  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23340  }
23341 
23342  inline float_3 operator+(const float_3& _Lhs, const float_3& _Rhs) __GPU
23343  {
23344  float_3 _Value1 = _Lhs;
23345  float_3 _Value2 = _Rhs;
23346  return float_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23347  }
23348 
23349  inline float_3 operator-(const float_3& _Lhs, const float_3& _Rhs) __GPU
23350  {
23351  float_3 _Value1 = _Lhs;
23352  float_3 _Value2 = _Rhs;
23353  return float_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23354  }
23355 
23356  inline float_3 operator*(const float_3& _Lhs, const float_3& _Rhs) __GPU
23357  {
23358  float_3 _Value1 = _Lhs;
23359  float_3 _Value2 = _Rhs;
23360  return float_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23361  }
23362 
23363  inline float_3 operator/(const float_3& _Lhs, const float_3& _Rhs) __GPU
23364  {
23365  float_3 _Value1 = _Lhs;
23366  float_3 _Value2 = _Rhs;
23367  return float_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23368  }
23369 
23370  inline bool operator==(const float_3& _Lhs, const float_3& _Rhs) __GPU
23371  {
23372  float_3 _Value1 = _Lhs;
23373  float_3 _Value2 = _Rhs;
23374  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23375  }
23376 
23377  inline bool operator!=(const float_3& _Lhs, const float_3& _Rhs) __GPU
23378  {
23379  float_3 _Value1 = _Lhs;
23380  float_3 _Value2 = _Rhs;
23381  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23382  }
23383 
23384  inline float_4 operator+(const float_4& _Lhs, const float_4& _Rhs) __GPU
23385  {
23386  float_4 _Value1 = _Lhs;
23387  float_4 _Value2 = _Rhs;
23388  return float_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23389  }
23390 
23391  inline float_4 operator-(const float_4& _Lhs, const float_4& _Rhs) __GPU
23392  {
23393  float_4 _Value1 = _Lhs;
23394  float_4 _Value2 = _Rhs;
23395  return float_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23396  }
23397 
23398  inline float_4 operator*(const float_4& _Lhs, const float_4& _Rhs) __GPU
23399  {
23400  float_4 _Value1 = _Lhs;
23401  float_4 _Value2 = _Rhs;
23402  return float_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23403  }
23404 
23405  inline float_4 operator/(const float_4& _Lhs, const float_4& _Rhs) __GPU
23406  {
23407  float_4 _Value1 = _Lhs;
23408  float_4 _Value2 = _Rhs;
23409  return float_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23410  }
23411 
23412  inline bool operator==(const float_4& _Lhs, const float_4& _Rhs) __GPU
23413  {
23414  float_4 _Value1 = _Lhs;
23415  float_4 _Value2 = _Rhs;
23416  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23417  }
23418 
23419  inline bool operator!=(const float_4& _Lhs, const float_4& _Rhs) __GPU
23420  {
23421  float_4 _Value1 = _Lhs;
23422  float_4 _Value2 = _Rhs;
23423  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23424  }
23425 
23426  inline unorm_2 operator+(const unorm_2& _Lhs, const unorm_2& _Rhs) __GPU
23427  {
23428  unorm_2 _Value1 = _Lhs;
23429  unorm_2 _Value2 = _Rhs;
23430  return unorm_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23431  }
23432 
23433  inline unorm_2 operator-(const unorm_2& _Lhs, const unorm_2& _Rhs) __GPU
23434  {
23435  unorm_2 _Value1 = _Lhs;
23436  unorm_2 _Value2 = _Rhs;
23437  return unorm_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23438  }
23439 
23440  inline unorm_2 operator*(const unorm_2& _Lhs, const unorm_2& _Rhs) __GPU
23441  {
23442  unorm_2 _Value1 = _Lhs;
23443  unorm_2 _Value2 = _Rhs;
23444  return unorm_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23445  }
23446 
23447  inline unorm_2 operator/(const unorm_2& _Lhs, const unorm_2& _Rhs) __GPU
23448  {
23449  unorm_2 _Value1 = _Lhs;
23450  unorm_2 _Value2 = _Rhs;
23451  return unorm_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23452  }
23453 
23454  inline bool operator==(const unorm_2& _Lhs, const unorm_2& _Rhs) __GPU
23455  {
23456  unorm_2 _Value1 = _Lhs;
23457  unorm_2 _Value2 = _Rhs;
23458  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23459  }
23460 
23461  inline bool operator!=(const unorm_2& _Lhs, const unorm_2& _Rhs) __GPU
23462  {
23463  unorm_2 _Value1 = _Lhs;
23464  unorm_2 _Value2 = _Rhs;
23465  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23466  }
23467 
23468  inline unorm_3 operator+(const unorm_3& _Lhs, const unorm_3& _Rhs) __GPU
23469  {
23470  unorm_3 _Value1 = _Lhs;
23471  unorm_3 _Value2 = _Rhs;
23472  return unorm_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23473  }
23474 
23475  inline unorm_3 operator-(const unorm_3& _Lhs, const unorm_3& _Rhs) __GPU
23476  {
23477  unorm_3 _Value1 = _Lhs;
23478  unorm_3 _Value2 = _Rhs;
23479  return unorm_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23480  }
23481 
23482  inline unorm_3 operator*(const unorm_3& _Lhs, const unorm_3& _Rhs) __GPU
23483  {
23484  unorm_3 _Value1 = _Lhs;
23485  unorm_3 _Value2 = _Rhs;
23486  return unorm_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23487  }
23488 
23489  inline unorm_3 operator/(const unorm_3& _Lhs, const unorm_3& _Rhs) __GPU
23490  {
23491  unorm_3 _Value1 = _Lhs;
23492  unorm_3 _Value2 = _Rhs;
23493  return unorm_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23494  }
23495 
23496  inline bool operator==(const unorm_3& _Lhs, const unorm_3& _Rhs) __GPU
23497  {
23498  unorm_3 _Value1 = _Lhs;
23499  unorm_3 _Value2 = _Rhs;
23500  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23501  }
23502 
23503  inline bool operator!=(const unorm_3& _Lhs, const unorm_3& _Rhs) __GPU
23504  {
23505  unorm_3 _Value1 = _Lhs;
23506  unorm_3 _Value2 = _Rhs;
23507  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23508  }
23509 
23510  inline unorm_4 operator+(const unorm_4& _Lhs, const unorm_4& _Rhs) __GPU
23511  {
23512  unorm_4 _Value1 = _Lhs;
23513  unorm_4 _Value2 = _Rhs;
23514  return unorm_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23515  }
23516 
23517  inline unorm_4 operator-(const unorm_4& _Lhs, const unorm_4& _Rhs) __GPU
23518  {
23519  unorm_4 _Value1 = _Lhs;
23520  unorm_4 _Value2 = _Rhs;
23521  return unorm_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23522  }
23523 
23524  inline unorm_4 operator*(const unorm_4& _Lhs, const unorm_4& _Rhs) __GPU
23525  {
23526  unorm_4 _Value1 = _Lhs;
23527  unorm_4 _Value2 = _Rhs;
23528  return unorm_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23529  }
23530 
23531  inline unorm_4 operator/(const unorm_4& _Lhs, const unorm_4& _Rhs) __GPU
23532  {
23533  unorm_4 _Value1 = _Lhs;
23534  unorm_4 _Value2 = _Rhs;
23535  return unorm_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23536  }
23537 
23538  inline bool operator==(const unorm_4& _Lhs, const unorm_4& _Rhs) __GPU
23539  {
23540  unorm_4 _Value1 = _Lhs;
23541  unorm_4 _Value2 = _Rhs;
23542  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23543  }
23544 
23545  inline bool operator!=(const unorm_4& _Lhs, const unorm_4& _Rhs) __GPU
23546  {
23547  unorm_4 _Value1 = _Lhs;
23548  unorm_4 _Value2 = _Rhs;
23549  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23550  }
23551 
23552  inline norm_2 operator+(const norm_2& _Lhs, const norm_2& _Rhs) __GPU
23553  {
23554  norm_2 _Value1 = _Lhs;
23555  norm_2 _Value2 = _Rhs;
23556  return norm_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23557  }
23558 
23559  inline norm_2 operator-(const norm_2& _Lhs, const norm_2& _Rhs) __GPU
23560  {
23561  norm_2 _Value1 = _Lhs;
23562  norm_2 _Value2 = _Rhs;
23563  return norm_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23564  }
23565 
23566  inline norm_2 operator*(const norm_2& _Lhs, const norm_2& _Rhs) __GPU
23567  {
23568  norm_2 _Value1 = _Lhs;
23569  norm_2 _Value2 = _Rhs;
23570  return norm_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23571  }
23572 
23573  inline norm_2 operator/(const norm_2& _Lhs, const norm_2& _Rhs) __GPU
23574  {
23575  norm_2 _Value1 = _Lhs;
23576  norm_2 _Value2 = _Rhs;
23577  return norm_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23578  }
23579 
23580  inline bool operator==(const norm_2& _Lhs, const norm_2& _Rhs) __GPU
23581  {
23582  norm_2 _Value1 = _Lhs;
23583  norm_2 _Value2 = _Rhs;
23584  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23585  }
23586 
23587  inline bool operator!=(const norm_2& _Lhs, const norm_2& _Rhs) __GPU
23588  {
23589  norm_2 _Value1 = _Lhs;
23590  norm_2 _Value2 = _Rhs;
23591  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23592  }
23593 
23594  inline norm_3 operator+(const norm_3& _Lhs, const norm_3& _Rhs) __GPU
23595  {
23596  norm_3 _Value1 = _Lhs;
23597  norm_3 _Value2 = _Rhs;
23598  return norm_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23599  }
23600 
23601  inline norm_3 operator-(const norm_3& _Lhs, const norm_3& _Rhs) __GPU
23602  {
23603  norm_3 _Value1 = _Lhs;
23604  norm_3 _Value2 = _Rhs;
23605  return norm_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23606  }
23607 
23608  inline norm_3 operator*(const norm_3& _Lhs, const norm_3& _Rhs) __GPU
23609  {
23610  norm_3 _Value1 = _Lhs;
23611  norm_3 _Value2 = _Rhs;
23612  return norm_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23613  }
23614 
23615  inline norm_3 operator/(const norm_3& _Lhs, const norm_3& _Rhs) __GPU
23616  {
23617  norm_3 _Value1 = _Lhs;
23618  norm_3 _Value2 = _Rhs;
23619  return norm_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23620  }
23621 
23622  inline bool operator==(const norm_3& _Lhs, const norm_3& _Rhs) __GPU
23623  {
23624  norm_3 _Value1 = _Lhs;
23625  norm_3 _Value2 = _Rhs;
23626  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23627  }
23628 
23629  inline bool operator!=(const norm_3& _Lhs, const norm_3& _Rhs) __GPU
23630  {
23631  norm_3 _Value1 = _Lhs;
23632  norm_3 _Value2 = _Rhs;
23633  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23634  }
23635 
23636  inline norm_4 operator+(const norm_4& _Lhs, const norm_4& _Rhs) __GPU
23637  {
23638  norm_4 _Value1 = _Lhs;
23639  norm_4 _Value2 = _Rhs;
23640  return norm_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23641  }
23642 
23643  inline norm_4 operator-(const norm_4& _Lhs, const norm_4& _Rhs) __GPU
23644  {
23645  norm_4 _Value1 = _Lhs;
23646  norm_4 _Value2 = _Rhs;
23647  return norm_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23648  }
23649 
23650  inline norm_4 operator*(const norm_4& _Lhs, const norm_4& _Rhs) __GPU
23651  {
23652  norm_4 _Value1 = _Lhs;
23653  norm_4 _Value2 = _Rhs;
23654  return norm_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23655  }
23656 
23657  inline norm_4 operator/(const norm_4& _Lhs, const norm_4& _Rhs) __GPU
23658  {
23659  norm_4 _Value1 = _Lhs;
23660  norm_4 _Value2 = _Rhs;
23661  return norm_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23662  }
23663 
23664  inline bool operator==(const norm_4& _Lhs, const norm_4& _Rhs) __GPU
23665  {
23666  norm_4 _Value1 = _Lhs;
23667  norm_4 _Value2 = _Rhs;
23668  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23669  }
23670 
23671  inline bool operator!=(const norm_4& _Lhs, const norm_4& _Rhs) __GPU
23672  {
23673  norm_4 _Value1 = _Lhs;
23674  norm_4 _Value2 = _Rhs;
23675  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23676  }
23677 
23678  inline double_2 operator+(const double_2& _Lhs, const double_2& _Rhs) __GPU
23679  {
23680  double_2 _Value1 = _Lhs;
23681  double_2 _Value2 = _Rhs;
23682  return double_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23683  }
23684 
23685  inline double_2 operator-(const double_2& _Lhs, const double_2& _Rhs) __GPU
23686  {
23687  double_2 _Value1 = _Lhs;
23688  double_2 _Value2 = _Rhs;
23689  return double_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23690  }
23691 
23692  inline double_2 operator*(const double_2& _Lhs, const double_2& _Rhs) __GPU
23693  {
23694  double_2 _Value1 = _Lhs;
23695  double_2 _Value2 = _Rhs;
23696  return double_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23697  }
23698 
23699  inline double_2 operator/(const double_2& _Lhs, const double_2& _Rhs) __GPU
23700  {
23701  double_2 _Value1 = _Lhs;
23702  double_2 _Value2 = _Rhs;
23703  return double_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23704  }
23705 
23706  inline bool operator==(const double_2& _Lhs, const double_2& _Rhs) __GPU
23707  {
23708  double_2 _Value1 = _Lhs;
23709  double_2 _Value2 = _Rhs;
23710  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23711  }
23712 
23713  inline bool operator!=(const double_2& _Lhs, const double_2& _Rhs) __GPU
23714  {
23715  double_2 _Value1 = _Lhs;
23716  double_2 _Value2 = _Rhs;
23717  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23718  }
23719 
23720  inline double_3 operator+(const double_3& _Lhs, const double_3& _Rhs) __GPU
23721  {
23722  double_3 _Value1 = _Lhs;
23723  double_3 _Value2 = _Rhs;
23724  return double_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23725  }
23726 
23727  inline double_3 operator-(const double_3& _Lhs, const double_3& _Rhs) __GPU
23728  {
23729  double_3 _Value1 = _Lhs;
23730  double_3 _Value2 = _Rhs;
23731  return double_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23732  }
23733 
23734  inline double_3 operator*(const double_3& _Lhs, const double_3& _Rhs) __GPU
23735  {
23736  double_3 _Value1 = _Lhs;
23737  double_3 _Value2 = _Rhs;
23738  return double_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23739  }
23740 
23741  inline double_3 operator/(const double_3& _Lhs, const double_3& _Rhs) __GPU
23742  {
23743  double_3 _Value1 = _Lhs;
23744  double_3 _Value2 = _Rhs;
23745  return double_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23746  }
23747 
23748  inline bool operator==(const double_3& _Lhs, const double_3& _Rhs) __GPU
23749  {
23750  double_3 _Value1 = _Lhs;
23751  double_3 _Value2 = _Rhs;
23752  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23753  }
23754 
23755  inline bool operator!=(const double_3& _Lhs, const double_3& _Rhs) __GPU
23756  {
23757  double_3 _Value1 = _Lhs;
23758  double_3 _Value2 = _Rhs;
23759  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23760  }
23761 
23762  inline double_4 operator+(const double_4& _Lhs, const double_4& _Rhs) __GPU
23763  {
23764  double_4 _Value1 = _Lhs;
23765  double_4 _Value2 = _Rhs;
23766  return double_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23767  }
23768 
23769  inline double_4 operator-(const double_4& _Lhs, const double_4& _Rhs) __GPU
23770  {
23771  double_4 _Value1 = _Lhs;
23772  double_4 _Value2 = _Rhs;
23773  return double_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23774  }
23775 
23776  inline double_4 operator*(const double_4& _Lhs, const double_4& _Rhs) __GPU
23777  {
23778  double_4 _Value1 = _Lhs;
23779  double_4 _Value2 = _Rhs;
23780  return double_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23781  }
23782 
23783  inline double_4 operator/(const double_4& _Lhs, const double_4& _Rhs) __GPU
23784  {
23785  double_4 _Value1 = _Lhs;
23786  double_4 _Value2 = _Rhs;
23787  return double_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23788  }
23789 
23790  inline bool operator==(const double_4& _Lhs, const double_4& _Rhs) __GPU
23791  {
23792  double_4 _Value1 = _Lhs;
23793  double_4 _Value2 = _Rhs;
23794  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23795  }
23796 
23797  inline bool operator!=(const double_4& _Lhs, const double_4& _Rhs) __GPU
23798  {
23799  double_4 _Value1 = _Lhs;
23800  double_4 _Value2 = _Rhs;
23801  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23802  }
23803 
23804  namespace direct3d
23805  {
23806 
23807  // typedefs
23826 
23827 
23828  } // namespace direct3d
23829 
23839  template<typename _Scalar_type, int _Size> struct short_vector
23840  {
23842  {
23843  static_assert(false, "short_vector is not supported for this scalar type (_T) and length (_N)");
23844  }
23845  };
23846 
23847  template<>
23848  struct short_vector<unsigned int, 1>
23849  {
23850  typedef unsigned int type;
23851  };
23852 
23853  template<>
23854  struct short_vector<unsigned int, 2>
23855  {
23856  typedef uint_2 type;
23857  };
23858 
23859  template<>
23860  struct short_vector<unsigned int, 3>
23861  {
23862  typedef uint_3 type;
23863  };
23864 
23865  template<>
23866  struct short_vector<unsigned int, 4>
23867  {
23868  typedef uint_4 type;
23869  };
23870 
23871  template<>
23872  struct short_vector<int, 1>
23873  {
23874  typedef int type;
23875  };
23876 
23877  template<>
23878  struct short_vector<int, 2>
23879  {
23880  typedef int_2 type;
23881  };
23882 
23883  template<>
23884  struct short_vector<int, 3>
23885  {
23886  typedef int_3 type;
23887  };
23888 
23889  template<>
23890  struct short_vector<int, 4>
23891  {
23892  typedef int_4 type;
23893  };
23894 
23895  template<>
23896  struct short_vector<float, 1>
23897  {
23898  typedef float type;
23899  };
23900 
23901  template<>
23902  struct short_vector<float, 2>
23903  {
23904  typedef float_2 type;
23905  };
23906 
23907  template<>
23908  struct short_vector<float, 3>
23909  {
23910  typedef float_3 type;
23911  };
23912 
23913  template<>
23914  struct short_vector<float, 4>
23915  {
23916  typedef float_4 type;
23917  };
23918 
23919  template<>
23920  struct short_vector<unorm, 1>
23921  {
23922  typedef unorm type;
23923  };
23924 
23925  template<>
23926  struct short_vector<unorm, 2>
23927  {
23928  typedef unorm_2 type;
23929  };
23930 
23931  template<>
23932  struct short_vector<unorm, 3>
23933  {
23934  typedef unorm_3 type;
23935  };
23936 
23937  template<>
23938  struct short_vector<unorm, 4>
23939  {
23940  typedef unorm_4 type;
23941  };
23942 
23943  template<>
23944  struct short_vector<norm, 1>
23945  {
23946  typedef norm type;
23947  };
23948 
23949  template<>
23950  struct short_vector<norm, 2>
23951  {
23952  typedef norm_2 type;
23953  };
23954 
23955  template<>
23956  struct short_vector<norm, 3>
23957  {
23958  typedef norm_3 type;
23959  };
23960 
23961  template<>
23962  struct short_vector<norm, 4>
23963  {
23964  typedef norm_4 type;
23965  };
23966 
23967  template<>
23968  struct short_vector<double, 1>
23969  {
23970  typedef double type;
23971  };
23972 
23973  template<>
23974  struct short_vector<double, 2>
23975  {
23976  typedef double_2 type;
23977  };
23978 
23979  template<>
23980  struct short_vector<double, 3>
23981  {
23982  typedef double_3 type;
23983  };
23984 
23985  template<>
23986  struct short_vector<double, 4>
23987  {
23988  typedef double_4 type;
23989  };
23990 
23997  template<typename _Type> struct short_vector_traits
23998  {
24000  {
24001  static_assert(false, "short_vector_traits is not supported for this type (_Type)");
24002  }
24003  };
24004 
24005  template<>
24006  struct short_vector_traits<unsigned int>
24007  {
24008  typedef unsigned int value_type;
24009  static int const size = 1;
24010  };
24011 
24012  template<>
24014  {
24015  typedef unsigned int value_type;
24016  static int const size = 2;
24017  };
24018 
24019  template<>
24021  {
24022  typedef unsigned int value_type;
24023  static int const size = 3;
24024  };
24025 
24026  template<>
24028  {
24029  typedef unsigned int value_type;
24030  static int const size = 4;
24031  };
24032 
24033  template<>
24035  {
24036  typedef int value_type;
24037  static int const size = 1;
24038  };
24039 
24040  template<>
24042  {
24043  typedef int value_type;
24044  static int const size = 2;
24045  };
24046 
24047  template<>
24049  {
24050  typedef int value_type;
24051  static int const size = 3;
24052  };
24053 
24054  template<>
24056  {
24057  typedef int value_type;
24058  static int const size = 4;
24059  };
24060 
24061  template<>
24062  struct short_vector_traits<float>
24063  {
24064  typedef float value_type;
24065  static int const size = 1;
24066  };
24067 
24068  template<>
24070  {
24071  typedef float value_type;
24072  static int const size = 2;
24073  };
24074 
24075  template<>
24077  {
24078  typedef float value_type;
24079  static int const size = 3;
24080  };
24081 
24082  template<>
24084  {
24085  typedef float value_type;
24086  static int const size = 4;
24087  };
24088 
24089  template<>
24091  {
24093  static int const size = 1;
24094  };
24095 
24096  template<>
24098  {
24100  static int const size = 2;
24101  };
24102 
24103  template<>
24105  {
24107  static int const size = 3;
24108  };
24109 
24110  template<>
24112  {
24114  static int const size = 4;
24115  };
24116 
24117  template<>
24119  {
24120  typedef norm value_type;
24121  static int const size = 1;
24122  };
24123 
24124  template<>
24126  {
24127  typedef norm value_type;
24128  static int const size = 2;
24129  };
24130 
24131  template<>
24133  {
24134  typedef norm value_type;
24135  static int const size = 3;
24136  };
24137 
24138  template<>
24140  {
24141  typedef norm value_type;
24142  static int const size = 4;
24143  };
24144 
24145  template<>
24146  struct short_vector_traits<double>
24147  {
24148  typedef double value_type;
24149  static int const size = 1;
24150  };
24151 
24152  template<>
24154  {
24155  typedef double value_type;
24156  static int const size = 2;
24157  };
24158 
24159  template<>
24161  {
24162  typedef double value_type;
24163  static int const size = 3;
24164  };
24165 
24166  template<>
24168  {
24169  typedef double value_type;
24170  static int const size = 4;
24171  };
24172 
24173 
24174  } // namespace graphics
24175 
24176 } // namespace Concurrency
24177 #pragma warning(pop)
24178 // End of generated file
double_3 get_xyz() const __GPU
Returns a double_3 that is composed of element 0, element 1, and element 2 of this double_4...
Definition: amp_short_vectors.h:20461
uint_3 get_xzy() const __GPU
Returns a uint_3 that is composed of element 0, element 2, and element 1 of this uint_3.
Definition: amp_short_vectors.h:1566
int_2() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:4305
float_4 get_wzxy() const __GPU
Returns a float_4 that is composed of element 3, element 2, element 0, and element 1 of this float_4...
Definition: amp_short_vectors.h:11285
double_2 operator--(int) __GPU
Definition: amp_short_vectors.h:18815
norm_4 & operator--() __GPU
Definition: amp_short_vectors.h:16526
uint_4 get_zyxw() const __GPU
Returns a uint_4 that is composed of element 2, element 1, element 0, and element 3 of this uint_4...
Definition: amp_short_vectors.h:3859
float_4 operator++(int) __GPU
Definition: amp_short_vectors.h:9272
void set_wzy(const uint_3 &_Value) __GPU
Set element 3, 2, and 1 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3360
void set_x(int _Value) __GPU
Set element 0 of this int_3 with an int.
Definition: amp_short_vectors.h:4655
int type
Definition: amp_short_vectors.h:23874
uint_4 & operator%=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2119
uint_4 get_wyxz() const __GPU
Returns a uint_4 that is composed of element 3, element 1, element 0, and element 2 of this uint_4...
Definition: amp_short_vectors.h:4063
uint_4 & operator&=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2155
void set_wx(const unorm_2 &_Value) __GPU
Set element 3, and 0 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13245
uint_4 get_wxzy() const __GPU
Returns a uint_4 that is composed of element 3, element 0, element 2, and element 1 of this uint_4...
Definition: amp_short_vectors.h:4029
unorm_3 get_ywz() const __GPU
Returns a unorm_3 that is composed of element 1, element 3, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:13694
void set_xywz(const float_4 &_Value) __GPU
Set element 0, 1, 3, and 2 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10581
norm_4 get_xyzw() const __GPU
Returns a norm_4 that is composed of element 0, element 1, element 2, and element 3 of this norm_4...
Definition: amp_short_vectors.h:17784
float_3 get_zyx() const __GPU
Returns a float_3 that is composed of element 2, element 1, and element 0 of this float_3...
Definition: amp_short_vectors.h:8924
unorm_2 type
Definition: amp_short_vectors.h:23928
void set_xz(const double_2 &_Value) __GPU
Set element 0, and 2 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20119
void set_yxzw(const double_4 &_Value) __GPU
Set element 1, 0, 2, and 3 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21467
norm_2 get_xy() const __GPU
Returns a norm_2 that is composed of element 0, and element 1 of this norm_4.
Definition: amp_short_vectors.h:16608
double get_x() const __GPU
Returns element 0 of this double_3.
Definition: amp_short_vectors.h:18960
void set_yxz(const norm_3 &_Value) __GPU
Set element 1, 0, and 2 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17200
void set_xzwy(const float_4 &_Value) __GPU
Set element 0, 2, 3, and 1 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10649
uint_3 get_zyw() const __GPU
Returns a uint_3 that is composed of element 2, element 1, and element 3 of this uint_4.
Definition: amp_short_vectors.h:3086
uint_3 get_wzy() const __GPU
Returns a uint_3 that is composed of element 3, element 2, and element 1 of this uint_4.
Definition: amp_short_vectors.h:3350
int_3 get_yxw() const __GPU
Returns an int_3 that is composed of element 1, element 0, and element 3 of this int_4.
Definition: amp_short_vectors.h:6507
unorm_2() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:11459
void set_zyxw(const double_4 &_Value) __GPU
Set element 2, 1, 0, and 3 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21739
void set_wy(const int_2 &_Value) __GPU
Set element 3, and 1 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6222
void set_xyw(const double_3 &_Value) __GPU
Set element 0, 1, and 3 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20504
norm_4 get_yxwz() const __GPU
Returns a norm_4 that is composed of element 1, element 0, element 3, and element 2 of this norm_4...
Definition: amp_short_vectors.h:18022
int_4 get_yxzw() const __GPU
Returns an int_4 that is composed of element 1, element 0, element 2, and element 3 of this int_4...
Definition: amp_short_vectors.h:7272
double_4 get_xyzw() const __GPU
Returns a double_4 that is composed of element 0, element 1, element 2, and element 3 of this double_...
Definition: amp_short_vectors.h:21253
void set_wy(const float_2 &_Value) __GPU
Set element 3, and 1 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9691
float_2() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:7990
uint_2 operator|(const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
Definition: amp_short_vectors.h:22852
uint_2 get_zx() const __GPU
Returns a uint_2 that is composed of element 2, and element 0 of this uint_3.
Definition: amp_short_vectors.h:1469
void set_yx(const int_2 &_Value) __GPU
Set element 1, and 0 of this int_2 with an int_2.
Definition: amp_short_vectors.h:4585
unorm_4 get_zyxw() const __GPU
Returns a unorm_4 that is composed of element 2, element 1, element 0, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:14599
void set_wxz(const norm_3 &_Value) __GPU
Set element 3, 0, and 2 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17629
void set_yzwx(const uint_4 &_Value) __GPU
Set element 1, 2, 3, and 0 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3699
unsigned int uint
Definition: amp_short_vectors.h:498
void set_yxw(const uint_3 &_Value) __GPU
Set element 1, 0, and 3 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2832
unsigned int get_z() const __GPU
Returns element 2 of this uint_3.
Definition: amp_short_vectors.h:1052
unorm_2 & operator++() __GPU
Definition: amp_short_vectors.h:11576
__declspec(property(get=get_x, put=set_x)) unsigned int x
Property for accessing element 0 of this uint_3 as an unsigned int.
void set_xwy(const int_3 &_Value) __GPU
Set element 0, 3, and 1 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6418
int & ref_x() __GPU
Returns reference to element 0 of this int_2.
Definition: amp_short_vectors.h:4226
unorm_4 type
Definition: amp_short_vectors.h:23940
void set_zy(const float_2 &_Value) __GPU
Set element 2, and 1 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9595
void set_zxy(const int_3 &_Value) __GPU
Set element 2, 0, and 1 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6682
float & ref_z() __GPU
Returns reference to element 2 of this float_3.
Definition: amp_short_vectors.h:8354
float get_x() const __GPU
Returns element 0 of this float_2.
Definition: amp_short_vectors.h:7901
norm_2 get_xz() const __GPU
Returns a norm_2 that is composed of element 0, and element 2 of this norm_3.
Definition: amp_short_vectors.h:15772
Represent a short vector of 2 unorm's.
Definition: amp_short_vectors.h:11343
value_type _M_w
Definition: amp_short_vectors.h:8958
unorm_3 get_xyz() const __GPU
Returns a unorm_3 that is composed of element 0, element 1, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:13331
uint_2 get_zw() const __GPU
Returns a uint_2 that is composed of element 2, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2463
float_2 get_xy() const __GPU
Returns a float_2 that is composed of element 0, and element 1 of this float_2.
Definition: amp_short_vectors.h:8162
uint_3 get_zwy() const __GPU
Returns a uint_3 that is composed of element 2, element 3, and element 1 of this uint_4.
Definition: amp_short_vectors.h:3152
int & ref_r() __GPU
Returns reference to element 0 of this int_2.
Definition: amp_short_vectors.h:4236
graphics::unorm_3 unorm3
Definition: amp_short_vectors.h:23818
void set_xzw(const norm_3 &_Value) __GPU
Set element 0, 2, and 3 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17101
norm_3 get_ywx() const __GPU
Returns a norm_3 that is composed of element 1, element 3, and element 0 of this norm_4.
Definition: amp_short_vectors.h:17322
norm_2(const norm_2 &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:15120
void set_yzxw(const int_4 &_Value) __GPU
Set element 1, 2, 0, and 3 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7350
unorm_3 & operator*=(const unorm_3 &_Other) __GPU
Definition: amp_short_vectors.h:12070
void set_xzwy(const uint_4 &_Value) __GPU
Set element 0, 2, 3, and 1 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3495
void set_yzxw(const uint_4 &_Value) __GPU
Set element 1, 2, 0, and 3 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3665
value_type _M_x
Definition: amp_short_vectors.h:18598
void set_yx(const uint_2 &_Value) __GPU
Set element 1, and 0 of this uint_2 with a uint_2.
Definition: amp_short_vectors.h:912
unorm_3 get_wxy() const __GPU
Returns a unorm_3 that is composed of element 3, element 0, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:13925
void set_yzw(const float_3 &_Value) __GPU
Set element 1, 2, and 3 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10052
value_type _M_z
Definition: amp_short_vectors.h:11728
void set_xyz(const unorm_3 &_Value) __GPU
Set element 0, 1, and 2 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13341
uint_2 & operator/=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:784
norm & ref_r() __GPU
Returns reference to element 0 of this norm_3.
Definition: amp_short_vectors.h:15373
float_3 get_zyw() const __GPU
Returns a float_3 that is composed of element 2, element 1, and element 3 of this float_4...
Definition: amp_short_vectors.h:10240
unorm_3 get_yxz() const __GPU
Returns a unorm_3 that is composed of element 1, element 0, and element 2 of this unorm_3...
Definition: amp_short_vectors.h:12366
norm_4 get_wyzx() const __GPU
Returns a norm_4 that is composed of element 3, element 1, element 2, and element 0 of this norm_4...
Definition: amp_short_vectors.h:18498
float_2 get_xy() const __GPU
Returns a float_2 that is composed of element 0, and element 1 of this float_4.
Definition: amp_short_vectors.h:9361
uint_2 & operator+=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:754
void set_y(int _Value) __GPU
Set element 1 of this int_2 with an int.
Definition: amp_short_vectors.h:4296
void set_xzy(const float_3 &_Value) __GPU
Set element 0, 2, and 1 of this float_3 with a float_3.
Definition: amp_short_vectors.h:8802
unorm value_type
Definition: amp_short_vectors.h:11346
void set_xy(const float_2 &_Value) __GPU
Set element 0, and 1 of this float_3 with a float_2.
Definition: amp_short_vectors.h:8577
float get_y() const __GPU
Returns element 1 of this float_3.
Definition: amp_short_vectors.h:8294
unorm_2 operator++(int) __GPU
Definition: amp_short_vectors.h:11585
void set_zy(const uint_2 &_Value) __GPU
Set element 2, and 1 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2441
unorm_3 get_zxy() const __GPU
Returns a unorm_3 that is composed of element 2, element 0, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:13727
unorm & ref_r() __GPU
Returns reference to element 0 of this unorm_3.
Definition: amp_short_vectors.h:11766
norm_4(float _V) __GPU
Definition: amp_short_vectors.h:16429
void set_xzw(const int_3 &_Value) __GPU
Set element 0, 2, and 3 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6385
void set_zyx(const unorm_3 &_Value) __GPU
Set element 2, 1, and 0 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13803
void set_wzx(const int_3 &_Value) __GPU
Set element 3, 2, and 0 of this int_4 with an int_3.
Definition: amp_short_vectors.h:7012
double get_x() const __GPU
Returns element 0 of this double_2.
Definition: amp_short_vectors.h:18617
uint_4 get_xyzw() const __GPU
Returns a uint_4 that is composed of element 0, element 1, element 2, and element 3 of this uint_4...
Definition: amp_short_vectors.h:3383
norm_4 get_wzxy() const __GPU
Returns a norm_4 that is composed of element 3, element 2, element 0, and element 1 of this norm_4...
Definition: amp_short_vectors.h:18532
float_4 get_yxwz() const __GPU
Returns a float_4 that is composed of element 1, element 0, element 3, and element 2 of this float_4...
Definition: amp_short_vectors.h:10775
_Short_vector_base_type_id
Definition: amprt.h:291
void set_yz(const int_2 &_Value) __GPU
Set element 1, and 2 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6030
float_2 get_yw() const __GPU
Returns a float_2 that is composed of element 1, and element 3 of this float_4.
Definition: amp_short_vectors.h:9521
unorm_2 & operator/=(const unorm_2 &_Other) __GPU
Definition: amp_short_vectors.h:11638
void set_xzy(const float_3 &_Value) __GPU
Set element 0, 2, and 1 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9821
void set_wxz(const double_3 &_Value) __GPU
Set element 3, 0, and 2 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21098
uint_2 operator++(int) __GPU
Definition: amp_short_vectors.h:731
uint_4 get_zywx() const __GPU
Returns a uint_4 that is composed of element 2, element 1, element 3, and element 0 of this uint_4...
Definition: amp_short_vectors.h:3893
unorm & operator/=(const unorm &_Other) __GPU
Definition: amp_short_vectors.h:164
double_4 get_zywx() const __GPU
Returns a double_4 that is composed of element 2, element 1, element 3, and element 0 of this double_...
Definition: amp_short_vectors.h:21763
void set_yxwz(const unorm_4 &_Value) __GPU
Set element 1, 0, 3, and 2 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14371
unorm_3 get_zyx() const __GPU
Returns a unorm_3 that is composed of element 2, element 1, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:13793
double value_type
Definition: amp_short_vectors.h:24162
void set_yx(const int_2 &_Value) __GPU
Set element 1, and 0 of this int_3 with an int_2.
Definition: amp_short_vectors.h:5094
float_4 get_zyxw() const __GPU
Returns a float_4 that is composed of element 2, element 1, element 0, and element 3 of this float_4...
Definition: amp_short_vectors.h:11013
void set_yzwx(const float_4 &_Value) __GPU
Set element 1, 2, 3, and 0 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10853
int_2 & operator%=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4467
void set_zx(const int_2 &_Value) __GPU
Set element 2, and 0 of this int_3 with an int_2.
Definition: amp_short_vectors.h:5158
float_4 get_xzyw() const __GPU
Returns a float_4 that is composed of element 0, element 2, element 1, and element 3 of this float_4...
Definition: amp_short_vectors.h:10605
norm value_type
Definition: amp_short_vectors.h:15328
uint_4 & operator|=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2143
unsigned int & ref_x() __GPU
Returns reference to element 0 of this uint_4.
Definition: amp_short_vectors.h:1760
void set_zwyx(const uint_4 &_Value) __GPU
Set element 2, 3, 1, and 0 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3971
unorm operator*(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:410
unorm_4 operator++(int) __GPU
Definition: amp_short_vectors.h:12858
float_3 operator++(int) __GPU
Definition: amp_short_vectors.h:8483
unorm_3 & operator+=(const unorm_3 &_Other) __GPU
Definition: amp_short_vectors.h:12048
void set_zywx(const norm_4 &_Value) __GPU
Set element 2, 1, 3, and 0 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18304
norm_2 type
Definition: amp_short_vectors.h:23952
double_3 get_zxy() const __GPU
Returns a double_3 that is composed of element 2, element 0, and element 1 of this double_4...
Definition: amp_short_vectors.h:20857
unorm_2 operator--(int) __GPU
Definition: amp_short_vectors.h:11601
void set_x(float _Value) __GPU
Set element 0 of this float_2 with a float.
Definition: amp_short_vectors.h:7931
void set_y(float _Value) __GPU
Set element 1 of this float_3 with a float.
Definition: amp_short_vectors.h:8324
double_2 get_xy() const __GPU
Returns a double_2 that is composed of element 0, and element 1 of this double_2. ...
Definition: amp_short_vectors.h:18878
unsigned int get_y() const __GPU
Returns element 1 of this uint_2.
Definition: amp_short_vectors.h:599
uint_2() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:638
float_2 get_xz() const __GPU
Returns a float_2 that is composed of element 0, and element 2 of this float_3.
Definition: amp_short_vectors.h:8599
unsigned int & ref_r() __GPU
Returns reference to element 0 of this uint_2.
Definition: amp_short_vectors.h:569
void set_z(int _Value) __GPU
Set element 2 of this int_3 with an int.
Definition: amp_short_vectors.h:4755
uint_3 get_ywz() const __GPU
Returns a uint_3 that is composed of element 1, element 3, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2954
void set_yxz(const float_3 &_Value) __GPU
Set element 1, 0, and 2 of this float_3 with a float_3.
Definition: amp_short_vectors.h:8835
int_4 & operator*=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5780
void set_xyz(const norm_3 &_Value) __GPU
Set element 0, 1, and 2 of this norm_3 with a norm_3.
Definition: amp_short_vectors.h:15942
unorm_2 get_zx() const __GPU
Returns a unorm_2 that is composed of element 2, and element 0 of this unorm_3.
Definition: amp_short_vectors.h:12236
void set_yx(const norm_2 &_Value) __GPU
Set element 1, and 0 of this norm_2 with a norm_2.
Definition: amp_short_vectors.h:15313
void set_yzx(const int_3 &_Value) __GPU
Set element 1, 2, and 0 of this int_3 with an int_3.
Definition: amp_short_vectors.h:5321
void set_y(double _Value) __GPU
Set element 1 of this double_4 with a double.
Definition: amp_short_vectors.h:19772
unorm_4 & operator--() __GPU
Definition: amp_short_vectors.h:12865
value_type _M_x
Definition: amp_short_vectors.h:5408
value_type _M_y
Definition: amp_short_vectors.h:4198
int_3 & operator/=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4927
void set_xzyw(const unorm_4 &_Value) __GPU
Set element 0, 2, 1, and 3 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14201
value_type _M_y
Definition: amp_short_vectors.h:15334
unorm value_type
Definition: amp_short_vectors.h:12491
void set_yx(const unorm_2 &_Value) __GPU
Set element 1, and 0 of this unorm_2 with a unorm_2.
Definition: amp_short_vectors.h:11706
graphics::norm_4 norm4
Definition: amp_short_vectors.h:23822
int get_z() const __GPU
Returns element 2 of this int_4.
Definition: amp_short_vectors.h:5529
unorm_4 get_ywxz() const __GPU
Returns a unorm_4 that is composed of element 1, element 3, element 0, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14463
float _Value
Definition: amp_short_vectors.h:212
void set_yzwx(const unorm_4 &_Value) __GPU
Set element 1, 2, 3, and 0 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14439
int_3(int _V) __GPU
Constructor.
Definition: amp_short_vectors.h:4796
void set_xzwy(const double_4 &_Value) __GPU
Set element 0, 2, 3, and 1 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21365
double_2(double _V) __GPU
Constructor.
Definition: amp_short_vectors.h:18733
void set_zyx(const int_3 &_Value) __GPU
Set element 2, 1, and 0 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6748
double get_x() const __GPU
Returns element 0 of this double_4.
Definition: amp_short_vectors.h:19692
void set_xy(const unorm_2 &_Value) __GPU
Set element 0, and 1 of this unorm_3 with a unorm_2.
Definition: amp_short_vectors.h:12118
void set_xyz(const float_3 &_Value) __GPU
Set element 0, 1, and 2 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9755
uint_3 get_wyx() const __GPU
Returns a uint_3 that is composed of element 3, element 1, and element 0 of this uint_4.
Definition: amp_short_vectors.h:3251
unorm_3() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:11885
void set_zyx(const norm_3 &_Value) __GPU
Set element 2, 1, and 0 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17464
void set_yxz(const double_3 &_Value) __GPU
Set element 1, 0, and 2 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20669
int_3 & operator++() __GPU
Definition: amp_short_vectors.h:4860
void set_yz(const unorm_2 &_Value) __GPU
Set element 1, and 2 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13085
void set_x(int _Value) __GPU
Set element 0 of this int_2 with an int.
Definition: amp_short_vectors.h:4246
void set_yzx(const uint_3 &_Value) __GPU
Set element 1, 2, and 0 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2865
double_2 type
Definition: amp_short_vectors.h:23976
void set_yxz(const float_3 &_Value) __GPU
Set element 1, 0, and 2 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9953
void set_xyz(const int_3 &_Value) __GPU
Set element 0, 1, and 2 of this int_3 with an int_3.
Definition: amp_short_vectors.h:5222
double & ref_b() __GPU
Returns reference to element 2 of this double_3.
Definition: amp_short_vectors.h:19080
unorm_2(float _V0, float _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:11489
double_4 & operator/=(const double_4 &_Other) __GPU
Definition: amp_short_vectors.h:20049
double_2 get_zy() const __GPU
Returns a double_2 that is composed of element 2, and element 1 of this double_3. ...
Definition: amp_short_vectors.h:19443
void set_z(double _Value) __GPU
Set element 2 of this double_3 with a double.
Definition: amp_short_vectors.h:19090
norm & ref_g() __GPU
Returns reference to element 1 of this norm_4.
Definition: amp_short_vectors.h:16219
uint_3 & operator+=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1215
void set_wzx(const double_3 &_Value) __GPU
Set element 3, 2, and 0 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21197
double_3 get_xwy() const __GPU
Returns a double_3 that is composed of element 0, element 3, and element 1 of this double_4...
Definition: amp_short_vectors.h:20593
float_3 get_zyx() const __GPU
Returns a float_3 that is composed of element 2, element 1, and element 0 of this float_4...
Definition: amp_short_vectors.h:10207
graphics::float_4 float4
Definition: amp_short_vectors.h:23816
Represent a short vector of 3 double's.
Definition: amp_short_vectors.h:18932
__declspec(property(get=get_x, put=set_x)) unsigned int x
Property for accessing element 0 of this uint_2 as an unsigned int.
float_4 operator-() const __GPU
Definition: amp_short_vectors.h:9255
__declspec(property(get=get_x, put=set_x)) double x
Property for accessing element 0 of this double_4 as a double.
float_4() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:9165
norm & operator--() __GPU
Definition: amp_short_vectors.h:361
int_2 & operator*=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4447
__declspec(property(get=get_x, put=set_x)) double x
Property for accessing element 0 of this double_3 as a double.
unorm & operator-=(const unorm &_Other) __GPU
Definition: amp_short_vectors.h:148
void set_yz(const norm_2 &_Value) __GPU
Set element 1, and 2 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16746
norm_4 & operator/=(const norm_4 &_Other) __GPU
Definition: amp_short_vectors.h:16580
void set_y(unorm _Value) __GPU
Set element 1 of this unorm_3 with a unorm.
Definition: amp_short_vectors.h:11826
norm value_type
Definition: amp_short_vectors.h:24120
value_type _M_z
Definition: amp_short_vectors.h:934
norm_3 get_yzw() const __GPU
Returns a norm_3 that is composed of element 1, element 2, and element 3 of this norm_4.
Definition: amp_short_vectors.h:17289
norm_3 & operator++() __GPU
Definition: amp_short_vectors.h:15646
int_3 & operator*=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4916
norm type
Definition: amp_short_vectors.h:23946
double_2 get_zx() const __GPU
Returns a double_2 that is composed of element 2, and element 0 of this double_3. ...
Definition: amp_short_vectors.h:19411
double_4 & operator++() __GPU
Definition: amp_short_vectors.h:19977
norm_3 get_xzy() const __GPU
Returns a norm_3 that is composed of element 0, element 2, and element 1 of this norm_3.
Definition: amp_short_vectors.h:15965
float_4 & operator*=(const float_4 &_Other) __GPU
Definition: amp_short_vectors.h:9321
unorm_4 get_wyxz() const __GPU
Returns a unorm_4 that is composed of element 3, element 1, element 0, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14803
Definition: amprt.h:295
int_2(int _V) __GPU
Constructor.
Definition: amp_short_vectors.h:4332
void set_zwxy(const double_4 &_Value) __GPU
Set element 2, 3, 0, and 1 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21807
void set_zxy(const double_3 &_Value) __GPU
Set element 2, 0, and 1 of this double_3 with a double_3.
Definition: amp_short_vectors.h:19617
void set_zwy(const int_3 &_Value) __GPU
Set element 2, 3, and 1 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6847
int_2 & operator-=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4437
norm_2 get_xy() const __GPU
Returns a norm_2 that is composed of element 0, and element 1 of this norm_3.
Definition: amp_short_vectors.h:15740
norm_2 get_yz() const __GPU
Returns a norm_2 that is composed of element 1, and element 2 of this norm_3.
Definition: amp_short_vectors.h:15836
double_2 get_yx() const __GPU
Returns a double_2 that is composed of element 1, and element 0 of this double_3. ...
Definition: amp_short_vectors.h:19347
unorm & operator+=(const unorm &_Other) __GPU
Definition: amp_short_vectors.h:140
void set_wx(const norm_2 &_Value) __GPU
Set element 3, and 0 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16906
unorm & ref_y() __GPU
Returns reference to element 1 of this unorm_2.
Definition: amp_short_vectors.h:11430
unorm get_z() const __GPU
Returns element 2 of this unorm_3.
Definition: amp_short_vectors.h:11846
graphics::float_2 float2
Definition: amp_short_vectors.h:23814
void set_xy(const int_2 &_Value) __GPU
Set element 0, and 1 of this int_2 with an int_2.
Definition: amp_short_vectors.h:4553
norm get_w() const __GPU
Returns element 3 of this norm_4.
Definition: amp_short_vectors.h:16299
uint_4 get_yxzw() const __GPU
Returns a uint_4 that is composed of element 1, element 0, element 2, and element 3 of this uint_4...
Definition: amp_short_vectors.h:3587
norm_3 get_zwx() const __GPU
Returns a norm_3 that is composed of element 2, element 3, and element 0 of this norm_4.
Definition: amp_short_vectors.h:17520
norm operator++(int) __GPU
Definition: amp_short_vectors.h:354
norm_3 operator-() const __GPU
Definition: amp_short_vectors.h:15640
uint_4 get_yzwx() const __GPU
Returns a uint_4 that is composed of element 1, element 2, element 3, and element 0 of this uint_4...
Definition: amp_short_vectors.h:3689
int_4 get_ywxz() const __GPU
Returns an int_4 that is composed of element 1, element 3, element 0, and element 2 of this int_4...
Definition: amp_short_vectors.h:7408
float_4 get_wxyz() const __GPU
Returns a float_4 that is composed of element 3, element 0, element 1, and element 2 of this float_4...
Definition: amp_short_vectors.h:11149
norm_2 operator++(int) __GPU
Definition: amp_short_vectors.h:15192
uint_4 & operator++() __GPU
Definition: amp_short_vectors.h:2035
void set_x(unsigned int _Value) __GPU
Set element 0 of this uint_4 with an unsigned int.
Definition: amp_short_vectors.h:1780
float value_type
Definition: amp_short_vectors.h:8219
void set_wyx(const uint_3 &_Value) __GPU
Set element 3, 1, and 0 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3261
unsigned int type
Definition: amp_short_vectors.h:23850
int_3 & operator&=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4971
Represent a unorm number. Each element is a floating point number in the range of [0...
Definition: amp_short_vectors.h:37
void set_x(unorm _Value) __GPU
Set element 0 of this unorm_4 with a unorm.
Definition: amp_short_vectors.h:12547
float type
Definition: amp_short_vectors.h:23898
float & ref_y() __GPU
Returns reference to element 1 of this float_3.
Definition: amp_short_vectors.h:8304
void set_xyzw(const unorm_4 &_Value) __GPU
Set element 0, 1, 2, and 3 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14133
float_3 get_xzy() const __GPU
Returns a float_3 that is composed of element 0, element 2, and element 1 of this float_3...
Definition: amp_short_vectors.h:8792
norm_4 get_yzwx() const __GPU
Returns a norm_4 that is composed of element 1, element 2, element 3, and element 0 of this norm_4...
Definition: amp_short_vectors.h:18090
unorm_2 get_wy() const __GPU
Returns a unorm_2 that is composed of element 3, and element 1 of this unorm_4.
Definition: amp_short_vectors.h:13267
graphics::norm_3 norm3
Definition: amp_short_vectors.h:23821
void set_zy(const int_2 &_Value) __GPU
Set element 2, and 1 of this int_3 with an int_2.
Definition: amp_short_vectors.h:5190
unorm_4 get_xzwy() const __GPU
Returns a unorm_4 that is composed of element 0, element 2, element 3, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14225
void set_yzx(const norm_3 &_Value) __GPU
Set element 1, 2, and 0 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17266
double_4 get_yxwz() const __GPU
Returns a double_4 that is composed of element 1, element 0, element 3, and element 2 of this double_...
Definition: amp_short_vectors.h:21491
float_4(float _V0, float _V1, float _V2, float _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:9188
unorm get_x() const __GPU
Returns element 0 of this unorm_3.
Definition: amp_short_vectors.h:11746
float_3 get_zwx() const __GPU
Returns a float_3 that is composed of element 2, element 3, and element 0 of this float_4...
Definition: amp_short_vectors.h:10273
unorm_4 get_yxzw() const __GPU
Returns a unorm_4 that is composed of element 1, element 0, element 2, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:14327
void set_ywz(const norm_3 &_Value) __GPU
Set element 1, 3, and 2 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17365
void set_xw(const unorm_2 &_Value) __GPU
Set element 0, and 3 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13021
int_2 operator--(int) __GPU
Definition: amp_short_vectors.h:4420
uint_2 operator%(const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
Definition: amp_short_vectors.h:22838
unorm_2(float _V) __GPU
Definition: amp_short_vectors.h:11507
int_2 & operator^=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4477
double_2 & operator-=(const double_2 &_Other) __GPU
Definition: amp_short_vectors.h:18832
value_type _M_y
Definition: amp_short_vectors.h:12497
void set_zwxy(const int_4 &_Value) __GPU
Set element 2, 3, 0, and 1 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7622
float_3() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:8383
Represent a short vector of 4 unsigned int's.
Definition: amp_short_vectors.h:1721
void set_zwxy(const uint_4 &_Value) __GPU
Set element 2, 3, 0, and 1 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3937
uint_4 & operator<<=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2179
uint_4 type
Definition: amp_short_vectors.h:23868
norm value_type
Definition: amp_short_vectors.h:24141
void set_zwx(const norm_3 &_Value) __GPU
Set element 2, 3, and 0 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17530
void set_xyw(const uint_3 &_Value) __GPU
Set element 0, 1, and 3 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2634
unsigned int value_type
Definition: amp_short_vectors.h:24008
norm_3 get_xyw() const __GPU
Returns a norm_3 that is composed of element 0, element 1, and element 3 of this norm_4.
Definition: amp_short_vectors.h:17025
norm_3 & operator=(const norm_3 &_Other) __GPU
Definition: amp_short_vectors.h:15587
uint_3 & operator-=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1226
uint_4 get_ywzx() const __GPU
Returns a uint_4 that is composed of element 1, element 3, element 2, and element 0 of this uint_4...
Definition: amp_short_vectors.h:3757
value_type _M_w
Definition: amp_short_vectors.h:1732
float_4 get_xyzw() const __GPU
Returns a float_4 that is composed of element 0, element 1, element 2, and element 3 of this float_4...
Definition: amp_short_vectors.h:10537
double_2 & operator++() __GPU
Definition: amp_short_vectors.h:18790
void set_yzwx(const norm_4 &_Value) __GPU
Set element 1, 2, 3, and 0 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18100
value_type _M_x
Definition: amp_short_vectors.h:16128
norm_4(float _V0, float _V1, float _V2, float _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:16384
void set_wyz(const double_3 &_Value) __GPU
Set element 3, 1, and 2 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21164
uint_4 & operator>>=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2167
void set_w(double _Value) __GPU
Set element 3 of this double_4 with a double.
Definition: amp_short_vectors.h:19872
uint_2 get_xz() const __GPU
Returns a uint_2 that is composed of element 0, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2239
double_3 type
Definition: amp_short_vectors.h:23982
void set_zxwy(const float_4 &_Value) __GPU
Set element 2, 0, 3, and 1 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10989
unorm_4 get_zxwy() const __GPU
Returns a unorm_4 that is composed of element 2, element 0, element 3, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14565
norm & operator-=(const norm &_Other) __GPU
Definition: amp_short_vectors.h:322
unorm_4 get_wyzx() const __GPU
Returns a unorm_4 that is composed of element 3, element 1, element 2, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14837
value_type _M_z
Definition: amp_short_vectors.h:19673
int_4 operator++(int) __GPU
Definition: amp_short_vectors.h:5731
value_type _M_x
Definition: amp_short_vectors.h:11726
void set_wxyz(const int_4 &_Value) __GPU
Set element 3, 0, 1, and 2 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7690
double_4 get_yxzw() const __GPU
Returns a double_4 that is composed of element 1, element 0, element 2, and element 3 of this double_...
Definition: amp_short_vectors.h:21457
uint_3 get_xwy() const __GPU
Returns a uint_3 that is composed of element 0, element 3, and element 1 of this uint_4.
Definition: amp_short_vectors.h:2723
value_type _M_y
Definition: amp_short_vectors.h:8225
double & ref_a() __GPU
Returns reference to element 3 of this double_4.
Definition: amp_short_vectors.h:19862
norm_2 get_yx() const __GPU
Returns a norm_2 that is composed of element 1, and element 0 of this norm_3.
Definition: amp_short_vectors.h:15804
norm_3 get_wzy() const __GPU
Returns a norm_3 that is composed of element 3, element 2, and element 1 of this norm_4.
Definition: amp_short_vectors.h:17751
norm_3 get_yxz() const __GPU
Returns a norm_3 that is composed of element 1, element 0, and element 2 of this norm_4.
Definition: amp_short_vectors.h:17190
int_3 & operator<<=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4993
unorm_4(float _V0, float _V1, float _V2, float _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:12752
norm_3 get_yzx() const __GPU
Returns a norm_3 that is composed of element 1, element 2, and element 0 of this norm_3.
Definition: amp_short_vectors.h:16031
Represent a short vector of 2 unsigned int's.
Definition: amp_short_vectors.h:522
double_4 get_xwzy() const __GPU
Returns a double_4 that is composed of element 0, element 3, element 2, and element 1 of this double_...
Definition: amp_short_vectors.h:21423
void set_wxyz(const double_4 &_Value) __GPU
Set element 3, 0, 1, and 2 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21875
void set_wyz(const int_3 &_Value) __GPU
Set element 3, 1, and 2 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6979
uint_2 & operator>>=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:834
norm_3 get_xyz() const __GPU
Returns a norm_3 that is composed of element 0, element 1, and element 2 of this norm_4.
Definition: amp_short_vectors.h:16992
void set_zx(const norm_2 &_Value) __GPU
Set element 2, and 0 of this norm_3 with a norm_2.
Definition: amp_short_vectors.h:15878
uint_3 get_wxz() const __GPU
Returns a uint_3 that is composed of element 3, element 0, and element 2 of this uint_4.
Definition: amp_short_vectors.h:3218
unorm_3 get_zxw() const __GPU
Returns a unorm_3 that is composed of element 2, element 0, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:13760
int_3 operator--(int) __GPU
Definition: amp_short_vectors.h:4887
int_3 get_ywx() const __GPU
Returns an int_3 that is composed of element 1, element 3, and element 0 of this int_4.
Definition: amp_short_vectors.h:6606
double value_type
Definition: amp_short_vectors.h:24155
double_4 operator++(int) __GPU
Definition: amp_short_vectors.h:19988
void set_xwyz(const norm_4 &_Value) __GPU
Set element 0, 3, 1, and 2 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17930
uint_3 get_zwx() const __GPU
Returns a uint_3 that is composed of element 2, element 3, and element 0 of this uint_4.
Definition: amp_short_vectors.h:3119
void set_x(unsigned int _Value) __GPU
Set element 0 of this uint_3 with an unsigned int.
Definition: amp_short_vectors.h:982
__declspec(property(get=get_x, put=set_x)) norm x
Property for accessing element 0 of this norm_3 as a norm.
double_4 & operator--() __GPU
Definition: amp_short_vectors.h:19995
float & ref_y() __GPU
Returns reference to element 1 of this float_2.
Definition: amp_short_vectors.h:7961
uint_3 get_xyz() const __GPU
Returns a uint_3 that is composed of element 0, element 1, and element 2 of this uint_3.
Definition: amp_short_vectors.h:1533
int_3 get_yzx() const __GPU
Returns an int_3 that is composed of element 1, element 2, and element 0 of this int_3.
Definition: amp_short_vectors.h:5311
int get_z() const __GPU
Returns element 2 of this int_3.
Definition: amp_short_vectors.h:4725
double_2 get_yz() const __GPU
Returns a double_2 that is composed of element 1, and element 2 of this double_4. ...
Definition: amp_short_vectors.h:20205
void set_xy(const uint_2 &_Value) __GPU
Set element 0, and 1 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2217
uint_2 get_xw() const __GPU
Returns a uint_2 that is composed of element 0, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2271
double_3(double _V) __GPU
Constructor.
Definition: amp_short_vectors.h:19131
int get_y() const __GPU
Returns element 1 of this int_3.
Definition: amp_short_vectors.h:4675
float_2(float _V0, float _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:8005
value_type _M_y
Definition: amp_short_vectors.h:933
void set_zx(const double_2 &_Value) __GPU
Set element 2, and 0 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20279
unsigned int & ref_b() __GPU
Returns reference to element 2 of this uint_4.
Definition: amp_short_vectors.h:1870
int_3 get_wzx() const __GPU
Returns an int_3 that is composed of element 3, element 2, and element 0 of this int_4.
Definition: amp_short_vectors.h:7002
void set_wxyz(const unorm_4 &_Value) __GPU
Set element 3, 0, 1, and 2 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14745
norm_3 get_wxy() const __GPU
Returns a norm_3 that is composed of element 3, element 0, and element 1 of this norm_4.
Definition: amp_short_vectors.h:17586
value_type _M_x
Definition: amp_short_vectors.h:7882
double & ref_y() __GPU
Returns reference to element 1 of this double_2.
Definition: amp_short_vectors.h:18677
float_2 operator-() const __GPU
Definition: amp_short_vectors.h:8068
void set_yzw(const unorm_3 &_Value) __GPU
Set element 1, 2, and 3 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13638
unorm_2 get_xz() const __GPU
Returns a unorm_2 that is composed of element 0, and element 2 of this unorm_4.
Definition: amp_short_vectors.h:12979
unorm_3 get_yzx() const __GPU
Returns a unorm_3 that is composed of element 1, element 2, and element 0 of this unorm_3...
Definition: amp_short_vectors.h:12399
void set_xwy(const norm_3 &_Value) __GPU
Set element 0, 3, and 1 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17134
constexpr _Ty & get(array< _Ty, _Size > &_Arr) _NOEXCEPT
Definition: array:493
void set_z(norm _Value) __GPU
Set element 2 of this norm_4 with a norm.
Definition: amp_short_vectors.h:16279
void set_xzyw(const int_4 &_Value) __GPU
Set element 0, 2, 1, and 3 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7146
#define __GPU
Definition: amprt.h:45
graphics::uint_2 uint2
Definition: amp_short_vectors.h:23808
uint_2 get_yz() const __GPU
Returns a uint_2 that is composed of element 1, and element 2 of this uint_3.
Definition: amp_short_vectors.h:1437
uint_2 operator<<(const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
Definition: amp_short_vectors.h:22866
double_3 get_yxw() const __GPU
Returns a double_3 that is composed of element 1, element 0, and element 3 of this double_4...
Definition: amp_short_vectors.h:20692
double_4 type
Definition: amp_short_vectors.h:23988
unorm_4 get_zwxy() const __GPU
Returns a unorm_4 that is composed of element 2, element 3, element 0, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14667
void set_xwz(const norm_3 &_Value) __GPU
Set element 0, 3, and 2 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17167
float & ref_y() __GPU
Returns reference to element 1 of this float_4.
Definition: amp_short_vectors.h:9036
uint_3(unsigned int _V0, unsigned int _V1, unsigned int _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:1110
void set_yz(const float_2 &_Value) __GPU
Set element 1, and 2 of this float_3 with a float_2.
Definition: amp_short_vectors.h:8673
void set_yzw(const double_3 &_Value) __GPU
Set element 1, 2, and 3 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20768
void set_yxw(const norm_3 &_Value) __GPU
Set element 1, 0, and 3 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17233
uint_3 get_yzw() const __GPU
Returns a uint_3 that is composed of element 1, element 2, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2888
unorm_2 get_yx() const __GPU
Returns a unorm_2 that is composed of element 1, and element 0 of this unorm_3.
Definition: amp_short_vectors.h:12172
int_3 get_xzy() const __GPU
Returns an int_3 that is composed of element 0, element 2, and element 1 of this int_3.
Definition: amp_short_vectors.h:5245
double_3 get_zxw() const __GPU
Returns a double_3 that is composed of element 2, element 0, and element 3 of this double_4...
Definition: amp_short_vectors.h:20890
int_4 get_wyzx() const __GPU
Returns an int_4 that is composed of element 3, element 1, element 2, and element 0 of this int_4...
Definition: amp_short_vectors.h:7782
int_4 get_zxwy() const __GPU
Returns an int_4 that is composed of element 2, element 0, element 3, and element 1 of this int_4...
Definition: amp_short_vectors.h:7510
void set_wxzy(const int_4 &_Value) __GPU
Set element 3, 0, 2, and 1 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7724
uint_2 get_yx() const __GPU
Returns a uint_2 that is composed of element 1, and element 0 of this uint_3.
Definition: amp_short_vectors.h:1405
value_type _M_x
Definition: amp_short_vectors.h:8224
norm value_type
Definition: amp_short_vectors.h:14932
void set_ywz(const double_3 &_Value) __GPU
Set element 1, 3, and 2 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20834
double_4 get_zwyx() const __GPU
Returns a double_4 that is composed of element 2, element 3, element 1, and element 0 of this double_...
Definition: amp_short_vectors.h:21831
unorm_3 get_wyz() const __GPU
Returns a unorm_3 that is composed of element 3, element 1, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14024
_In_ int _Val
Definition: vcruntime_string.h:62
void set_xwzy(const norm_4 &_Value) __GPU
Set element 0, 3, 2, and 1 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17964
unorm(float _V) __GPU
Constructor. Initialize by clamping _V to the range of [0.0f, 1.0f].
Definition: amp_short_vectors.h:69
void set_wx(const float_2 &_Value) __GPU
Set element 3, and 0 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9659
double_3 get_xzy() const __GPU
Returns a double_3 that is composed of element 0, element 2, and element 1 of this double_3...
Definition: amp_short_vectors.h:19508
double_2 get_yx() const __GPU
Returns a double_2 that is composed of element 1, and element 0 of this double_4. ...
Definition: amp_short_vectors.h:20173
void set_xwzy(const int_4 &_Value) __GPU
Set element 0, 3, 2, and 1 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7248
unorm get_z() const __GPU
Returns element 2 of this unorm_4.
Definition: amp_short_vectors.h:12617
float & ref_r() __GPU
Returns reference to element 0 of this float_2.
Definition: amp_short_vectors.h:7921
value_type _M_y
Definition: amp_short_vectors.h:18599
int_3 get_yzx() const __GPU
Returns an int_3 that is composed of element 1, element 2, and element 0 of this int_4.
Definition: amp_short_vectors.h:6540
void set_xzwy(const int_4 &_Value) __GPU
Set element 0, 2, 3, and 1 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7180
uint_3 operator~() const __GPU
Definition: amp_short_vectors.h:1175
void set_xyzw(const double_4 &_Value) __GPU
Set element 0, 1, 2, and 3 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21263
double_2 operator++(int) __GPU
Definition: amp_short_vectors.h:18799
unorm & operator=(const unorm &_Other) __GPU
Definition: amp_short_vectors.h:126
float & ref_b() __GPU
Returns reference to element 2 of this float_4.
Definition: amp_short_vectors.h:9096
double_3 get_zyx() const __GPU
Returns a double_3 that is composed of element 2, element 1, and element 0 of this double_3...
Definition: amp_short_vectors.h:19640
norm_3 type
Definition: amp_short_vectors.h:23958
float_3 get_wzx() const __GPU
Returns a float_3 that is composed of element 3, element 2, and element 0 of this float_4...
Definition: amp_short_vectors.h:10471
unorm & ref_g() __GPU
Returns reference to element 1 of this unorm_4.
Definition: amp_short_vectors.h:12587
unsigned int & ref_b() __GPU
Returns reference to element 2 of this uint_3.
Definition: amp_short_vectors.h:1072
unorm_2 get_zw() const __GPU
Returns a unorm_2 that is composed of element 2, and element 3 of this unorm_4.
Definition: amp_short_vectors.h:13203
void set_zw(const uint_2 &_Value) __GPU
Set element 2, and 3 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2473
void set_wxy(const unorm_3 &_Value) __GPU
Set element 3, 0, and 1 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13935
value_type _M_x
Definition: amp_short_vectors.h:11351
__declspec(property(get=get_x, put=set_x)) float x
Property for accessing element 0 of this float_2 as a float.
uint_4() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:1939
void set_zxyw(const float_4 &_Value) __GPU
Set element 2, 0, 1, and 3 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10955
void set_wyxz(const int_4 &_Value) __GPU
Set element 3, 1, 0, and 2 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7758
void set_wzx(const unorm_3 &_Value) __GPU
Set element 3, 2, and 0 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:14067
norm_2 operator-() const __GPU
Definition: amp_short_vectors.h:15177
void set_wz(const norm_2 &_Value) __GPU
Set element 3, and 2 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16970
void set_xyz(const uint_3 &_Value) __GPU
Set element 0, 1, and 2 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2601
unorm_4 get_yzxw() const __GPU
Returns a unorm_4 that is composed of element 1, element 2, element 0, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:14395
void set_zyxw(const unorm_4 &_Value) __GPU
Set element 2, 1, 0, and 3 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14609
unorm_2 get_xz() const __GPU
Returns a unorm_2 that is composed of element 0, and element 2 of this unorm_3.
Definition: amp_short_vectors.h:12140
void set_zxyw(const unorm_4 &_Value) __GPU
Set element 2, 0, 1, and 3 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14541
unorm_4 & operator*=(const unorm_4 &_Other) __GPU
Definition: amp_short_vectors.h:12907
void set_xzwy(const norm_4 &_Value) __GPU
Set element 0, 2, 3, and 1 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17896
uint_4 get_zwyx() const __GPU
Returns a uint_4 that is composed of element 2, element 3, element 1, and element 0 of this uint_4...
Definition: amp_short_vectors.h:3961
unorm_3 operator++(int) __GPU
Definition: amp_short_vectors.h:12024
double_3 get_wzx() const __GPU
Returns a double_3 that is composed of element 3, element 2, and element 0 of this double_4...
Definition: amp_short_vectors.h:21187
uint_4 get_wzxy() const __GPU
Returns a uint_4 that is composed of element 3, element 2, element 0, and element 1 of this uint_4...
Definition: amp_short_vectors.h:4131
uint_3 get_yxz() const __GPU
Returns a uint_3 that is composed of element 1, element 0, and element 2 of this uint_3.
Definition: amp_short_vectors.h:1599
Represent a short vector of 3 unorm's.
Definition: amp_short_vectors.h:11718
void set_zxw(const uint_3 &_Value) __GPU
Set element 2, 0, and 3 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3030
void set_xwyz(const double_4 &_Value) __GPU
Set element 0, 3, 1, and 2 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21399
norm_3 get_wyz() const __GPU
Returns a norm_3 that is composed of element 3, element 1, and element 2 of this norm_4.
Definition: amp_short_vectors.h:17685
void set_ywzx(const float_4 &_Value) __GPU
Set element 1, 3, 2, and 0 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10921
void set_zx(const norm_2 &_Value) __GPU
Set element 2, and 0 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16810
double & ref_x() __GPU
Returns reference to element 0 of this double_2.
Definition: amp_short_vectors.h:18627
unorm value_type
Definition: amp_short_vectors.h:24113
void set_xzyw(const uint_4 &_Value) __GPU
Set element 0, 2, 1, and 3 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3461
void set_y(unsigned int _Value) __GPU
Set element 1 of this uint_3 with an unsigned int.
Definition: amp_short_vectors.h:1032
float_2 get_wx() const __GPU
Returns a float_2 that is composed of element 3, and element 0 of this float_4.
Definition: amp_short_vectors.h:9649
double get_y() const __GPU
Returns element 1 of this double_4.
Definition: amp_short_vectors.h:19742
The Concurrency namespace provides classes and functions that provide access to the Concurrency Runti...
Definition: agents.h:43
void set_x(norm _Value) __GPU
Set element 0 of this norm_4 with a norm.
Definition: amp_short_vectors.h:16179
void set_wx(const double_2 &_Value) __GPU
Set element 3, and 0 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20375
void set_xwzy(const uint_4 &_Value) __GPU
Set element 0, 3, 2, and 1 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3563
value_type _M_x
Definition: amp_short_vectors.h:15333
int_3 get_zwx() const __GPU
Returns an int_3 that is composed of element 2, element 3, and element 0 of this int_4.
Definition: amp_short_vectors.h:6804
void set_xwy(const uint_3 &_Value) __GPU
Set element 0, 3, and 1 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2733
Represent a short vector of 2 int's.
Definition: amp_short_vectors.h:4189
void set_xw(const norm_2 &_Value) __GPU
Set element 0, and 3 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16682
void set_y(unsigned int _Value) __GPU
Set element 1 of this uint_2 with an unsigned int.
Definition: amp_short_vectors.h:629
unsigned int value_type
Definition: amp_short_vectors.h:24022
Definition: amprt.h:297
void set_xzw(const float_3 &_Value) __GPU
Set element 0, 2, and 3 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9854
norm & operator=(const norm &_Other) __GPU
Definition: amp_short_vectors.h:300
norm_4 type
Definition: amp_short_vectors.h:23964
void set_zyx(const uint_3 &_Value) __GPU
Set element 2, 1, and 0 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3063
norm get_z() const __GPU
Returns element 2 of this norm_3.
Definition: amp_short_vectors.h:15453
void set_zwx(const double_3 &_Value) __GPU
Set element 2, 3, and 0 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20999
double_2 get_wy() const __GPU
Returns a double_2 that is composed of element 3, and element 1 of this double_4. ...
Definition: amp_short_vectors.h:20397
void set_yxwz(const double_4 &_Value) __GPU
Set element 1, 0, 3, and 2 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21501
int_2 operator-() const __GPU
Definition: amp_short_vectors.h:4389
norm_4 & operator++() __GPU
Definition: amp_short_vectors.h:16508
void set_wxyz(const norm_4 &_Value) __GPU
Set element 3, 0, 1, and 2 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18406
void set_xyz(const uint_3 &_Value) __GPU
Set element 0, 1, and 2 of this uint_3 with a uint_3.
Definition: amp_short_vectors.h:1543
norm_3 operator--(int) __GPU
Definition: amp_short_vectors.h:15673
void set_wy(const unorm_2 &_Value) __GPU
Set element 3, and 1 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13277
void set_wz(const uint_2 &_Value) __GPU
Set element 3, and 2 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2569
void set_wyx(const float_3 &_Value) __GPU
Set element 3, 1, and 0 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10415
double_3 get_yzx() const __GPU
Returns a double_3 that is composed of element 1, element 2, and element 0 of this double_3...
Definition: amp_short_vectors.h:19574
void set_wzxy(const float_4 &_Value) __GPU
Set element 3, 2, 0, and 1 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11295
double get_z() const __GPU
Returns element 2 of this double_4.
Definition: amp_short_vectors.h:19792
void _Set(float _Val) __CPU_ONLY
Definition: amp_short_vectors.h:213
value_type _M_x
Definition: amp_short_vectors.h:4197
uint_3 get_zyx() const __GPU
Returns a uint_3 that is composed of element 2, element 1, and element 0 of this uint_4.
Definition: amp_short_vectors.h:3053
void set_yx(const uint_2 &_Value) __GPU
Set element 1, and 0 of this uint_3 with a uint_2.
Definition: amp_short_vectors.h:1415
float value_type
Definition: amp_short_vectors.h:24064
void set_yzx(const float_3 &_Value) __GPU
Set element 1, 2, and 0 of this float_3 with a float_3.
Definition: amp_short_vectors.h:8868
double_2 get_yz() const __GPU
Returns a double_2 that is composed of element 1, and element 2 of this double_3. ...
Definition: amp_short_vectors.h:19379
void set_wz(const double_2 &_Value) __GPU
Set element 3, and 2 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20439
void set_xyz(const double_3 &_Value) __GPU
Set element 0, 1, and 2 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20471
uint_4 get_zwxy() const __GPU
Returns a uint_4 that is composed of element 2, element 3, element 0, and element 1 of this uint_4...
Definition: amp_short_vectors.h:3927
norm get_x() const __GPU
Returns element 0 of this norm_4.
Definition: amp_short_vectors.h:16149
float_4 & operator++() __GPU
Definition: amp_short_vectors.h:9261
void set_yx(const norm_2 &_Value) __GPU
Set element 1, and 0 of this norm_3 with a norm_2.
Definition: amp_short_vectors.h:15814
value_type _M_x
Definition: amp_short_vectors.h:4605
unorm_3 get_zxy() const __GPU
Returns a unorm_3 that is composed of element 2, element 0, and element 1 of this unorm_3...
Definition: amp_short_vectors.h:12432
void set_xyzw(const int_4 &_Value) __GPU
Set element 0, 1, 2, and 3 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7078
int_3 get_yxz() const __GPU
Returns an int_3 that is composed of element 1, element 0, and element 2 of this int_4.
Definition: amp_short_vectors.h:6474
unsigned int value_type
Definition: amp_short_vectors.h:1724
norm_2 & operator=(const norm_2 &_Other) __GPU
Definition: amp_short_vectors.h:15125
norm_3 & operator*=(const norm_3 &_Other) __GPU
Definition: amp_short_vectors.h:15702
void set_yzx(const double_3 &_Value) __GPU
Set element 1, 2, and 0 of this double_3 with a double_3.
Definition: amp_short_vectors.h:19584
norm get_y() const __GPU
Returns element 1 of this norm_3.
Definition: amp_short_vectors.h:15403
uint_2 operator^(const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
Definition: amp_short_vectors.h:22845
double get_w() const __GPU
Returns element 3 of this double_4.
Definition: amp_short_vectors.h:19842
float_4 get_wzyx() const __GPU
Returns a float_4 that is composed of element 3, element 2, element 1, and element 0 of this float_4...
Definition: amp_short_vectors.h:11319
float_3(float _V) __GPU
Constructor.
Definition: amp_short_vectors.h:8415
float_3 get_wyz() const __GPU
Returns a float_3 that is composed of element 3, element 1, and element 2 of this float_4...
Definition: amp_short_vectors.h:10438
float_3 get_wzy() const __GPU
Returns a float_3 that is composed of element 3, element 2, and element 1 of this float_4...
Definition: amp_short_vectors.h:10504
norm & ref_r() __GPU
Returns reference to element 0 of this norm_2.
Definition: amp_short_vectors.h:14976
void set_yw(const norm_2 &_Value) __GPU
Set element 1, and 3 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16778
int_3 get_yxz() const __GPU
Returns an int_3 that is composed of element 1, element 0, and element 2 of this int_3.
Definition: amp_short_vectors.h:5278
void set_zxwy(const int_4 &_Value) __GPU
Set element 2, 0, 3, and 1 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7520
int_4 get_xyzw() const __GPU
Returns an int_4 that is composed of element 0, element 1, element 2, and element 3 of this int_4...
Definition: amp_short_vectors.h:7068
void set_wzy(const norm_3 &_Value) __GPU
Set element 3, 2, and 1 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17761
void set_yxwz(const float_4 &_Value) __GPU
Set element 1, 0, 3, and 2 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10785
unsigned int value_type
Definition: amp_short_vectors.h:24029
uint_3 get_wyz() const __GPU
Returns a uint_3 that is composed of element 3, element 1, and element 2 of this uint_4.
Definition: amp_short_vectors.h:3284
float_3 get_wxz() const __GPU
Returns a float_3 that is composed of element 3, element 0, and element 2 of this float_4...
Definition: amp_short_vectors.h:10372
double_3 get_wxy() const __GPU
Returns a double_3 that is composed of element 3, element 0, and element 1 of this double_4...
Definition: amp_short_vectors.h:21055
uint_2 operator~() const __GPU
Definition: amp_short_vectors.h:716
unorm_4 get_zwyx() const __GPU
Returns a unorm_4 that is composed of element 2, element 3, element 1, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14701
void set_yzw(const uint_3 &_Value) __GPU
Set element 1, 2, and 3 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2898
void set_zyx(const double_3 &_Value) __GPU
Set element 2, 1, and 0 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20933
uint_4 & operator^=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2131
void set_yx(const float_2 &_Value) __GPU
Set element 1, and 0 of this float_3 with a float_2.
Definition: amp_short_vectors.h:8641
unorm & ref_b() __GPU
Returns reference to element 2 of this unorm_3.
Definition: amp_short_vectors.h:11866
int_2 & operator|=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4487
unsigned int & ref_y() __GPU
Returns reference to element 1 of this uint_2.
Definition: amp_short_vectors.h:609
bool operator!=(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:440
void set_zxwy(const double_4 &_Value) __GPU
Set element 2, 0, 3, and 1 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21705
int_3 get_wzy() const __GPU
Returns an int_3 that is composed of element 3, element 2, and element 1 of this int_4.
Definition: amp_short_vectors.h:7035
void set_yx(const norm_2 &_Value) __GPU
Set element 1, and 0 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16714
unorm_3 get_xyz() const __GPU
Returns a unorm_3 that is composed of element 0, element 1, and element 2 of this unorm_3...
Definition: amp_short_vectors.h:12300
uint_3 & operator>>=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1303
norm_2 get_wy() const __GPU
Returns a norm_2 that is composed of element 3, and element 1 of this norm_4.
Definition: amp_short_vectors.h:16928
value_type _M_y
Definition: amp_short_vectors.h:16129
int_2 get_yw() const __GPU
Returns an int_2 that is composed of element 1, and element 3 of this int_4.
Definition: amp_short_vectors.h:6052
uint_2 get_wx() const __GPU
Returns a uint_2 that is composed of element 3, and element 0 of this uint_4.
Definition: amp_short_vectors.h:2495
double_3 get_yzx() const __GPU
Returns a double_3 that is composed of element 1, element 2, and element 0 of this double_4...
Definition: amp_short_vectors.h:20725
norm_2(unorm _V0, unorm _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:15090
unorm_4(const unorm_4 &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:12788
norm_3(norm _V0, norm _V1, norm _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:15511
int & ref_y() __GPU
Returns reference to element 1 of this int_4.
Definition: amp_short_vectors.h:5489
Definition: amprt.h:294
void set_wxy(const norm_3 &_Value) __GPU
Set element 3, 0, and 1 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17596
float_4 get_zwyx() const __GPU
Returns a float_4 that is composed of element 2, element 3, element 1, and element 0 of this float_4...
Definition: amp_short_vectors.h:11115
int_3 get_xyw() const __GPU
Returns an int_3 that is composed of element 0, element 1, and element 3 of this int_4.
Definition: amp_short_vectors.h:6309
unorm_3 get_xzw() const __GPU
Returns a unorm_3 that is composed of element 0, element 2, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:13430
double_2 get_wz() const __GPU
Returns a double_2 that is composed of element 3, and element 2 of this double_4. ...
Definition: amp_short_vectors.h:20429
unorm_3 get_xwz() const __GPU
Returns a unorm_3 that is composed of element 0, element 3, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:13496
double value_type
Definition: amp_short_vectors.h:19666
void set_zwy(const norm_3 &_Value) __GPU
Set element 2, 3, and 1 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17563
double_4 get_ywxz() const __GPU
Returns a double_4 that is composed of element 1, element 3, element 0, and element 2 of this double_...
Definition: amp_short_vectors.h:21593
norm_3 get_zwy() const __GPU
Returns a norm_3 that is composed of element 2, element 3, and element 1 of this norm_4.
Definition: amp_short_vectors.h:17553
norm_2 & operator/=(const norm_2 &_Other) __GPU
Definition: amp_short_vectors.h:15245
unorm_3 get_ywx() const __GPU
Returns a unorm_3 that is composed of element 1, element 3, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:13661
double_4(double _V0, double _V1, double _V2, double _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:19904
int_2 get_zy() const __GPU
Returns an int_2 that is composed of element 2, and element 1 of this int_4.
Definition: amp_short_vectors.h:6116
double_3 & operator--() __GPU
Definition: amp_short_vectors.h:19206
__declspec(property(get=get_x, put=set_x)) unorm x
Property for accessing element 0 of this unorm_2 as a unorm.
int_4 & operator--() __GPU
Definition: amp_short_vectors.h:5738
void set_wyz(const unorm_3 &_Value) __GPU
Set element 3, 1, and 2 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:14034
short_vector provides metaprogramming definitions which are useful for programming short vectors gene...
Definition: amp_short_vectors.h:23839
void set_zwx(const unorm_3 &_Value) __GPU
Set element 2, 3, and 0 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13869
void set_xyz(const unorm_3 &_Value) __GPU
Set element 0, 1, and 2 of this unorm_3 with a unorm_3.
Definition: amp_short_vectors.h:12310
float_2 get_yz() const __GPU
Returns a float_2 that is composed of element 1, and element 2 of this float_4.
Definition: amp_short_vectors.h:9489
void set_wzyx(const int_4 &_Value) __GPU
Set element 3, 2, 1, and 0 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7860
double_3 get_zyw() const __GPU
Returns a double_3 that is composed of element 2, element 1, and element 3 of this double_4...
Definition: amp_short_vectors.h:20956
void set_xy(const norm_2 &_Value) __GPU
Set element 0, and 1 of this norm_3 with a norm_2.
Definition: amp_short_vectors.h:15750
int_2 get_yx() const __GPU
Returns an int_2 that is composed of element 1, and element 0 of this int_4.
Definition: amp_short_vectors.h:5988
Represent a short vector of 4 double's.
Definition: amp_short_vectors.h:19663
int_3() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:4764
void set_xyz(const double_3 &_Value) __GPU
Set element 0, 1, and 2 of this double_3 with a double_3.
Definition: amp_short_vectors.h:19485
void set_wyzx(const uint_4 &_Value) __GPU
Set element 3, 1, 2, and 0 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:4107
norm & operator+=(const norm &_Other) __GPU
Definition: amp_short_vectors.h:314
void set_zxw(const unorm_3 &_Value) __GPU
Set element 2, 0, and 3 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13770
void set_xwz(const int_3 &_Value) __GPU
Set element 0, 3, and 2 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6451
void set_yxzw(const unorm_4 &_Value) __GPU
Set element 1, 0, 2, and 3 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14337
__declspec(property(get=get_x, put=set_x)) unorm x
Property for accessing element 0 of this unorm_4 as a unorm.
float get_x() const __GPU
Returns element 0 of this float_3.
Definition: amp_short_vectors.h:8244
float_3 & operator+=(const float_3 &_Other) __GPU
Definition: amp_short_vectors.h:8507
void set_xzyw(const float_4 &_Value) __GPU
Set element 0, 2, 1, and 3 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10615
unsigned int
Definition: vccorlib.h:2468
unorm_3 get_xzy() const __GPU
Returns a unorm_3 that is composed of element 0, element 2, and element 1 of this unorm_3...
Definition: amp_short_vectors.h:12333
Represent a short vector of 3 int's.
Definition: amp_short_vectors.h:4597
unorm_4 get_xzyw() const __GPU
Returns a unorm_4 that is composed of element 0, element 2, element 1, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:14191
int_2 get_zw() const __GPU
Returns an int_2 that is composed of element 2, and element 3 of this int_4.
Definition: amp_short_vectors.h:6148
int_2 operator++(int) __GPU
Definition: amp_short_vectors.h:4404
void set_ywx(const norm_3 &_Value) __GPU
Set element 1, 3, and 0 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17332
void set_wyx(const unorm_3 &_Value) __GPU
Set element 3, 1, and 0 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:14001
norm_4 & operator+=(const norm_4 &_Other) __GPU
Definition: amp_short_vectors.h:16544
void set_zw(const int_2 &_Value) __GPU
Set element 2, and 3 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6158
unorm get_w() const __GPU
Returns element 3 of this unorm_4.
Definition: amp_short_vectors.h:12667
void set_xyz(const norm_3 &_Value) __GPU
Set element 0, 1, and 2 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17002
norm_2 get_xw() const __GPU
Returns a norm_2 that is composed of element 0, and element 3 of this norm_4.
Definition: amp_short_vectors.h:16672
void set_zyx(const norm_3 &_Value) __GPU
Set element 2, 1, and 0 of this norm_3 with a norm_3.
Definition: amp_short_vectors.h:16107
void set_zxy(const int_3 &_Value) __GPU
Set element 2, 0, and 1 of this int_3 with an int_3.
Definition: amp_short_vectors.h:5354
void set_zyx(const double_3 &_Value) __GPU
Set element 2, 1, and 0 of this double_3 with a double_3.
Definition: amp_short_vectors.h:19650
graphics::double_2 double2
Definition: amp_short_vectors.h:23823
norm & ref_z() __GPU
Returns reference to element 2 of this norm_4.
Definition: amp_short_vectors.h:16259
norm_2 & operator--() __GPU
Definition: amp_short_vectors.h:15199
void set_zxwy(const unorm_4 &_Value) __GPU
Set element 2, 0, 3, and 1 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14575
double_4 operator--(int) __GPU
Definition: amp_short_vectors.h:20006
float_4 get_zywx() const __GPU
Returns a float_4 that is composed of element 2, element 1, element 3, and element 0 of this float_4...
Definition: amp_short_vectors.h:11047
uint_3 & operator--() __GPU
Definition: amp_short_vectors.h:1198
void set_xzy(const norm_3 &_Value) __GPU
Set element 0, 2, and 1 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17068
norm & ref_b() __GPU
Returns reference to element 2 of this norm_4.
Definition: amp_short_vectors.h:16269
Represent a norm number. Each element is a floating point number in the range of [-1.0f, 1.0f].
Definition: amp_short_vectors.h:208
uint_2 type
Definition: amp_short_vectors.h:23856
norm & ref_z() __GPU
Returns reference to element 2 of this norm_3.
Definition: amp_short_vectors.h:15463
float & ref_z() __GPU
Returns reference to element 2 of this float_4.
Definition: amp_short_vectors.h:9086
int_4 & operator^=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5816
norm_2 get_zw() const __GPU
Returns a norm_2 that is composed of element 2, and element 3 of this norm_4.
Definition: amp_short_vectors.h:16864
unsigned int get_x() const __GPU
Returns element 0 of this uint_3.
Definition: amp_short_vectors.h:952
norm(float _V) __GPU
Constructor. Initialize by clamping _V to the range of [-1.0f, 1.0f].
Definition: amp_short_vectors.h:240
void set_ywz(const int_3 &_Value) __GPU
Set element 1, 3, and 2 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6649
double_3 get_wzy() const __GPU
Returns a double_3 that is composed of element 3, element 2, and element 1 of this double_4...
Definition: amp_short_vectors.h:21220
int_4 get_yzwx() const __GPU
Returns an int_4 that is composed of element 1, element 2, element 3, and element 0 of this int_4...
Definition: amp_short_vectors.h:7374
graphics::float_3 float3
Definition: amp_short_vectors.h:23815
float_2 & operator++() __GPU
Definition: amp_short_vectors.h:8074
norm_3(float _V) __GPU
Definition: amp_short_vectors.h:15569
void set_z(unsigned int _Value) __GPU
Set element 2 of this uint_4 with an unsigned int.
Definition: amp_short_vectors.h:1880
double_3 & operator-=(const double_3 &_Other) __GPU
Definition: amp_short_vectors.h:19234
norm_3 get_yxw() const __GPU
Returns a norm_3 that is composed of element 1, element 0, and element 3 of this norm_4.
Definition: amp_short_vectors.h:17223
norm_4 get_yzxw() const __GPU
Returns a norm_4 that is composed of element 1, element 2, element 0, and element 3 of this norm_4...
Definition: amp_short_vectors.h:18056
int_2 & operator&=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4497
unorm_3 & operator/=(const unorm_3 &_Other) __GPU
Definition: amp_short_vectors.h:12081
double_2 get_zx() const __GPU
Returns a double_2 that is composed of element 2, and element 0 of this double_4. ...
Definition: amp_short_vectors.h:20269
int_3 & operator^=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4949
double_3 operator--(int) __GPU
Definition: amp_short_vectors.h:19216
int_4 operator-() const __GPU
Definition: amp_short_vectors.h:5714
void set_xwyz(const uint_4 &_Value) __GPU
Set element 0, 3, 1, and 2 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3529
unorm_3 get_xwy() const __GPU
Returns a unorm_3 that is composed of element 0, element 3, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:13463
void set_xyz(const float_3 &_Value) __GPU
Set element 0, 1, and 2 of this float_3 with a float_3.
Definition: amp_short_vectors.h:8769
void set_xyw(const float_3 &_Value) __GPU
Set element 0, 1, and 3 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9788
void set_zyx(const int_3 &_Value) __GPU
Set element 2, 1, and 0 of this int_3 with an int_3.
Definition: amp_short_vectors.h:5387
unsigned int & ref_w() __GPU
Returns reference to element 3 of this uint_4.
Definition: amp_short_vectors.h:1910
void set_wxzy(const double_4 &_Value) __GPU
Set element 3, 0, 2, and 1 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21909
norm_2 get_yx() const __GPU
Returns a norm_2 that is composed of element 1, and element 0 of this norm_4.
Definition: amp_short_vectors.h:16704
int_3 operator-() const __GPU
Definition: amp_short_vectors.h:4854
uint_4 get_xzyw() const __GPU
Returns a uint_4 that is composed of element 0, element 2, element 1, and element 3 of this uint_4...
Definition: amp_short_vectors.h:3451
uint_2 get_xy() const __GPU
Returns a uint_2 that is composed of element 0, and element 1 of this uint_4.
Definition: amp_short_vectors.h:2207
void set_wzxy(const unorm_4 &_Value) __GPU
Set element 3, 2, 0, and 1 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14881
unorm_3 operator--(int) __GPU
Definition: amp_short_vectors.h:12041
graphics::double_4 double4
Definition: amp_short_vectors.h:23825
Definition: amprt.h:293
void set_wz(const unorm_2 &_Value) __GPU
Set element 3, and 2 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13309
double & ref_r() __GPU
Returns reference to element 0 of this double_2.
Definition: amp_short_vectors.h:18637
uint_4 get_xwzy() const __GPU
Returns a uint_4 that is composed of element 0, element 3, element 2, and element 1 of this uint_4...
Definition: amp_short_vectors.h:3553
int_3 get_zyw() const __GPU
Returns an int_3 that is composed of element 2, element 1, and element 3 of this int_4.
Definition: amp_short_vectors.h:6771
double & ref_g() __GPU
Returns reference to element 1 of this double_2.
Definition: amp_short_vectors.h:18687
double_2 get_zw() const __GPU
Returns a double_2 that is composed of element 2, and element 3 of this double_4. ...
Definition: amp_short_vectors.h:20333
float_3 get_yzw() const __GPU
Returns a float_3 that is composed of element 1, element 2, and element 3 of this float_4...
Definition: amp_short_vectors.h:10042
void set_yxz(const int_3 &_Value) __GPU
Set element 1, 0, and 2 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6484
unsigned int & ref_g() __GPU
Returns reference to element 1 of this uint_2.
Definition: amp_short_vectors.h:619
unorm_4 get_wzyx() const __GPU
Returns a unorm_4 that is composed of element 3, element 2, element 1, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14905
void set_zwyx(const float_4 &_Value) __GPU
Set element 2, 3, 1, and 0 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11125
void set_yxw(const float_3 &_Value) __GPU
Set element 1, 0, and 3 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9986
int & ref_b() __GPU
Returns reference to element 2 of this int_3.
Definition: amp_short_vectors.h:4745
norm_4 get_ywzx() const __GPU
Returns a norm_4 that is composed of element 1, element 3, element 2, and element 0 of this norm_4...
Definition: amp_short_vectors.h:18158
unorm & ref_r() __GPU
Returns reference to element 0 of this unorm_2.
Definition: amp_short_vectors.h:11390
void set_zyx(const unorm_3 &_Value) __GPU
Set element 2, 1, and 0 of this unorm_3 with a unorm_3.
Definition: amp_short_vectors.h:12475
int_4(int _V0, int _V1, int _V2, int _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:5641
void set_x(double _Value) __GPU
Set element 0 of this double_4 with a double.
Definition: amp_short_vectors.h:19722
void set_wzyx(const norm_4 &_Value) __GPU
Set element 3, 2, 1, and 0 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18576
void set_zyxw(const norm_4 &_Value) __GPU
Set element 2, 1, 0, and 3 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18270
void set_yzwx(const int_4 &_Value) __GPU
Set element 1, 2, 3, and 0 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7384
norm_3 get_wxz() const __GPU
Returns a norm_3 that is composed of element 3, element 0, and element 2 of this norm_4.
Definition: amp_short_vectors.h:17619
unorm operator/(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:420
unorm_3 get_zwy() const __GPU
Returns a unorm_3 that is composed of element 2, element 3, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:13892
void set_xz(const norm_2 &_Value) __GPU
Set element 0, and 2 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16650
norm get_y() const __GPU
Returns element 1 of this norm_4.
Definition: amp_short_vectors.h:16199
void set_xy(const float_2 &_Value) __GPU
Set element 0, and 1 of this float_2 with a float_2.
Definition: amp_short_vectors.h:8172
float get_x() const __GPU
Returns element 0 of this float_4.
Definition: amp_short_vectors.h:8976
value_type _M_y
Definition: amp_short_vectors.h:7883
void set_zx(const float_2 &_Value) __GPU
Set element 2, and 0 of this float_3 with a float_2.
Definition: amp_short_vectors.h:8705
void set_zw(const float_2 &_Value) __GPU
Set element 2, and 3 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9627
unsigned int & ref_y() __GPU
Returns reference to element 1 of this uint_4.
Definition: amp_short_vectors.h:1810
void set_w(unsigned int _Value) __GPU
Set element 3 of this uint_4 with an unsigned int.
Definition: amp_short_vectors.h:1930
norm_3 & operator-=(const norm_3 &_Other) __GPU
Definition: amp_short_vectors.h:15691
norm & operator*=(const norm &_Other) __GPU
Definition: amp_short_vectors.h:330
float_3 type
Definition: amp_short_vectors.h:23910
int & ref_y() __GPU
Returns reference to element 1 of this int_3.
Definition: amp_short_vectors.h:4685
unorm_2 & operator-=(const unorm_2 &_Other) __GPU
Definition: amp_short_vectors.h:11618
int_2 & operator--() __GPU
Definition: amp_short_vectors.h:4411
float_2 get_zy() const __GPU
Returns a float_2 that is composed of element 2, and element 1 of this float_3.
Definition: amp_short_vectors.h:8727
short_vector()
Definition: amp_short_vectors.h:23841
void set_wyzx(const norm_4 &_Value) __GPU
Set element 3, 1, 2, and 0 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18508
unorm(double _V) __GPU
Constructor. Initialize by casting _V to float, then clamping to the range of [0.0f, 1.0f].
Definition: amp_short_vectors.h:102
void set_zx(const double_2 &_Value) __GPU
Set element 2, and 0 of this double_3 with a double_2.
Definition: amp_short_vectors.h:19421
void set_xzyw(const norm_4 &_Value) __GPU
Set element 0, 2, 1, and 3 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17862
void set_yxwz(const int_4 &_Value) __GPU
Set element 1, 0, 3, and 2 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7316
int_4 get_xwyz() const __GPU
Returns an int_4 that is composed of element 0, element 3, element 1, and element 2 of this int_4...
Definition: amp_short_vectors.h:7204
void set_xwy(const unorm_3 &_Value) __GPU
Set element 0, 3, and 1 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13473
void set_xzwy(const unorm_4 &_Value) __GPU
Set element 0, 2, 3, and 1 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14235
value_type _M_x
Definition: amp_short_vectors.h:530
uint_3 get_yxz() const __GPU
Returns a uint_3 that is composed of element 1, element 0, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2789
norm & ref_x() __GPU
Returns reference to element 0 of this norm_3.
Definition: amp_short_vectors.h:15363
int_2 get_xy() const __GPU
Returns an int_2 that is composed of element 0, and element 1 of this int_2.
Definition: amp_short_vectors.h:4543
int_3 & operator+=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4894
unorm_2 & operator+=(const unorm_2 &_Other) __GPU
Definition: amp_short_vectors.h:11608
void set_zyw(const norm_3 &_Value) __GPU
Set element 2, 1, and 3 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17497
double_3 get_yxz() const __GPU
Returns a double_3 that is composed of element 1, element 0, and element 2 of this double_4...
Definition: amp_short_vectors.h:20659
uint_3 get_zxy() const __GPU
Returns a uint_3 that is composed of element 2, element 0, and element 1 of this uint_3.
Definition: amp_short_vectors.h:1665
norm_3 get_wyx() const __GPU
Returns a norm_3 that is composed of element 3, element 1, and element 0 of this norm_4.
Definition: amp_short_vectors.h:17652
unsigned int & ref_z() __GPU
Returns reference to element 2 of this uint_4.
Definition: amp_short_vectors.h:1860
void set_xzw(const uint_3 &_Value) __GPU
Set element 0, 2, and 3 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2700
float_2 operator++(int) __GPU
Definition: amp_short_vectors.h:8083
void set_zwxy(const float_4 &_Value) __GPU
Set element 2, 3, 0, and 1 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11091
float_4 get_yzxw() const __GPU
Returns a float_4 that is composed of element 1, element 2, element 0, and element 3 of this float_4...
Definition: amp_short_vectors.h:10809
int & ref_x() __GPU
Returns reference to element 0 of this int_4.
Definition: amp_short_vectors.h:5439
float_3 get_xyz() const __GPU
Returns a float_3 that is composed of element 0, element 1, and element 2 of this float_4...
Definition: amp_short_vectors.h:9745
double_3 get_yxz() const __GPU
Returns a double_3 that is composed of element 1, element 0, and element 2 of this double_3...
Definition: amp_short_vectors.h:19541
int value_type
Definition: amp_short_vectors.h:24050
norm_4 & operator=(const norm_4 &_Other) __GPU
Definition: amp_short_vectors.h:16448
int_4 get_yxwz() const __GPU
Returns an int_4 that is composed of element 1, element 0, element 3, and element 2 of this int_4...
Definition: amp_short_vectors.h:7306
void set_zwy(const unorm_3 &_Value) __GPU
Set element 2, 3, and 1 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13902
float get_w() const __GPU
Returns element 3 of this float_4.
Definition: amp_short_vectors.h:9126
void set_z(float _Value) __GPU
Set element 2 of this float_3 with a float.
Definition: amp_short_vectors.h:8374
int_3 get_wxy() const __GPU
Returns an int_3 that is composed of element 3, element 0, and element 1 of this int_4.
Definition: amp_short_vectors.h:6870
float_3 get_yxz() const __GPU
Returns a float_3 that is composed of element 1, element 0, and element 2 of this float_4...
Definition: amp_short_vectors.h:9943
unorm_2 get_xw() const __GPU
Returns a unorm_2 that is composed of element 0, and element 3 of this unorm_4.
Definition: amp_short_vectors.h:13011
double_2 & operator/=(const double_2 &_Other) __GPU
Definition: amp_short_vectors.h:18852
void set_xy(const norm_2 &_Value) __GPU
Set element 0, and 1 of this norm_2 with a norm_2.
Definition: amp_short_vectors.h:15281
unorm_2 get_zy() const __GPU
Returns a unorm_2 that is composed of element 2, and element 1 of this unorm_4.
Definition: amp_short_vectors.h:13171
unsigned int & ref_x() __GPU
Returns reference to element 0 of this uint_3.
Definition: amp_short_vectors.h:962
void set_yw(const int_2 &_Value) __GPU
Set element 1, and 3 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6062
uint_4 get_xzwy() const __GPU
Returns a uint_4 that is composed of element 0, element 2, element 3, and element 1 of this uint_4...
Definition: amp_short_vectors.h:3485
void set_wyx(const int_3 &_Value) __GPU
Set element 3, 1, and 0 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6946
norm_3 & operator+=(const norm_3 &_Other) __GPU
Definition: amp_short_vectors.h:15680
void set_yw(const float_2 &_Value) __GPU
Set element 1, and 3 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9531
bool operator==(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:430
void set_ywzx(const norm_4 &_Value) __GPU
Set element 1, 3, 2, and 0 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18168
void set_xwzy(const float_4 &_Value) __GPU
Set element 0, 3, 2, and 1 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10717
double_2 get_xy() const __GPU
Returns a double_2 that is composed of element 0, and element 1 of this double_3. ...
Definition: amp_short_vectors.h:19283
void set_yx(const unorm_2 &_Value) __GPU
Set element 1, and 0 of this unorm_3 with a unorm_2.
Definition: amp_short_vectors.h:12182
void _Set(float _Val) __CPU_ONLY
Definition: amp_short_vectors.h:42
double & ref_r() __GPU
Returns reference to element 0 of this double_4.
Definition: amp_short_vectors.h:19712
norm_4(unorm _V0, unorm _V1, unorm _V2, unorm _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:16407
uint_2 & operator<<=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:844
float_3 get_yxz() const __GPU
Returns a float_3 that is composed of element 1, element 0, and element 2 of this float_3...
Definition: amp_short_vectors.h:8825
double_3 get_xwz() const __GPU
Returns a double_3 that is composed of element 0, element 3, and element 2 of this double_4...
Definition: amp_short_vectors.h:20626
norm_2 get_yw() const __GPU
Returns a norm_2 that is composed of element 1, and element 3 of this norm_4.
Definition: amp_short_vectors.h:16768
norm_2 get_yz() const __GPU
Returns a norm_2 that is composed of element 1, and element 2 of this norm_4.
Definition: amp_short_vectors.h:16736
float value_type
Definition: amp_short_vectors.h:24085
int_4 get_yzxw() const __GPU
Returns an int_4 that is composed of element 1, element 2, element 0, and element 3 of this int_4...
Definition: amp_short_vectors.h:7340
norm(const unorm &_Other) __GPU
Constructor.
Definition: amp_short_vectors.h:295
void set_xywz(const double_4 &_Value) __GPU
Set element 0, 1, 3, and 2 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21297
double_3(double _V0, double _V1, double _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:19118
int_4 & operator/=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5792
void set_wzx(const float_3 &_Value) __GPU
Set element 3, 2, and 0 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10481
void set_xywz(const unorm_4 &_Value) __GPU
Set element 0, 1, 3, and 2 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14167
float_3 & operator*=(const float_3 &_Other) __GPU
Definition: amp_short_vectors.h:8529
int_4 get_zyxw() const __GPU
Returns an int_4 that is composed of element 2, element 1, element 0, and element 3 of this int_4...
Definition: amp_short_vectors.h:7544
unorm_4 get_wzxy() const __GPU
Returns a unorm_4 that is composed of element 3, element 2, element 0, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14871
void set_z(double _Value) __GPU
Set element 2 of this double_4 with a double.
Definition: amp_short_vectors.h:19822
void set_yxzw(const norm_4 &_Value) __GPU
Set element 1, 0, 2, and 3 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17998
void set_zy(const int_2 &_Value) __GPU
Set element 2, and 1 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6126
uint_3 get_zxw() const __GPU
Returns a uint_3 that is composed of element 2, element 0, and element 3 of this uint_4.
Definition: amp_short_vectors.h:3020
void set_wyxz(const norm_4 &_Value) __GPU
Set element 3, 1, 0, and 2 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18474
uint_2 & operator++() __GPU
Definition: amp_short_vectors.h:722
unsigned int get_x() const __GPU
Returns element 0 of this uint_2.
Definition: amp_short_vectors.h:549
void set_ywxz(const int_4 &_Value) __GPU
Set element 1, 3, 0, and 2 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7418
unorm_4 & operator-=(const unorm_4 &_Other) __GPU
Definition: amp_short_vectors.h:12895
void set_zwy(const float_3 &_Value) __GPU
Set element 2, 3, and 1 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10316
void set_w(float _Value) __GPU
Set element 3 of this float_4 with a float.
Definition: amp_short_vectors.h:9156
void set_zxy(const norm_3 &_Value) __GPU
Set element 2, 0, and 1 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17398
unorm_4 get_ywzx() const __GPU
Returns a unorm_4 that is composed of element 1, element 3, element 2, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14497
unorm_3(float _V0, float _V1, float _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:11923
norm_3(norm _V) __GPU
Constructor.
Definition: amp_short_vectors.h:15562
double_3 & operator++() __GPU
Definition: amp_short_vectors.h:19189
void set_wzx(const uint_3 &_Value) __GPU
Set element 3, 2, and 0 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3327
void set_zwyx(const int_4 &_Value) __GPU
Set element 2, 3, 1, and 0 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7656
norm & ref_g() __GPU
Returns reference to element 1 of this norm_2.
Definition: amp_short_vectors.h:15026
unorm_2 & operator--() __GPU
Definition: amp_short_vectors.h:11592
uint_4 get_xywz() const __GPU
Returns a uint_4 that is composed of element 0, element 1, element 3, and element 2 of this uint_4...
Definition: amp_short_vectors.h:3417
uint_2 & operator%=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:794
void set_zxy(const unorm_3 &_Value) __GPU
Set element 2, 0, and 1 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13737
void set_yxz(const unorm_3 &_Value) __GPU
Set element 1, 0, and 2 of this unorm_3 with a unorm_3.
Definition: amp_short_vectors.h:12376
void set_xyzw(const float_4 &_Value) __GPU
Set element 0, 1, 2, and 3 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10547
norm_3 get_zyx() const __GPU
Returns a norm_3 that is composed of element 2, element 1, and element 0 of this norm_3.
Definition: amp_short_vectors.h:16097
uint_2 get_zy() const __GPU
Returns a uint_2 that is composed of element 2, and element 1 of this uint_3.
Definition: amp_short_vectors.h:1501
unorm_2 get_xy() const __GPU
Returns a unorm_2 that is composed of element 0, and element 1 of this unorm_2.
Definition: amp_short_vectors.h:11664
void set_x(double _Value) __GPU
Set element 0 of this double_2 with a double.
Definition: amp_short_vectors.h:18647
int_2 get_xy() const __GPU
Returns an int_2 that is composed of element 0, and element 1 of this int_4.
Definition: amp_short_vectors.h:5892
double_2 operator-() const __GPU
Definition: amp_short_vectors.h:18784
double_3 get_xzw() const __GPU
Returns a double_3 that is composed of element 0, element 2, and element 3 of this double_4...
Definition: amp_short_vectors.h:20560
void set_xyzw(const norm_4 &_Value) __GPU
Set element 0, 1, 2, and 3 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17794
void set_zyxw(const int_4 &_Value) __GPU
Set element 2, 1, 0, and 3 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7554
unorm_4 get_zxyw() const __GPU
Returns a unorm_4 that is composed of element 2, element 0, element 1, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:14531
unorm_2 get_xy() const __GPU
Returns a unorm_2 that is composed of element 0, and element 1 of this unorm_3.
Definition: amp_short_vectors.h:12108
void set_x(norm _Value) __GPU
Set element 0 of this norm_3 with a norm.
Definition: amp_short_vectors.h:15383
Represent a short vector of 4 unorm's.
Definition: amp_short_vectors.h:12488
unorm_3 type
Definition: amp_short_vectors.h:23934
double_2 get_zy() const __GPU
Returns a double_2 that is composed of element 2, and element 1 of this double_4. ...
Definition: amp_short_vectors.h:20301
unorm_4 get_yzwx() const __GPU
Returns a unorm_4 that is composed of element 1, element 2, element 3, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14429
void set_x(float _Value) __GPU
Set element 0 of this float_4 with a float.
Definition: amp_short_vectors.h:9006
int get_y() const __GPU
Returns element 1 of this int_4.
Definition: amp_short_vectors.h:5479
void set_zyxw(const uint_4 &_Value) __GPU
Set element 2, 1, 0, and 3 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3869
void set_xzw(const unorm_3 &_Value) __GPU
Set element 0, 2, and 3 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13440
void set_wyxz(const double_4 &_Value) __GPU
Set element 3, 1, 0, and 2 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21943
graphics::int_4 int4
Definition: amp_short_vectors.h:23813
norm_4 get_zwyx() const __GPU
Returns a norm_4 that is composed of element 2, element 3, element 1, and element 0 of this norm_4...
Definition: amp_short_vectors.h:18362
double_3 get_zxy() const __GPU
Returns a double_3 that is composed of element 2, element 0, and element 1 of this double_3...
Definition: amp_short_vectors.h:19607
void set_zxy(const uint_3 &_Value) __GPU
Set element 2, 0, and 1 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2997
graphics::uint_3 uint3
Definition: amp_short_vectors.h:23809
double & ref_g() __GPU
Returns reference to element 1 of this double_4.
Definition: amp_short_vectors.h:19762
void set_zwyx(const norm_4 &_Value) __GPU
Set element 2, 3, 1, and 0 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18372
void set_wzyx(const uint_4 &_Value) __GPU
Set element 3, 2, 1, and 0 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:4175
int_4 get_wxyz() const __GPU
Returns an int_4 that is composed of element 3, element 0, element 1, and element 2 of this int_4...
Definition: amp_short_vectors.h:7680
void set_xzy(const int_3 &_Value) __GPU
Set element 0, 2, and 1 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6352
float_2 get_wz() const __GPU
Returns a float_2 that is composed of element 3, and element 2 of this float_4.
Definition: amp_short_vectors.h:9713
uint_2 & operator&=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:824
value_type _M_y
Definition: amp_short_vectors.h:1730
int_4(int _V) __GPU
Constructor.
Definition: amp_short_vectors.h:5655
norm_2 & operator+=(const norm_2 &_Other) __GPU
Definition: amp_short_vectors.h:15215
short_vector_traits allows retrival of the underlying vector length and scalar type of a short vector...
Definition: amp_short_vectors.h:23997
void set_wyx(const double_3 &_Value) __GPU
Set element 3, 1, and 0 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21131
void set_x(unorm _Value) __GPU
Set element 0 of this unorm_2 with a unorm.
Definition: amp_short_vectors.h:11400
void set_yzxw(const float_4 &_Value) __GPU
Set element 1, 2, 0, and 3 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10819
norm_4 get_zywx() const __GPU
Returns a norm_4 that is composed of element 2, element 1, element 3, and element 0 of this norm_4...
Definition: amp_short_vectors.h:18294
void set_xz(const norm_2 &_Value) __GPU
Set element 0, and 2 of this norm_3 with a norm_2.
Definition: amp_short_vectors.h:15782
float_4 get_yzwx() const __GPU
Returns a float_4 that is composed of element 1, element 2, element 3, and element 0 of this float_4...
Definition: amp_short_vectors.h:10843
uint_4 & operator*=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2095
void set_wzxy(const uint_4 &_Value) __GPU
Set element 3, 2, 0, and 1 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:4141
uint_2 get_zy() const __GPU
Returns a uint_2 that is composed of element 2, and element 1 of this uint_4.
Definition: amp_short_vectors.h:2431
__declspec(property(get=get_x, put=set_x)) int x
Property for accessing element 0 of this int_4 as an int.
#define __CPU_ONLY
Definition: amprt.h:47
uint_3 get_ywx() const __GPU
Returns a uint_3 that is composed of element 1, element 3, and element 0 of this uint_4.
Definition: amp_short_vectors.h:2921
norm_4 get_xywz() const __GPU
Returns a norm_4 that is composed of element 0, element 1, element 3, and element 2 of this norm_4...
Definition: amp_short_vectors.h:17818
int_3 get_zyx() const __GPU
Returns an int_3 that is composed of element 2, element 1, and element 0 of this int_4.
Definition: amp_short_vectors.h:6738
norm_4 get_zxyw() const __GPU
Returns a norm_4 that is composed of element 2, element 0, element 1, and element 3 of this norm_4...
Definition: amp_short_vectors.h:18192
unorm operator++(int) __GPU
Definition: amp_short_vectors.h:180
unorm_2 get_yx() const __GPU
Returns a unorm_2 that is composed of element 1, and element 0 of this unorm_4.
Definition: amp_short_vectors.h:13043
Represent a short vector of 2 double's.
Definition: amp_short_vectors.h:18590
void set_zx(const int_2 &_Value) __GPU
Set element 2, and 0 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6094
uint_4 operator--(int) __GPU
Definition: amp_short_vectors.h:2064
float value_type
Definition: amp_short_vectors.h:24078
uint_3 get_yzx() const __GPU
Returns a uint_3 that is composed of element 1, element 2, and element 0 of this uint_3.
Definition: amp_short_vectors.h:1632
int_2 & operator<<=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4517
void set_z(unsigned int _Value) __GPU
Set element 2 of this uint_3 with an unsigned int.
Definition: amp_short_vectors.h:1082
norm_4 operator--(int) __GPU
Definition: amp_short_vectors.h:16537
void set_zxyw(const uint_4 &_Value) __GPU
Set element 2, 0, 1, and 3 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3801
void set_yxz(const uint_3 &_Value) __GPU
Set element 1, 0, and 2 of this uint_3 with a uint_3.
Definition: amp_short_vectors.h:1609
norm_3 get_xwz() const __GPU
Returns a norm_3 that is composed of element 0, element 3, and element 2 of this norm_4.
Definition: amp_short_vectors.h:17157
norm_2(norm _V) __GPU
Constructor.
Definition: amp_short_vectors.h:15102
void set_xyw(const int_3 &_Value) __GPU
Set element 0, 1, and 3 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6319
uint_4 operator~() const __GPU
Definition: amp_short_vectors.h:2029
void set_zyw(const unorm_3 &_Value) __GPU
Set element 2, 1, and 3 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13836
norm_2 get_zx() const __GPU
Returns a norm_2 that is composed of element 2, and element 0 of this norm_4.
Definition: amp_short_vectors.h:16800
unorm_4 get_yxwz() const __GPU
Returns a unorm_4 that is composed of element 1, element 0, element 3, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14361
norm_4 operator++(int) __GPU
Definition: amp_short_vectors.h:16519
norm & ref_w() __GPU
Returns reference to element 3 of this norm_4.
Definition: amp_short_vectors.h:16309
void set_wxz(const float_3 &_Value) __GPU
Set element 3, 0, and 2 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10382
void set_wzyx(const float_4 &_Value) __GPU
Set element 3, 2, 1, and 0 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11329
void set_zwxy(const norm_4 &_Value) __GPU
Set element 2, 3, 0, and 1 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18338
void set_zyw(const float_3 &_Value) __GPU
Set element 2, 1, and 3 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10250
int_3 type
Definition: amp_short_vectors.h:23886
unorm & ref_a() __GPU
Returns reference to element 3 of this unorm_4.
Definition: amp_short_vectors.h:12687
void set_zwy(const uint_3 &_Value) __GPU
Set element 2, 3, and 1 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3162
double_2 get_xw() const __GPU
Returns a double_2 that is composed of element 0, and element 3 of this double_4. ...
Definition: amp_short_vectors.h:20141
unorm_4(float _V) __GPU
Definition: amp_short_vectors.h:12774
norm_4 get_zyxw() const __GPU
Returns a norm_4 that is composed of element 2, element 1, element 0, and element 3 of this norm_4...
Definition: amp_short_vectors.h:18260
int & ref_z() __GPU
Returns reference to element 2 of this int_3.
Definition: amp_short_vectors.h:4735
int value_type
Definition: amp_short_vectors.h:24036
uint_3 get_xzy() const __GPU
Returns a uint_3 that is composed of element 0, element 2, and element 1 of this uint_4.
Definition: amp_short_vectors.h:2657
float_4 get_wyxz() const __GPU
Returns a float_4 that is composed of element 3, element 1, element 0, and element 2 of this float_4...
Definition: amp_short_vectors.h:11217
unsigned int get_w() const __GPU
Returns element 3 of this uint_4.
Definition: amp_short_vectors.h:1900
unorm_3 get_wxz() const __GPU
Returns a unorm_3 that is composed of element 3, element 0, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:13958
int_2 & operator/=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4457
double_4 & operator+=(const double_4 &_Other) __GPU
Definition: amp_short_vectors.h:20013
unorm_3 get_xyw() const __GPU
Returns a unorm_3 that is composed of element 0, element 1, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:13364
int_2 get_xw() const __GPU
Returns an int_2 that is composed of element 0, and element 3 of this int_4.
Definition: amp_short_vectors.h:5956
norm get_x() const __GPU
Returns element 0 of this norm_3.
Definition: amp_short_vectors.h:15353
void set_yxzw(const float_4 &_Value) __GPU
Set element 1, 0, 2, and 3 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10751
double_4 get_ywzx() const __GPU
Returns a double_4 that is composed of element 1, element 3, element 2, and element 0 of this double_...
Definition: amp_short_vectors.h:21627
int & ref_a() __GPU
Returns reference to element 3 of this int_4.
Definition: amp_short_vectors.h:5599
uint_2 & operator-=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:764
unsigned int & ref_r() __GPU
Returns reference to element 0 of this uint_4.
Definition: amp_short_vectors.h:1770
value_type _M_z
Definition: amp_short_vectors.h:4607
float_3 get_xyz() const __GPU
Returns a float_3 that is composed of element 0, element 1, and element 2 of this float_3...
Definition: amp_short_vectors.h:8759
void set_xyzw(const uint_4 &_Value) __GPU
Set element 0, 1, 2, and 3 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3393
void set_zxyw(const int_4 &_Value) __GPU
Set element 2, 0, 1, and 3 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7486
int_2 get_yz() const __GPU
Returns an int_2 that is composed of element 1, and element 2 of this int_3.
Definition: amp_short_vectors.h:5116
int_2 & operator+=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4427
void set_zxwy(const uint_4 &_Value) __GPU
Set element 2, 0, 3, and 1 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3835
void set_xw(const int_2 &_Value) __GPU
Set element 0, and 3 of this int_4 with an int_2.
Definition: amp_short_vectors.h:5966
value_type _M_y
Definition: amp_short_vectors.h:4606
void set_yx(const unorm_2 &_Value) __GPU
Set element 1, and 0 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13053
double_3 get_wyz() const __GPU
Returns a double_3 that is composed of element 3, element 1, and element 2 of this double_4...
Definition: amp_short_vectors.h:21154
void set_wzxy(const int_4 &_Value) __GPU
Set element 3, 2, 0, and 1 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7826
int_2 get_wx() const __GPU
Returns an int_2 that is composed of element 3, and element 0 of this int_4.
Definition: amp_short_vectors.h:6180
double_4 get_wyxz() const __GPU
Returns a double_4 that is composed of element 3, element 1, element 0, and element 2 of this double_...
Definition: amp_short_vectors.h:21933
float & ref_x() __GPU
Returns reference to element 0 of this float_4.
Definition: amp_short_vectors.h:8986
void set_zxwy(const norm_4 &_Value) __GPU
Set element 2, 0, 3, and 1 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18236
float_2 get_zw() const __GPU
Returns a float_2 that is composed of element 2, and element 3 of this float_4.
Definition: amp_short_vectors.h:9617
void set_wzy(const unorm_3 &_Value) __GPU
Set element 3, 2, and 1 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:14100
int_4 & operator%=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5804
void set_yzx(const unorm_3 &_Value) __GPU
Set element 1, 2, and 0 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13605
double_4 get_wzyx() const __GPU
Returns a double_4 that is composed of element 3, element 2, element 1, and element 0 of this double_...
Definition: amp_short_vectors.h:22035
double & ref_y() __GPU
Returns reference to element 1 of this double_3.
Definition: amp_short_vectors.h:19020
uint_2 get_xy() const __GPU
Returns a uint_2 that is composed of element 0, and element 1 of this uint_2.
Definition: amp_short_vectors.h:870
double_3 get_yzw() const __GPU
Returns a double_3 that is composed of element 1, element 2, and element 3 of this double_4...
Definition: amp_short_vectors.h:20758
int_2 & operator++() __GPU
Definition: amp_short_vectors.h:4395
void set_x(double _Value) __GPU
Set element 0 of this double_3 with a double.
Definition: amp_short_vectors.h:18990
value_type _M_y
Definition: amp_short_vectors.h:5409
void set_xwz(const uint_3 &_Value) __GPU
Set element 0, 3, and 2 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2766
unorm_3 get_yxz() const __GPU
Returns a unorm_3 that is composed of element 1, element 0, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:13529
value_type _M_y
Definition: amp_short_vectors.h:18941
int_4 get_zwyx() const __GPU
Returns an int_4 that is composed of element 2, element 3, element 1, and element 0 of this int_4...
Definition: amp_short_vectors.h:7646
double & ref_z() __GPU
Returns reference to element 2 of this double_3.
Definition: amp_short_vectors.h:19070
double_2 get_xz() const __GPU
Returns a double_2 that is composed of element 0, and element 2 of this double_4. ...
Definition: amp_short_vectors.h:20109
unorm_3(const unorm_3 &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:11956
uint_3 get_yxw() const __GPU
Returns a uint_3 that is composed of element 1, element 0, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2822
void set_zy(const double_2 &_Value) __GPU
Set element 2, and 1 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20311
void set_ywzx(const uint_4 &_Value) __GPU
Set element 1, 3, 2, and 0 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3767
unorm_4 get_zywx() const __GPU
Returns a unorm_4 that is composed of element 2, element 1, element 3, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14633
unorm_3 & operator-=(const unorm_3 &_Other) __GPU
Definition: amp_short_vectors.h:12059
int & ref_b() __GPU
Returns reference to element 2 of this int_4.
Definition: amp_short_vectors.h:5549
unorm value_type
Definition: amp_short_vectors.h:24092
double_3() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:19099
void set_yzx(const norm_3 &_Value) __GPU
Set element 1, 2, and 0 of this norm_3 with a norm_3.
Definition: amp_short_vectors.h:16041
void set_xy(const int_2 &_Value) __GPU
Set element 0, and 1 of this int_4 with an int_2.
Definition: amp_short_vectors.h:5902
double_4 & operator-=(const double_4 &_Other) __GPU
Definition: amp_short_vectors.h:20025
void set_xy(const double_2 &_Value) __GPU
Set element 0, and 1 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20087
__declspec(property(get=get_x, put=set_x)) double x
Property for accessing element 0 of this double_2 as a double.
void set_yxw(const double_3 &_Value) __GPU
Set element 1, 0, and 3 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20702
unorm get_x() const __GPU
Returns element 0 of this unorm_4.
Definition: amp_short_vectors.h:12517
Represent a short vector of 3 float's.
Definition: amp_short_vectors.h:8216
value_type _M_z
Definition: amp_short_vectors.h:5410
__declspec(property(get=get_x, put=set_x)) float x
Property for accessing element 0 of this float_4 as a float.
double_2 & operator+=(const double_2 &_Other) __GPU
Definition: amp_short_vectors.h:18822
uint_2 & operator--() __GPU
Definition: amp_short_vectors.h:738
void set_ywxz(const unorm_4 &_Value) __GPU
Set element 1, 3, 0, and 2 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14473
float_3 get_ywz() const __GPU
Returns a float_3 that is composed of element 1, element 3, and element 2 of this float_4...
Definition: amp_short_vectors.h:10108
unsigned int & ref_z() __GPU
Returns reference to element 2 of this uint_3.
Definition: amp_short_vectors.h:1062
Represent a short vector of 4 int's.
Definition: amp_short_vectors.h:5400
double_2 get_wx() const __GPU
Returns a double_2 that is composed of element 3, and element 0 of this double_4. ...
Definition: amp_short_vectors.h:20365
graphics::unorm_2 unorm2
Definition: amp_short_vectors.h:23817
void set_xzy(const uint_3 &_Value) __GPU
Set element 0, 2, and 1 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2667
void set_xwy(const double_3 &_Value) __GPU
Set element 0, 3, and 1 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20603
unorm_3 get_wzy() const __GPU
Returns a unorm_3 that is composed of element 3, element 2, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14090
void set_xwzy(const double_4 &_Value) __GPU
Set element 0, 3, 2, and 1 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21433
norm get_y() const __GPU
Returns element 1 of this norm_2.
Definition: amp_short_vectors.h:15006
int_2 get_wy() const __GPU
Returns an int_2 that is composed of element 3, and element 1 of this int_4.
Definition: amp_short_vectors.h:6212
value_type _M_z
Definition: amp_short_vectors.h:12498
void set_zyx(const uint_3 &_Value) __GPU
Set element 2, 1, and 0 of this uint_3 with a uint_3.
Definition: amp_short_vectors.h:1708
int_2 get_yx() const __GPU
Returns an int_2 that is composed of element 1, and element 0 of this int_3.
Definition: amp_short_vectors.h:5084
void set_ywx(const float_3 &_Value) __GPU
Set element 1, 3, and 0 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10085
unorm_4(unorm _V) __GPU
Constructor.
Definition: amp_short_vectors.h:12766
float_3(float _V0, float _V1, float _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:8402
unsigned int value_type
Definition: amp_short_vectors.h:24015
unsigned int get_x() const __GPU
Returns element 0 of this uint_4.
Definition: amp_short_vectors.h:1750
__declspec(property(get=get_x, put=set_x)) unorm x
Property for accessing element 0 of this unorm_3 as a unorm.
unorm_3(unorm _V0, unorm _V1, unorm _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:11904
__declspec(property(get=get_x, put=set_x)) norm x
Property for accessing element 0 of this norm_2 as a norm.
value_type _M_y
Definition: amp_short_vectors.h:14938
unorm_2(unorm _V0, unorm _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:11474
float value_type
Definition: amp_short_vectors.h:24071
norm_2 get_yx() const __GPU
Returns a norm_2 that is composed of element 1, and element 0 of this norm_2.
Definition: amp_short_vectors.h:15303
void set_xzy(const unorm_3 &_Value) __GPU
Set element 0, 2, and 1 of this unorm_3 with a unorm_3.
Definition: amp_short_vectors.h:12343
unorm & ref_y() __GPU
Returns reference to element 1 of this unorm_4.
Definition: amp_short_vectors.h:12577
uint_3 get_xzw() const __GPU
Returns a uint_3 that is composed of element 0, element 2, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2690
float_3 & operator++() __GPU
Definition: amp_short_vectors.h:8473
unorm_3 get_yzw() const __GPU
Returns a unorm_3 that is composed of element 1, element 2, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:13628
float & ref_r() __GPU
Returns reference to element 0 of this float_4.
Definition: amp_short_vectors.h:8996
double_3 operator++(int) __GPU
Definition: amp_short_vectors.h:19199
double & ref_b() __GPU
Returns reference to element 2 of this double_4.
Definition: amp_short_vectors.h:19812
value_type _M_y
Definition: amp_short_vectors.h:11352
short_vector_traits()
Definition: amp_short_vectors.h:23999
void set_wxy(const uint_3 &_Value) __GPU
Set element 3, 0, and 1 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3195
uint_4 & operator+=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2071
graphics::double_3 double3
Definition: amp_short_vectors.h:23824
norm_3 & operator/=(const norm_3 &_Other) __GPU
Definition: amp_short_vectors.h:15713
float_2 get_zx() const __GPU
Returns a float_2 that is composed of element 2, and element 0 of this float_3.
Definition: amp_short_vectors.h:8695
void set_xz(const double_2 &_Value) __GPU
Set element 0, and 2 of this double_3 with a double_2.
Definition: amp_short_vectors.h:19325
unorm_2 get_yz() const __GPU
Returns a unorm_2 that is composed of element 1, and element 2 of this unorm_3.
Definition: amp_short_vectors.h:12204
double get_y() const __GPU
Returns element 1 of this double_3.
Definition: amp_short_vectors.h:19010
void set_wzx(const norm_3 &_Value) __GPU
Set element 3, 2, and 0 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17728
int & ref_y() __GPU
Returns reference to element 1 of this int_2.
Definition: amp_short_vectors.h:4276
int & ref_g() __GPU
Returns reference to element 1 of this int_3.
Definition: amp_short_vectors.h:4695
double get_z() const __GPU
Returns element 2 of this double_3.
Definition: amp_short_vectors.h:19060
float_4 get_yxzw() const __GPU
Returns a float_4 that is composed of element 1, element 0, element 2, and element 3 of this float_4...
Definition: amp_short_vectors.h:10741
void set_xzy(const norm_3 &_Value) __GPU
Set element 0, 2, and 1 of this norm_3 with a norm_3.
Definition: amp_short_vectors.h:15975
float_2 get_yx() const __GPU
Returns a float_2 that is composed of element 1, and element 0 of this float_4.
Definition: amp_short_vectors.h:9457
float get_y() const __GPU
Returns element 1 of this float_4.
Definition: amp_short_vectors.h:9026
unorm_4 get_xwzy() const __GPU
Returns a unorm_4 that is composed of element 0, element 3, element 2, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14293
int_2 get_xy() const __GPU
Returns an int_2 that is composed of element 0, and element 1 of this int_3.
Definition: amp_short_vectors.h:5020
double_4 get_wxyz() const __GPU
Returns a double_4 that is composed of element 3, element 0, element 1, and element 2 of this double_...
Definition: amp_short_vectors.h:21865
value_type _M_w
Definition: amp_short_vectors.h:16131
unorm(void) __GPU
Default constructor. Initialize to 0.0f.
Definition: amp_short_vectors.h:58
void set_wxy(const float_3 &_Value) __GPU
Set element 3, 0, and 1 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10349
void set_yx(const float_2 &_Value) __GPU
Set element 1, and 0 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9467
value_type _M_x
Definition: amp_short_vectors.h:12496
static const _Short_vector_base_type_id _Base_type_id
Definition: amp_short_vectors.h:528
float _Value
Definition: amp_short_vectors.h:41
unorm type
Definition: amp_short_vectors.h:23922
int_4 get_xywz() const __GPU
Returns an int_4 that is composed of element 0, element 1, element 3, and element 2 of this int_4...
Definition: amp_short_vectors.h:7102
norm_3 & operator--() __GPU
Definition: amp_short_vectors.h:15663
void set_zxy(const unorm_3 &_Value) __GPU
Set element 2, 0, and 1 of this unorm_3 with a unorm_3.
Definition: amp_short_vectors.h:12442
void set_y(int _Value) __GPU
Set element 1 of this int_3 with an int.
Definition: amp_short_vectors.h:4705
unorm value_type
Definition: amp_short_vectors.h:24106
void set_xw(const uint_2 &_Value) __GPU
Set element 0, and 3 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2281
void set_wxz(const unorm_3 &_Value) __GPU
Set element 3, 0, and 2 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13968
int value_type
Definition: amp_short_vectors.h:24057
float_3 get_xzy() const __GPU
Returns a float_3 that is composed of element 0, element 2, and element 1 of this float_4...
Definition: amp_short_vectors.h:9811
unorm(unsigned int _V) __GPU
Constructor. Initialize by casting _V to float, then clamping to the range of [0.0f, 1.0f].
Definition: amp_short_vectors.h:80
float value_type
Definition: amp_short_vectors.h:8950
norm & ref_r() __GPU
Returns reference to element 0 of this norm_4.
Definition: amp_short_vectors.h:16169
float_2 & operator/=(const float_2 &_Other) __GPU
Definition: amp_short_vectors.h:8136
double_3 get_wxz() const __GPU
Returns a double_3 that is composed of element 3, element 0, and element 2 of this double_4...
Definition: amp_short_vectors.h:21088
norm_3() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:15492
int_4 get_zxyw() const __GPU
Returns an int_4 that is composed of element 2, element 0, element 1, and element 3 of this int_4...
Definition: amp_short_vectors.h:7476
unorm_3 get_yxw() const __GPU
Returns a unorm_3 that is composed of element 1, element 0, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:13562
norm & ref_b() __GPU
Returns reference to element 2 of this norm_3.
Definition: amp_short_vectors.h:15473
uint_2 get_yw() const __GPU
Returns a uint_2 that is composed of element 1, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2367
float & ref_b() __GPU
Returns reference to element 2 of this float_3.
Definition: amp_short_vectors.h:8364
float_2 get_yx() const __GPU
Returns a float_2 that is composed of element 1, and element 0 of this float_2.
Definition: amp_short_vectors.h:8194
unorm operator--(int) __GPU
Definition: amp_short_vectors.h:195
double_4 get_xywz() const __GPU
Returns a double_4 that is composed of element 0, element 1, element 3, and element 2 of this double_...
Definition: amp_short_vectors.h:21287
graphics::int_2 int2
Definition: amp_short_vectors.h:23811
void set_yz(const norm_2 &_Value) __GPU
Set element 1, and 2 of this norm_3 with a norm_2.
Definition: amp_short_vectors.h:15846
int_3 get_xyz() const __GPU
Returns an int_3 that is composed of element 0, element 1, and element 2 of this int_3.
Definition: amp_short_vectors.h:5212
void set_ywxz(const norm_4 &_Value) __GPU
Set element 1, 3, 0, and 2 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18134
double_4() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:19881
void set_xz(const int_2 &_Value) __GPU
Set element 0, and 2 of this int_4 with an int_2.
Definition: amp_short_vectors.h:5934
int_2 get_wz() const __GPU
Returns an int_2 that is composed of element 3, and element 2 of this int_4.
Definition: amp_short_vectors.h:6244
void set_yx(const float_2 &_Value) __GPU
Set element 1, and 0 of this float_2 with a float_2.
Definition: amp_short_vectors.h:8204
graphics::unorm_4 unorm4
Definition: amp_short_vectors.h:23819
void set_wxzy(const float_4 &_Value) __GPU
Set element 3, 0, 2, and 1 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11193
unsigned int get_y() const __GPU
Returns element 1 of this uint_3.
Definition: amp_short_vectors.h:1002
void set_yzxw(const double_4 &_Value) __GPU
Set element 1, 2, 0, and 3 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21535
int get_y() const __GPU
Returns element 1 of this int_2.
Definition: amp_short_vectors.h:4266
int_2 get_xz() const __GPU
Returns an int_2 that is composed of element 0, and element 2 of this int_4.
Definition: amp_short_vectors.h:5924
void set_wzxy(const norm_4 &_Value) __GPU
Set element 3, 2, 0, and 1 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18542
int_3 get_zwy() const __GPU
Returns an int_3 that is composed of element 2, element 3, and element 1 of this int_4.
Definition: amp_short_vectors.h:6837
double_4 get_yzxw() const __GPU
Returns a double_4 that is composed of element 1, element 2, element 0, and element 3 of this double_...
Definition: amp_short_vectors.h:21525
void set_y(unorm _Value) __GPU
Set element 1 of this unorm_2 with a unorm.
Definition: amp_short_vectors.h:11450
double get_y() const __GPU
Returns element 1 of this double_2.
Definition: amp_short_vectors.h:18667
float_4 type
Definition: amp_short_vectors.h:23916
norm operator--(int) __GPU
Definition: amp_short_vectors.h:369
float_3 & operator-=(const float_3 &_Other) __GPU
Definition: amp_short_vectors.h:8518
int_2 get_zx() const __GPU
Returns an int_2 that is composed of element 2, and element 0 of this int_3.
Definition: amp_short_vectors.h:5148
uint_2 get_yx() const __GPU
Returns a uint_2 that is composed of element 1, and element 0 of this uint_2.
Definition: amp_short_vectors.h:902
void set_yx(const int_2 &_Value) __GPU
Set element 1, and 0 of this int_4 with an int_2.
Definition: amp_short_vectors.h:5998
void set_yzw(const int_3 &_Value) __GPU
Set element 1, 2, and 3 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6583
void set_y(double _Value) __GPU
Set element 1 of this double_2 with a double.
Definition: amp_short_vectors.h:18697
void set_wyxz(const float_4 &_Value) __GPU
Set element 3, 1, 0, and 2 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11227
void set_ywxz(const double_4 &_Value) __GPU
Set element 1, 3, 0, and 2 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21603
float & ref_x() __GPU
Returns reference to element 0 of this float_3.
Definition: amp_short_vectors.h:8254
norm_4() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:16338
__declspec(property(get=get_x, put=set_x)) int x
Property for accessing element 0 of this int_2 as an int.
void set_zywx(const int_4 &_Value) __GPU
Set element 2, 1, 3, and 0 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7588
void set_zy(const double_2 &_Value) __GPU
Set element 2, and 1 of this double_3 with a double_2.
Definition: amp_short_vectors.h:19453
unorm & ref_b() __GPU
Returns reference to element 2 of this unorm_4.
Definition: amp_short_vectors.h:12637
float_3 operator--(int) __GPU
Definition: amp_short_vectors.h:8500
double_3 get_zwx() const __GPU
Returns a double_3 that is composed of element 2, element 3, and element 0 of this double_4...
Definition: amp_short_vectors.h:20989
void set_y(unorm _Value) __GPU
Set element 1 of this unorm_4 with a unorm.
Definition: amp_short_vectors.h:12597
void set_zwx(const uint_3 &_Value) __GPU
Set element 2, 3, and 0 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3129
unorm_4 get_wxzy() const __GPU
Returns a unorm_4 that is composed of element 3, element 0, element 2, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:14769
__declspec(property(get=get_x, put=set_x)) unsigned int x
Property for accessing element 0 of this uint_4 as an unsigned int.
norm_3(unorm _V0, unorm _V1, unorm _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:15549
int_2 operator~() const __GPU
Definition: amp_short_vectors.h:4383
void set_yw(const unorm_2 &_Value) __GPU
Set element 1, and 3 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13117
void set_zxy(const float_3 &_Value) __GPU
Set element 2, 0, and 1 of this float_3 with a float_3.
Definition: amp_short_vectors.h:8901
norm_2(norm _V0, norm _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:15060
float_3 get_yzx() const __GPU
Returns a float_3 that is composed of element 1, element 2, and element 0 of this float_4...
Definition: amp_short_vectors.h:10009
double & ref_z() __GPU
Returns reference to element 2 of this double_4.
Definition: amp_short_vectors.h:19802
void set_yxwz(const norm_4 &_Value) __GPU
Set element 1, 0, 3, and 2 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18032
unorm_3 get_xzy() const __GPU
Returns a unorm_3 that is composed of element 0, element 2, and element 1 of this unorm_4...
Definition: amp_short_vectors.h:13397
int_2 & operator>>=(const int_2 &_Other) __GPU
Definition: amp_short_vectors.h:4507
unsigned int value_type
Definition: amp_short_vectors.h:525
norm_3 get_xyz() const __GPU
Returns a norm_3 that is composed of element 0, element 1, and element 2 of this norm_3.
Definition: amp_short_vectors.h:15932
norm_2 get_zx() const __GPU
Returns a norm_2 that is composed of element 2, and element 0 of this norm_3.
Definition: amp_short_vectors.h:15868
void set_ywz(const unorm_3 &_Value) __GPU
Set element 1, 3, and 2 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13704
int_4 get_xzyw() const __GPU
Returns an int_4 that is composed of element 0, element 2, element 1, and element 3 of this int_4...
Definition: amp_short_vectors.h:7136
int_4() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:5618
void set_yxw(const unorm_3 &_Value) __GPU
Set element 1, 0, and 3 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13572
norm_3 get_wzx() const __GPU
Returns a norm_3 that is composed of element 3, element 2, and element 0 of this norm_4.
Definition: amp_short_vectors.h:17718
void set_yw(const double_2 &_Value) __GPU
Set element 1, and 3 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20247
unorm_3 & operator--() __GPU
Definition: amp_short_vectors.h:12031
norm_3 get_yzx() const __GPU
Returns a norm_3 that is composed of element 1, element 2, and element 0 of this norm_4.
Definition: amp_short_vectors.h:17256
void set_xw(const float_2 &_Value) __GPU
Set element 0, and 3 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9435
void set_yzx(const uint_3 &_Value) __GPU
Set element 1, 2, and 0 of this uint_3 with a uint_3.
Definition: amp_short_vectors.h:1642
uint_2 operator--(int) __GPU
Definition: amp_short_vectors.h:747
void set_z(int _Value) __GPU
Set element 2 of this int_4 with an int.
Definition: amp_short_vectors.h:5559
int_3 get_ywz() const __GPU
Returns an int_3 that is composed of element 1, element 3, and element 2 of this int_4.
Definition: amp_short_vectors.h:6639
_Set(0)
unorm_2 get_zx() const __GPU
Returns a unorm_2 that is composed of element 2, and element 0 of this unorm_4.
Definition: amp_short_vectors.h:13139
uint_2 & operator^=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:804
void set_wxzy(const uint_4 &_Value) __GPU
Set element 3, 0, 2, and 1 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:4039
void set_zx(const unorm_2 &_Value) __GPU
Set element 2, and 0 of this unorm_3 with a unorm_2.
Definition: amp_short_vectors.h:12246
uint_2 get_wy() const __GPU
Returns a uint_2 that is composed of element 3, and element 1 of this uint_4.
Definition: amp_short_vectors.h:2527
int_3 & operator--() __GPU
Definition: amp_short_vectors.h:4877
float_2 get_yx() const __GPU
Returns a float_2 that is composed of element 1, and element 0 of this float_3.
Definition: amp_short_vectors.h:8631
void set_xy(const int_2 &_Value) __GPU
Set element 0, and 1 of this int_3 with an int_2.
Definition: amp_short_vectors.h:5030
unorm(const unorm &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:113
void set_z(norm _Value) __GPU
Set element 2 of this norm_3 with a norm.
Definition: amp_short_vectors.h:15483
void set_zx(const float_2 &_Value) __GPU
Set element 2, and 0 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9563
unsigned int & ref_a() __GPU
Returns reference to element 3 of this uint_4.
Definition: amp_short_vectors.h:1920
norm value_type
Definition: amp_short_vectors.h:24127
void set_xy(const double_2 &_Value) __GPU
Set element 0, and 1 of this double_2 with a double_2.
Definition: amp_short_vectors.h:18888
double_4 get_zxyw() const __GPU
Returns a double_4 that is composed of element 2, element 0, element 1, and element 3 of this double_...
Definition: amp_short_vectors.h:21661
void set_zxyw(const double_4 &_Value) __GPU
Set element 2, 0, 1, and 3 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21671
norm get_z() const __GPU
Returns element 2 of this norm_4.
Definition: amp_short_vectors.h:16249
norm & ref_a() __GPU
Returns reference to element 3 of this norm_4.
Definition: amp_short_vectors.h:16319
double_2 get_xy() const __GPU
Returns a double_2 that is composed of element 0, and element 1 of this double_4. ...
Definition: amp_short_vectors.h:20077
unorm_4 & operator=(const unorm_4 &_Other) __GPU
Definition: amp_short_vectors.h:12793
float_3 get_zwy() const __GPU
Returns a float_3 that is composed of element 2, element 3, and element 1 of this float_4...
Definition: amp_short_vectors.h:10306
void set_y(float _Value) __GPU
Set element 1 of this float_2 with a float.
Definition: amp_short_vectors.h:7981
void set_ywz(const uint_3 &_Value) __GPU
Set element 1, 3, and 2 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2964
int & ref_x() __GPU
Returns reference to element 0 of this int_3.
Definition: amp_short_vectors.h:4635
int & ref_r() __GPU
Returns reference to element 0 of this int_3.
Definition: amp_short_vectors.h:4645
int_3 & operator-=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4905
unorm_4(unorm _V0, unorm _V1, unorm _V2, unorm _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:12729
uint_2(unsigned int _V) __GPU
Constructor.
Definition: amp_short_vectors.h:665
norm_4 get_yxzw() const __GPU
Returns a norm_4 that is composed of element 1, element 0, element 2, and element 3 of this norm_4...
Definition: amp_short_vectors.h:17988
void set_xwzy(const unorm_4 &_Value) __GPU
Set element 0, 3, 2, and 1 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14303
unorm & operator*=(const unorm &_Other) __GPU
Definition: amp_short_vectors.h:156
unorm_3 get_zyw() const __GPU
Returns a unorm_3 that is composed of element 2, element 1, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:13826
void set_xzy(const uint_3 &_Value) __GPU
Set element 0, 2, and 1 of this uint_3 with a uint_3.
Definition: amp_short_vectors.h:1576
float_3 get_zxy() const __GPU
Returns a float_3 that is composed of element 2, element 0, and element 1 of this float_4...
Definition: amp_short_vectors.h:10141
double value_type
Definition: amp_short_vectors.h:24148
float_4 & operator-=(const float_4 &_Other) __GPU
Definition: amp_short_vectors.h:9309
unorm & operator++() __GPU
Definition: amp_short_vectors.h:172
float get_z() const __GPU
Returns element 2 of this float_3.
Definition: amp_short_vectors.h:8344
int_4 & operator+=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5756
uint_2 get_yz() const __GPU
Returns a uint_2 that is composed of element 1, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2335
norm_3 get_zyw() const __GPU
Returns a norm_3 that is composed of element 2, element 1, and element 3 of this norm_4.
Definition: amp_short_vectors.h:17487
uint_4 get_ywxz() const __GPU
Returns a uint_4 that is composed of element 1, element 3, element 0, and element 2 of this uint_4...
Definition: amp_short_vectors.h:3723
float_2 get_xz() const __GPU
Returns a float_2 that is composed of element 0, and element 2 of this float_4.
Definition: amp_short_vectors.h:9393
float_2 & operator+=(const float_2 &_Other) __GPU
Definition: amp_short_vectors.h:8106
uint_4 get_zxyw() const __GPU
Returns a uint_4 that is composed of element 2, element 0, element 1, and element 3 of this uint_4...
Definition: amp_short_vectors.h:3791
void set_xwz(const float_3 &_Value) __GPU
Set element 0, 3, and 2 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9920
value_type _M_z
Definition: amp_short_vectors.h:16130
unorm_3(float _V) __GPU
Definition: amp_short_vectors.h:11943
int_3(int _V0, int _V1, int _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:4783
uint_3 operator++(int) __GPU
Definition: amp_short_vectors.h:1191
norm_4 get_wzyx() const __GPU
Returns a norm_4 that is composed of element 3, element 2, element 1, and element 0 of this norm_4...
Definition: amp_short_vectors.h:18566
value_type _M_x
Definition: amp_short_vectors.h:19671
void set_zwyx(const unorm_4 &_Value) __GPU
Set element 2, 3, 1, and 0 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14711
void set_wyxz(const uint_4 &_Value) __GPU
Set element 3, 1, 0, and 2 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:4073
int_4 get_xzwy() const __GPU
Returns an int_4 that is composed of element 0, element 2, element 3, and element 1 of this int_4...
Definition: amp_short_vectors.h:7170
void set_y(double _Value) __GPU
Set element 1 of this double_3 with a double.
Definition: amp_short_vectors.h:19040
void set_wzy(const int_3 &_Value) __GPU
Set element 3, 2, and 1 of this int_4 with an int_3.
Definition: amp_short_vectors.h:7045
float_2 get_yz() const __GPU
Returns a float_2 that is composed of element 1, and element 2 of this float_3.
Definition: amp_short_vectors.h:8663
void set_yx(const double_2 &_Value) __GPU
Set element 1, and 0 of this double_2 with a double_2.
Definition: amp_short_vectors.h:18920
float & ref_g() __GPU
Returns reference to element 1 of this float_3.
Definition: amp_short_vectors.h:8314
uint_3 & operator++() __GPU
Definition: amp_short_vectors.h:1181
norm_4 get_ywxz() const __GPU
Returns a norm_4 that is composed of element 1, element 3, element 0, and element 2 of this norm_4...
Definition: amp_short_vectors.h:18124
void set_xwyz(const float_4 &_Value) __GPU
Set element 0, 3, 1, and 2 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10683
float_3 get_wyx() const __GPU
Returns a float_3 that is composed of element 3, element 1, and element 0 of this float_4...
Definition: amp_short_vectors.h:10405
norm(unsigned int _V) __GPU
Constructor. Initialize by casting _V to float, then clamping to the range of [-1.0f, 1.0f].
Definition: amp_short_vectors.h:251
unorm_4 get_wxyz() const __GPU
Returns a unorm_4 that is composed of element 3, element 0, element 1, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14735
__declspec(property(get=get_x, put=set_x)) float x
Property for accessing element 0 of this float_3 as a float.
int_2 get_yz() const __GPU
Returns an int_2 that is composed of element 1, and element 2 of this int_4.
Definition: amp_short_vectors.h:6020
uint_4 & operator/=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2107
unorm_3 get_zyx() const __GPU
Returns a unorm_3 that is composed of element 2, element 1, and element 0 of this unorm_3...
Definition: amp_short_vectors.h:12465
uint_2 get_xz() const __GPU
Returns a uint_2 that is composed of element 0, and element 2 of this uint_3.
Definition: amp_short_vectors.h:1373
void set_zxw(const float_3 &_Value) __GPU
Set element 2, 0, and 3 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10184
void set_zw(const norm_2 &_Value) __GPU
Set element 2, and 3 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16874
float_3 get_wxy() const __GPU
Returns a float_3 that is composed of element 3, element 0, and element 1 of this float_4...
Definition: amp_short_vectors.h:10339
void set_yw(const uint_2 &_Value) __GPU
Set element 1, and 3 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2377
float_4 get_zxyw() const __GPU
Returns a float_4 that is composed of element 2, element 0, element 1, and element 3 of this float_4...
Definition: amp_short_vectors.h:10945
void set_yz(const double_2 &_Value) __GPU
Set element 1, and 2 of this double_3 with a double_2.
Definition: amp_short_vectors.h:19389
void set_zywx(const uint_4 &_Value) __GPU
Set element 2, 1, 3, and 0 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3903
int & ref_w() __GPU
Returns reference to element 3 of this int_4.
Definition: amp_short_vectors.h:5589
norm_3 get_yxz() const __GPU
Returns a norm_3 that is composed of element 1, element 0, and element 2 of this norm_3.
Definition: amp_short_vectors.h:15998
unorm_4 operator--(int) __GPU
Definition: amp_short_vectors.h:12876
void set_zw(const double_2 &_Value) __GPU
Set element 2, and 3 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20343
int_3 get_yzw() const __GPU
Returns an int_3 that is composed of element 1, element 2, and element 3 of this int_4.
Definition: amp_short_vectors.h:6573
void _Set(float _Val) __GPU_ONLY
Definition: amp_short_vectors.h:49
void set_wzy(const float_3 &_Value) __GPU
Set element 3, 2, and 1 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10514
graphics::int_3 int3
Definition: amp_short_vectors.h:23812
float_2 get_zy() const __GPU
Returns a float_2 that is composed of element 2, and element 1 of this float_4.
Definition: amp_short_vectors.h:9585
void set_wyzx(const unorm_4 &_Value) __GPU
Set element 3, 1, 2, and 0 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14847
void set_wyzx(const double_4 &_Value) __GPU
Set element 3, 1, 2, and 0 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21977
int_4 & operator>>=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5852
void set_zywx(const double_4 &_Value) __GPU
Set element 2, 1, 3, and 0 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21773
void set_zyxw(const float_4 &_Value) __GPU
Set element 2, 1, 0, and 3 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11023
void set_yzx(const int_3 &_Value) __GPU
Set element 1, 2, and 0 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6550
float_2 get_xw() const __GPU
Returns a float_2 that is composed of element 0, and element 3 of this float_4.
Definition: amp_short_vectors.h:9425
norm_2 & operator-=(const norm_2 &_Other) __GPU
Definition: amp_short_vectors.h:15225
unorm_3 get_wyx() const __GPU
Returns a unorm_3 that is composed of element 3, element 1, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:13991
norm_3 operator++(int) __GPU
Definition: amp_short_vectors.h:15656
void set_xz(const int_2 &_Value) __GPU
Set element 0, and 2 of this int_3 with an int_2.
Definition: amp_short_vectors.h:5062
int_4 & operator++() __GPU
Definition: amp_short_vectors.h:5720
float_2 & operator*=(const float_2 &_Other) __GPU
Definition: amp_short_vectors.h:8126
double_4 get_xwyz() const __GPU
Returns a double_4 that is composed of element 0, element 3, element 1, and element 2 of this double_...
Definition: amp_short_vectors.h:21389
uint_2 & operator|=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:814
unorm_2 get_yz() const __GPU
Returns a unorm_2 that is composed of element 1, and element 2 of this unorm_4.
Definition: amp_short_vectors.h:13075
double_4 get_zxwy() const __GPU
Returns a double_4 that is composed of element 2, element 0, element 3, and element 1 of this double_...
Definition: amp_short_vectors.h:21695
void set_yz(const double_2 &_Value) __GPU
Set element 1, and 2 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20215
unorm_4 & operator+=(const unorm_4 &_Other) __GPU
Definition: amp_short_vectors.h:12883
void set_ywx(const uint_3 &_Value) __GPU
Set element 1, 3, and 0 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2931
uint_2(unsigned int _V0, unsigned int _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:653
value_type _M_x
Definition: amp_short_vectors.h:18940
float_2 & operator--() __GPU
Definition: amp_short_vectors.h:8090
int_4 get_zwxy() const __GPU
Returns an int_4 that is composed of element 2, element 3, element 0, and element 1 of this int_4...
Definition: amp_short_vectors.h:7612
double value_type
Definition: amp_short_vectors.h:18593
void set_xzy(const int_3 &_Value) __GPU
Set element 0, 2, and 1 of this int_3 with an int_3.
Definition: amp_short_vectors.h:5255
int_3 get_wyz() const __GPU
Returns an int_3 that is composed of element 3, element 1, and element 2 of this int_4.
Definition: amp_short_vectors.h:6969
norm_4 get_wyxz() const __GPU
Returns a norm_4 that is composed of element 3, element 1, element 0, and element 2 of this norm_4...
Definition: amp_short_vectors.h:18464
void set_wy(const uint_2 &_Value) __GPU
Set element 3, and 1 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2537
uint_2 operator>>(const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
Definition: amp_short_vectors.h:22873
double_3 & operator*=(const double_3 &_Other) __GPU
Definition: amp_short_vectors.h:19245
uint_3 get_wzx() const __GPU
Returns a uint_3 that is composed of element 3, element 2, and element 0 of this uint_4.
Definition: amp_short_vectors.h:3317
unorm get_y() const __GPU
Returns element 1 of this unorm_4.
Definition: amp_short_vectors.h:12567
norm_4(norm _V0, norm _V1, norm _V2, norm _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:16361
void set_xw(const double_2 &_Value) __GPU
Set element 0, and 3 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20151
void set_xyz(const int_3 &_Value) __GPU
Set element 0, 1, and 2 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6286
void set_w(unorm _Value) __GPU
Set element 3 of this unorm_4 with a unorm.
Definition: amp_short_vectors.h:12697
void set_xy(const float_2 &_Value) __GPU
Set element 0, and 1 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9371
norm & ref_y() __GPU
Returns reference to element 1 of this norm_3.
Definition: amp_short_vectors.h:15413
void set_xwyz(const unorm_4 &_Value) __GPU
Set element 0, 3, 1, and 2 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14269
void set_wzyx(const double_4 &_Value) __GPU
Set element 3, 2, 1, and 0 of this double_4 with a double_4.
Definition: amp_short_vectors.h:22045
void set_zyx(const float_3 &_Value) __GPU
Set element 2, 1, and 0 of this float_3 with a float_3.
Definition: amp_short_vectors.h:8934
uint_3 get_zyx() const __GPU
Returns a uint_3 that is composed of element 2, element 1, and element 0 of this uint_3.
Definition: amp_short_vectors.h:1698
unorm & ref_r() __GPU
Returns reference to element 0 of this unorm_4.
Definition: amp_short_vectors.h:12537
void set_wx(const int_2 &_Value) __GPU
Set element 3, and 0 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6190
void set_zxw(const double_3 &_Value) __GPU
Set element 2, 0, and 3 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20900
void set_xwyz(const int_4 &_Value) __GPU
Set element 0, 3, 1, and 2 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7214
norm & operator++() __GPU
Definition: amp_short_vectors.h:346
double value_type
Definition: amp_short_vectors.h:24169
Represent a short vector of 2 float's.
Definition: amp_short_vectors.h:7874
void set_xz(const float_2 &_Value) __GPU
Set element 0, and 2 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9403
norm_3(const norm_3 &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:15582
void set_xwz(const double_3 &_Value) __GPU
Set element 0, 3, and 2 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20636
norm(const norm &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:284
double_4 & operator*=(const double_4 &_Other) __GPU
Definition: amp_short_vectors.h:20037
void set_zxw(const int_3 &_Value) __GPU
Set element 2, 0, and 3 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6715
norm_4 get_xzyw() const __GPU
Returns a norm_4 that is composed of element 0, element 2, element 1, and element 3 of this norm_4...
Definition: amp_short_vectors.h:17852
void set_wyxz(const unorm_4 &_Value) __GPU
Set element 3, 1, 0, and 2 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14813
unorm & ref_x() __GPU
Returns reference to element 0 of this unorm_4.
Definition: amp_short_vectors.h:12527
float_3 get_zxw() const __GPU
Returns a float_3 that is composed of element 2, element 0, and element 3 of this float_4...
Definition: amp_short_vectors.h:10174
void set_wxzy(const unorm_4 &_Value) __GPU
Set element 3, 0, 2, and 1 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14779
int value_type
Definition: amp_short_vectors.h:24043
void set_xy(const unorm_2 &_Value) __GPU
Set element 0, and 1 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:12957
Represent a short vector of 3 norm's.
Definition: amp_short_vectors.h:15325
uint_3 get_xwz() const __GPU
Returns a uint_3 that is composed of element 0, element 3, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2756
void set_ywxz(const float_4 &_Value) __GPU
Set element 1, 3, 0, and 2 of this float_4 with a float_4.
Definition: amp_short_vectors.h:10887
uint_4 & operator-=(const uint_4 &_Other) __GPU
Definition: amp_short_vectors.h:2083
void set_zywx(const float_4 &_Value) __GPU
Set element 2, 1, 3, and 0 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11057
norm & ref_y() __GPU
Returns reference to element 1 of this norm_2.
Definition: amp_short_vectors.h:15016
norm_2(float _V0, float _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:15075
void set_ywzx(const double_4 &_Value) __GPU
Set element 1, 3, 2, and 0 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21637
value_type _M_z
Definition: amp_short_vectors.h:15335
float_2 & operator-=(const float_2 &_Other) __GPU
Definition: amp_short_vectors.h:8116
bool operator<(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:460
void set_yz(const uint_2 &_Value) __GPU
Set element 1, and 2 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2345
norm(void) __GPU
Default constructor. Initialize to 0.0f.
Definition: amp_short_vectors.h:229
uint_4 get_yzxw() const __GPU
Returns a uint_4 that is composed of element 1, element 2, element 0, and element 3 of this uint_4...
Definition: amp_short_vectors.h:3655
norm_2 get_xz() const __GPU
Returns a norm_2 that is composed of element 0, and element 2 of this norm_4.
Definition: amp_short_vectors.h:16640
uint_3 & operator%=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1259
void set_wy(const double_2 &_Value) __GPU
Set element 3, and 1 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20407
void set_yzxw(const norm_4 &_Value) __GPU
Set element 1, 2, 0, and 3 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18066
unorm operator+(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:390
float & ref_r() __GPU
Returns reference to element 0 of this float_3.
Definition: amp_short_vectors.h:8264
unorm value_type
Definition: amp_short_vectors.h:11721
void set_zxw(const norm_3 &_Value) __GPU
Set element 2, 0, and 3 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17431
Represent a short vector of 4 float's.
Definition: amp_short_vectors.h:8947
unorm_2(const unorm_2 &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:11519
unorm & operator--() __GPU
Definition: amp_short_vectors.h:187
float_4 get_ywzx() const __GPU
Returns a float_4 that is composed of element 1, element 3, element 2, and element 0 of this float_4...
Definition: amp_short_vectors.h:10911
bool operator<=(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:480
float_3 & operator/=(const float_3 &_Other) __GPU
Definition: amp_short_vectors.h:8540
uint_3 get_yzx() const __GPU
Returns a uint_3 that is composed of element 1, element 2, and element 0 of this uint_4.
Definition: amp_short_vectors.h:2855
unorm operator-(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:400
float_3 & operator--() __GPU
Definition: amp_short_vectors.h:8490
double_2 & operator--() __GPU
Definition: amp_short_vectors.h:18806
double value_type
Definition: amp_short_vectors.h:18935
__declspec(property(get=get_x, put=set_x)) norm x
Property for accessing element 0 of this norm_4 as a norm.
uint_3 & operator^=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1270
uint_4(unsigned int _V0, unsigned int _V1, unsigned int _V2, unsigned int _V3) __GPU
Constructor.
Definition: amp_short_vectors.h:1962
uint_2 get_yx() const __GPU
Returns a uint_2 that is composed of element 1, and element 0 of this uint_4.
Definition: amp_short_vectors.h:2303
graphics::uint_4 uint4
Definition: amp_short_vectors.h:23810
unorm_2 & operator=(const unorm_2 &_Other) __GPU
Definition: amp_short_vectors.h:11524
value_type _M_y
Definition: amp_short_vectors.h:11727
float_2 operator--(int) __GPU
Definition: amp_short_vectors.h:8099
unorm(int _V) __GPU
Constructor. Initialize by casting _V to float, then clamping to the range of [0.0f, 1.0f].
Definition: amp_short_vectors.h:91
float_3 get_ywx() const __GPU
Returns a float_3 that is composed of element 1, element 3, and element 0 of this float_4...
Definition: amp_short_vectors.h:10075
float_3 get_xzw() const __GPU
Returns a float_3 that is composed of element 0, element 2, and element 3 of this float_4...
Definition: amp_short_vectors.h:9844
float_4 operator--(int) __GPU
Definition: amp_short_vectors.h:9290
norm_2 get_xy() const __GPU
Returns a norm_2 that is composed of element 0, and element 1 of this norm_2.
Definition: amp_short_vectors.h:15271
float_2 get_wy() const __GPU
Returns a float_2 that is composed of element 3, and element 1 of this float_4.
Definition: amp_short_vectors.h:9681
uint_3 & operator|=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1281
void set_zwy(const double_3 &_Value) __GPU
Set element 2, 3, and 1 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21032
double_2 get_yx() const __GPU
Returns a double_2 that is composed of element 1, and element 0 of this double_2. ...
Definition: amp_short_vectors.h:18910
void set_xywz(const int_4 &_Value) __GPU
Set element 0, 1, 3, and 2 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7112
void set_yz(const unorm_2 &_Value) __GPU
Set element 1, and 2 of this unorm_3 with a unorm_2.
Definition: amp_short_vectors.h:12214
void set_wxz(const int_3 &_Value) __GPU
Set element 3, 0, and 2 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6913
double_2() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:18706
unorm_3 get_wzx() const __GPU
Returns a unorm_3 that is composed of element 3, element 2, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:14057
float_3 get_xwy() const __GPU
Returns a float_3 that is composed of element 0, element 3, and element 1 of this float_4...
Definition: amp_short_vectors.h:9877
int_3 operator~() const __GPU
Definition: amp_short_vectors.h:4848
void set_zxy(const norm_3 &_Value) __GPU
Set element 2, 0, and 1 of this norm_3 with a norm_3.
Definition: amp_short_vectors.h:16074
static const int size
Definition: amp_short_vectors.h:526
void set_z(float _Value) __GPU
Set element 2 of this float_4 with a float.
Definition: amp_short_vectors.h:9106
norm(int _V) __GPU
Constructor. Initialize by casting _V to float, then clamping to the range of [-1.0f, 1.0f].
Definition: amp_short_vectors.h:262
int_4 get_zywx() const __GPU
Returns an int_4 that is composed of element 2, element 1, element 3, and element 0 of this int_4...
Definition: amp_short_vectors.h:7578
float_4 get_wxzy() const __GPU
Returns a float_4 that is composed of element 3, element 0, element 2, and element 1 of this float_4...
Definition: amp_short_vectors.h:11183
void set_x(unsigned int _Value) __GPU
Set element 0 of this uint_2 with an unsigned int.
Definition: amp_short_vectors.h:579
int_4 & operator<<=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5864
double_4 get_xzyw() const __GPU
Returns a double_4 that is composed of element 0, element 2, element 1, and element 3 of this double_...
Definition: amp_short_vectors.h:21321
unorm & ref_x() __GPU
Returns reference to element 0 of this unorm_2.
Definition: amp_short_vectors.h:11380
void set_w(int _Value) __GPU
Set element 3 of this int_4 with an int.
Definition: amp_short_vectors.h:5609
void set_wzy(const double_3 &_Value) __GPU
Set element 3, 2, and 1 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21230
norm_4 operator-() const __GPU
Definition: amp_short_vectors.h:16502
uint_4 get_yxwz() const __GPU
Returns a uint_4 that is composed of element 1, element 0, element 3, and element 2 of this uint_4...
Definition: amp_short_vectors.h:3621
void set_zwyx(const double_4 &_Value) __GPU
Set element 2, 3, 1, and 0 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21841
__declspec(property(get=get_x, put=set_x)) int x
Property for accessing element 0 of this int_3 as an int.
void set_ywx(const unorm_3 &_Value) __GPU
Set element 1, 3, and 0 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13671
unorm_2 get_zy() const __GPU
Returns a unorm_2 that is composed of element 2, and element 1 of this unorm_3.
Definition: amp_short_vectors.h:12268
void set_wx(const uint_2 &_Value) __GPU
Set element 3, and 0 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2505
void set_wy(const norm_2 &_Value) __GPU
Set element 3, and 1 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16938
void set_x(int _Value) __GPU
Set element 0 of this int_4 with an int.
Definition: amp_short_vectors.h:5459
double_4(double _V) __GPU
Constructor.
Definition: amp_short_vectors.h:19918
unorm_3 & operator=(const unorm_3 &_Other) __GPU
Definition: amp_short_vectors.h:11961
void set_yxwz(const uint_4 &_Value) __GPU
Set element 1, 0, 3, and 2 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3631
value_type _M_x
Definition: amp_short_vectors.h:8955
void set_wyzx(const int_4 &_Value) __GPU
Set element 3, 1, 2, and 0 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7792
void set_wxy(const int_3 &_Value) __GPU
Set element 3, 0, and 1 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6880
norm_4 get_xwyz() const __GPU
Returns a norm_4 that is composed of element 0, element 3, element 1, and element 2 of this norm_4...
Definition: amp_short_vectors.h:17920
void set_xzy(const double_3 &_Value) __GPU
Set element 0, 2, and 1 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20537
void set_zxy(const uint_3 &_Value) __GPU
Set element 2, 0, and 1 of this uint_3 with a uint_3.
Definition: amp_short_vectors.h:1675
unorm & ref_x() __GPU
Returns reference to element 0 of this unorm_3.
Definition: amp_short_vectors.h:11756
double_4 get_zwxy() const __GPU
Returns a double_4 that is composed of element 2, element 3, element 0, and element 1 of this double_...
Definition: amp_short_vectors.h:21797
void set_yxzw(const uint_4 &_Value) __GPU
Set element 1, 0, 2, and 3 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3597
void set_yzxw(const unorm_4 &_Value) __GPU
Set element 1, 2, 0, and 3 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14405
norm_3 get_ywz() const __GPU
Returns a norm_3 that is composed of element 1, element 3, and element 2 of this norm_4.
Definition: amp_short_vectors.h:17355
norm_3 get_xzw() const __GPU
Returns a norm_3 that is composed of element 0, element 2, and element 3 of this norm_4.
Definition: amp_short_vectors.h:17091
unsigned int & ref_x() __GPU
Returns reference to element 0 of this uint_2.
Definition: amp_short_vectors.h:559
double_3 get_xyw() const __GPU
Returns a double_3 that is composed of element 0, element 1, and element 3 of this double_4...
Definition: amp_short_vectors.h:20494
unsigned int value_type
Definition: amp_short_vectors.h:927
void set_ywz(const float_3 &_Value) __GPU
Set element 1, 3, and 2 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10118
void set_yxz(const double_3 &_Value) __GPU
Set element 1, 0, and 2 of this double_3 with a double_3.
Definition: amp_short_vectors.h:19551
float_4(float _V) __GPU
Constructor.
Definition: amp_short_vectors.h:9202
void set_wz(const float_2 &_Value) __GPU
Set element 3, and 2 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9723
uint_4 & operator--() __GPU
Definition: amp_short_vectors.h:2053
unorm_4 & operator/=(const unorm_4 &_Other) __GPU
Definition: amp_short_vectors.h:12919
uint_3 operator--(int) __GPU
Definition: amp_short_vectors.h:1208
void set_zyw(const uint_3 &_Value) __GPU
Set element 2, 1, and 3 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3096
double_3 get_zwy() const __GPU
Returns a double_3 that is composed of element 2, element 3, and element 1 of this double_4...
Definition: amp_short_vectors.h:21022
void set_yxzw(const int_4 &_Value) __GPU
Set element 1, 0, 2, and 3 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7282
void set_yx(const double_2 &_Value) __GPU
Set element 1, and 0 of this double_4 with a double_2.
Definition: amp_short_vectors.h:20183
norm_2 get_wx() const __GPU
Returns a norm_2 that is composed of element 3, and element 0 of this norm_4.
Definition: amp_short_vectors.h:16896
void set_w(norm _Value) __GPU
Set element 3 of this norm_4 with a norm.
Definition: amp_short_vectors.h:16329
float_4 get_zwxy() const __GPU
Returns a float_4 that is composed of element 2, element 3, element 0, and element 1 of this float_4...
Definition: amp_short_vectors.h:11081
unorm_2 get_wz() const __GPU
Returns a unorm_2 that is composed of element 3, and element 2 of this unorm_4.
Definition: amp_short_vectors.h:13299
int_4 operator--(int) __GPU
Definition: amp_short_vectors.h:5749
float & ref_x() __GPU
Returns reference to element 0 of this float_2.
Definition: amp_short_vectors.h:7911
uint_3 & operator<<=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1314
uint_4 get_zxwy() const __GPU
Returns a uint_4 that is composed of element 2, element 0, element 3, and element 1 of this uint_4...
Definition: amp_short_vectors.h:3825
double_4 get_wzxy() const __GPU
Returns a double_4 that is composed of element 3, element 2, element 0, and element 1 of this double_...
Definition: amp_short_vectors.h:22001
int_2 type
Definition: amp_short_vectors.h:23880
void set_zy(const norm_2 &_Value) __GPU
Set element 2, and 1 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16842
norm_2 get_zy() const __GPU
Returns a norm_2 that is composed of element 2, and element 1 of this norm_4.
Definition: amp_short_vectors.h:16832
int_3 get_xwz() const __GPU
Returns an int_3 that is composed of element 0, element 3, and element 2 of this int_4.
Definition: amp_short_vectors.h:6441
void set_zw(const unorm_2 &_Value) __GPU
Set element 2, and 3 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13213
unorm_3 get_yzx() const __GPU
Returns a unorm_3 that is composed of element 1, element 2, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:13595
int_4 type
Definition: amp_short_vectors.h:23892
norm_2 get_wz() const __GPU
Returns a norm_2 that is composed of element 3, and element 2 of this norm_4.
Definition: amp_short_vectors.h:16960
void set_yzw(const norm_3 &_Value) __GPU
Set element 1, 2, and 3 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17299
void _Set(float _Val) __GPU_ONLY
Definition: amp_short_vectors.h:220
int_3 get_zxy() const __GPU
Returns an int_3 that is composed of element 2, element 0, and element 1 of this int_4.
Definition: amp_short_vectors.h:6672
float_3 get_zxy() const __GPU
Returns a float_3 that is composed of element 2, element 0, and element 1 of this float_3...
Definition: amp_short_vectors.h:8891
void set_yx(const uint_2 &_Value) __GPU
Set element 1, and 0 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2313
void set_zwx(const int_3 &_Value) __GPU
Set element 2, 3, and 0 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6814
norm_4 get_xwzy() const __GPU
Returns a norm_4 that is composed of element 0, element 3, element 2, and element 1 of this norm_4...
Definition: amp_short_vectors.h:17954
void set_ywx(const double_3 &_Value) __GPU
Set element 1, 3, and 0 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20801
uint_3 & operator/=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1248
unsigned int get_z() const __GPU
Returns element 2 of this uint_4.
Definition: amp_short_vectors.h:1850
float & ref_g() __GPU
Returns reference to element 1 of this float_4.
Definition: amp_short_vectors.h:9046
void set_zyx(const float_3 &_Value) __GPU
Set element 2, 1, and 0 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10217
value_type _M_y
Definition: amp_short_vectors.h:8956
uint_3 & operator*=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1237
value_type _M_w
Definition: amp_short_vectors.h:5411
unorm_3 get_zwx() const __GPU
Returns a unorm_3 that is composed of element 2, element 3, and element 0 of this unorm_4...
Definition: amp_short_vectors.h:13859
value_type _M_w
Definition: amp_short_vectors.h:19674
void set_zxy(const float_3 &_Value) __GPU
Set element 2, 0, and 1 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10151
unorm_4 get_xywz() const __GPU
Returns a unorm_4 that is composed of element 0, element 1, element 3, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14157
void set_wyz(const uint_3 &_Value) __GPU
Set element 3, 1, and 2 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3294
void set_xwz(const unorm_3 &_Value) __GPU
Set element 0, 3, and 2 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13506
void set_yxw(const int_3 &_Value) __GPU
Set element 1, 0, and 3 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6517
double_2(double _V0, double _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:18721
norm_4 get_xzwy() const __GPU
Returns a norm_4 that is composed of element 0, element 2, element 3, and element 1 of this norm_4...
Definition: amp_short_vectors.h:17886
void set_ywx(const int_3 &_Value) __GPU
Set element 1, 3, and 0 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6616
float get_z() const __GPU
Returns element 2 of this float_4.
Definition: amp_short_vectors.h:9076
void set_x(norm _Value) __GPU
Set element 0 of this norm_2 with a norm.
Definition: amp_short_vectors.h:14986
float_4 get_ywxz() const __GPU
Returns a float_4 that is composed of element 1, element 3, element 0, and element 2 of this float_4...
Definition: amp_short_vectors.h:10877
uint_3 type
Definition: amp_short_vectors.h:23862
uint_3 get_xyw() const __GPU
Returns a uint_3 that is composed of element 0, element 1, and element 3 of this uint_4.
Definition: amp_short_vectors.h:2624
int get_x() const __GPU
Returns element 0 of this int_3.
Definition: amp_short_vectors.h:4625
float & ref_w() __GPU
Returns reference to element 3 of this float_4.
Definition: amp_short_vectors.h:9136
void set_yzx(const float_3 &_Value) __GPU
Set element 1, 2, and 0 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10019
int & ref_r() __GPU
Returns reference to element 0 of this int_4.
Definition: amp_short_vectors.h:5449
norm & ref_x() __GPU
Returns reference to element 0 of this norm_2.
Definition: amp_short_vectors.h:14966
unorm & ref_g() __GPU
Returns reference to element 1 of this unorm_3.
Definition: amp_short_vectors.h:11816
norm_2 & operator++() __GPU
Definition: amp_short_vectors.h:15183
float_3 get_xwz() const __GPU
Returns a float_3 that is composed of element 0, element 3, and element 2 of this float_4...
Definition: amp_short_vectors.h:9910
void set_wyz(const float_3 &_Value) __GPU
Set element 3, 1, and 2 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10448
float & ref_a() __GPU
Returns reference to element 3 of this float_4.
Definition: amp_short_vectors.h:9146
Definition: amprt.h:298
bool operator>=(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:470
void set_x(float _Value) __GPU
Set element 0 of this float_3 with a float.
Definition: amp_short_vectors.h:8274
double_3 get_wyx() const __GPU
Returns a double_3 that is composed of element 3, element 1, and element 0 of this double_4...
Definition: amp_short_vectors.h:21121
double_4 get_xzwy() const __GPU
Returns a double_4 that is composed of element 0, element 2, element 3, and element 1 of this double_...
Definition: amp_short_vectors.h:21355
void set_zywx(const unorm_4 &_Value) __GPU
Set element 2, 1, 3, and 0 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14643
norm(double _V) __GPU
Constructor. Initialize by casting _V to float, then clamping to the range of [-1.0f, 1.0f].
Definition: amp_short_vectors.h:273
int & ref_z() __GPU
Returns reference to element 2 of this int_4.
Definition: amp_short_vectors.h:5539
void set_xz(const uint_2 &_Value) __GPU
Set element 0, and 2 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2249
value_type _M_y
Definition: amp_short_vectors.h:19672
void set_yz(const int_2 &_Value) __GPU
Set element 1, and 2 of this int_3 with an int_2.
Definition: amp_short_vectors.h:5126
unorm_2 get_wx() const __GPU
Returns a unorm_2 that is composed of element 3, and element 0 of this unorm_4.
Definition: amp_short_vectors.h:13235
void set_xy(const uint_2 &_Value) __GPU
Set element 0, and 1 of this uint_2 with a uint_2.
Definition: amp_short_vectors.h:880
float_4 get_xwzy() const __GPU
Returns a float_4 that is composed of element 0, element 3, element 2, and element 1 of this float_4...
Definition: amp_short_vectors.h:10707
unorm_3(unorm _V) __GPU
Constructor.
Definition: amp_short_vectors.h:11936
float_3 get_yzx() const __GPU
Returns a float_3 that is composed of element 1, element 2, and element 0 of this float_3...
Definition: amp_short_vectors.h:8858
float & ref_g() __GPU
Returns reference to element 1 of this float_2.
Definition: amp_short_vectors.h:7971
int_4 get_wxzy() const __GPU
Returns an int_4 that is composed of element 3, element 0, element 2, and element 1 of this int_4...
Definition: amp_short_vectors.h:7714
uint_2 operator&(const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
Definition: amp_short_vectors.h:22859
float_3 operator-() const __GPU
Definition: amp_short_vectors.h:8467
norm_2 & operator*=(const norm_2 &_Other) __GPU
Definition: amp_short_vectors.h:15235
norm & operator/=(const norm &_Other) __GPU
Definition: amp_short_vectors.h:338
double_3 get_xzy() const __GPU
Returns a double_3 that is composed of element 0, element 2, and element 1 of this double_4...
Definition: amp_short_vectors.h:20527
void set_wzyx(const unorm_4 &_Value) __GPU
Set element 3, 2, 1, and 0 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14915
norm_4 get_zxwy() const __GPU
Returns a norm_4 that is composed of element 2, element 0, element 3, and element 1 of this norm_4...
Definition: amp_short_vectors.h:18226
float value_type
Definition: amp_short_vectors.h:7877
int value_type
Definition: amp_short_vectors.h:5403
unorm_2 get_yx() const __GPU
Returns a unorm_2 that is composed of element 1, and element 0 of this unorm_2.
Definition: amp_short_vectors.h:11696
int_3 & operator>>=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4982
int_4 get_xwzy() const __GPU
Returns an int_4 that is composed of element 0, element 3, element 2, and element 1 of this int_4...
Definition: amp_short_vectors.h:7238
value_type _M_x
Definition: amp_short_vectors.h:1729
unorm get_x() const __GPU
Returns element 0 of this unorm_2.
Definition: amp_short_vectors.h:11370
int_3 get_zyx() const __GPU
Returns an int_3 that is composed of element 2, element 1, and element 0 of this int_3.
Definition: amp_short_vectors.h:5377
void set_yzx(const unorm_3 &_Value) __GPU
Set element 1, 2, and 0 of this unorm_3 with a unorm_3.
Definition: amp_short_vectors.h:12409
void set_wxyz(const uint_4 &_Value) __GPU
Set element 3, 0, 1, and 2 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:4005
int_2 get_zy() const __GPU
Returns an int_2 that is composed of element 2, and element 1 of this int_3.
Definition: amp_short_vectors.h:5180
double_3 & operator+=(const double_3 &_Other) __GPU
Definition: amp_short_vectors.h:19223
value_type _M_z
Definition: amp_short_vectors.h:8226
void set_z(unorm _Value) __GPU
Set element 2 of this unorm_4 with a unorm.
Definition: amp_short_vectors.h:12647
uint_4 get_wzyx() const __GPU
Returns a uint_4 that is composed of element 3, element 2, element 1, and element 0 of this uint_4...
Definition: amp_short_vectors.h:4165
double & ref_x() __GPU
Returns reference to element 0 of this double_4.
Definition: amp_short_vectors.h:19702
float_2(float _V) __GPU
Constructor.
Definition: amp_short_vectors.h:8017
int_3 get_xzw() const __GPU
Returns an int_3 that is composed of element 0, element 2, and element 3 of this int_4.
Definition: amp_short_vectors.h:6375
uint_2 & operator*=(const uint_2 &_Other) __GPU
Definition: amp_short_vectors.h:774
void set_xywz(const uint_4 &_Value) __GPU
Set element 0, 1, 3, and 2 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3427
void set_y(int _Value) __GPU
Set element 1 of this int_4 with an int.
Definition: amp_short_vectors.h:5509
int_4 operator~() const __GPU
Definition: amp_short_vectors.h:5708
void set_xz(const unorm_2 &_Value) __GPU
Set element 0, and 2 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:12989
double_4 get_yzwx() const __GPU
Returns a double_4 that is composed of element 1, element 2, element 3, and element 0 of this double_...
Definition: amp_short_vectors.h:21559
unorm_4 get_xwyz() const __GPU
Returns a unorm_4 that is composed of element 0, element 3, element 1, and element 2 of this unorm_4...
Definition: amp_short_vectors.h:14259
float_4 & operator--() __GPU
Definition: amp_short_vectors.h:9279
unsigned int & ref_y() __GPU
Returns reference to element 1 of this uint_3.
Definition: amp_short_vectors.h:1012
unorm_2(unorm _V) __GPU
Constructor.
Definition: amp_short_vectors.h:11501
float_2 type
Definition: amp_short_vectors.h:23904
void set_x(unorm _Value) __GPU
Set element 0 of this unorm_3 with a unorm.
Definition: amp_short_vectors.h:11776
norm_3 get_zxy() const __GPU
Returns a norm_3 that is composed of element 2, element 0, and element 1 of this norm_3.
Definition: amp_short_vectors.h:16064
void set_xz(const float_2 &_Value) __GPU
Set element 0, and 2 of this float_3 with a float_2.
Definition: amp_short_vectors.h:8609
void set_wyz(const norm_3 &_Value) __GPU
Set element 3, 1, and 2 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17695
norm_4 & operator-=(const norm_4 &_Other) __GPU
Definition: amp_short_vectors.h:16556
double_3 get_ywz() const __GPU
Returns a double_3 that is composed of element 1, element 3, and element 2 of this double_4...
Definition: amp_short_vectors.h:20824
float_2 get_zx() const __GPU
Returns a float_2 that is composed of element 2, and element 0 of this float_4.
Definition: amp_short_vectors.h:9553
float_4 get_xwyz() const __GPU
Returns a float_4 that is composed of element 0, element 3, element 1, and element 2 of this float_4...
Definition: amp_short_vectors.h:10673
int_3 get_xyz() const __GPU
Returns an int_3 that is composed of element 0, element 1, and element 2 of this int_4.
Definition: amp_short_vectors.h:6276
uint_2 get_zx() const __GPU
Returns a uint_2 that is composed of element 2, and element 0 of this uint_4.
Definition: amp_short_vectors.h:2399
double_2 get_xz() const __GPU
Returns a double_2 that is composed of element 0, and element 2 of this double_3. ...
Definition: amp_short_vectors.h:19315
void set_zyw(const int_3 &_Value) __GPU
Set element 2, 1, and 3 of this int_4 with an int_3.
Definition: amp_short_vectors.h:6781
norm & ref_y() __GPU
Returns reference to element 1 of this norm_4.
Definition: amp_short_vectors.h:16209
norm_3 get_zxy() const __GPU
Returns a norm_3 that is composed of element 2, element 0, and element 1 of this norm_4.
Definition: amp_short_vectors.h:17388
double & ref_x() __GPU
Returns reference to element 0 of this double_3.
Definition: amp_short_vectors.h:18970
void set_xzyw(const double_4 &_Value) __GPU
Set element 0, 2, 1, and 3 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21331
norm_3 get_xwy() const __GPU
Returns a norm_3 that is composed of element 0, element 3, and element 1 of this norm_4.
Definition: amp_short_vectors.h:17124
value_type _M_y
Definition: amp_short_vectors.h:531
void set_ywzx(const int_4 &_Value) __GPU
Set element 1, 3, 2, and 0 of this int_4 with an int_4.
Definition: amp_short_vectors.h:7452
#define __GPU_ONLY
Definition: amprt.h:46
uint_3 get_zxy() const __GPU
Returns a uint_3 that is composed of element 2, element 0, and element 1 of this uint_4.
Definition: amp_short_vectors.h:2987
uint_3(unsigned int _V) __GPU
Constructor.
Definition: amp_short_vectors.h:1123
void set_yxz(const norm_3 &_Value) __GPU
Set element 1, 0, and 2 of this norm_3 with a norm_3.
Definition: amp_short_vectors.h:16008
unorm & ref_y() __GPU
Returns reference to element 1 of this unorm_3.
Definition: amp_short_vectors.h:11806
int_3 get_wyx() const __GPU
Returns an int_3 that is composed of element 3, element 1, and element 0 of this int_4.
Definition: amp_short_vectors.h:6936
double & ref_y() __GPU
Returns reference to element 1 of this double_4.
Definition: amp_short_vectors.h:19752
float_4 get_xzwy() const __GPU
Returns a float_4 that is composed of element 0, element 2, element 3, and element 1 of this float_4...
Definition: amp_short_vectors.h:10639
unorm_4 get_xyzw() const __GPU
Returns a unorm_4 that is composed of element 0, element 1, element 2, and element 3 of this unorm_4...
Definition: amp_short_vectors.h:14123
int value_type
Definition: amp_short_vectors.h:4600
int_3 get_zxw() const __GPU
Returns an int_3 that is composed of element 2, element 0, and element 3 of this int_4.
Definition: amp_short_vectors.h:6705
void set_zxyw(const norm_4 &_Value) __GPU
Set element 2, 0, 1, and 3 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18202
void set_zwxy(const unorm_4 &_Value) __GPU
Set element 2, 3, 0, and 1 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14677
unsigned int & ref_g() __GPU
Returns reference to element 1 of this uint_4.
Definition: amp_short_vectors.h:1820
void set_zx(const uint_2 &_Value) __GPU
Set element 2, and 0 of this uint_3 with a uint_2.
Definition: amp_short_vectors.h:1479
double_4 get_zyxw() const __GPU
Returns a double_4 that is composed of element 2, element 1, element 0, and element 3 of this double_...
Definition: amp_short_vectors.h:21729
norm_4(const norm_4 &_Other) __GPU
Copy constructor.
Definition: amp_short_vectors.h:16443
float_4 & operator/=(const float_4 &_Other) __GPU
Definition: amp_short_vectors.h:9333
int_4 get_wzxy() const __GPU
Returns an int_4 that is composed of element 3, element 2, element 0, and element 1 of this int_4...
Definition: amp_short_vectors.h:7816
double_4 get_wyzx() const __GPU
Returns a double_4 that is composed of element 3, element 1, element 2, and element 0 of this double_...
Definition: amp_short_vectors.h:21967
void set_xyw(const norm_3 &_Value) __GPU
Set element 0, 1, and 3 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17035
void set_wxzy(const norm_4 &_Value) __GPU
Set element 3, 0, 2, and 1 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:18440
void set_xzy(const double_3 &_Value) __GPU
Set element 0, 2, and 1 of this double_3 with a double_3.
Definition: amp_short_vectors.h:19518
void set_wxy(const double_3 &_Value) __GPU
Set element 3, 0, and 1 of this double_4 with a double_3.
Definition: amp_short_vectors.h:21065
unorm & ref_z() __GPU
Returns reference to element 2 of this unorm_4.
Definition: amp_short_vectors.h:12627
float_2 get_xy() const __GPU
Returns a float_2 that is composed of element 0, and element 1 of this float_3.
Definition: amp_short_vectors.h:8567
norm_4 get_wxyz() const __GPU
Returns a norm_4 that is composed of element 3, element 0, element 1, and element 2 of this norm_4...
Definition: amp_short_vectors.h:18396
double type
Definition: amp_short_vectors.h:23970
void set_yz(const uint_2 &_Value) __GPU
Set element 1, and 2 of this uint_3 with a uint_2.
Definition: amp_short_vectors.h:1447
void set_wyx(const norm_3 &_Value) __GPU
Set element 3, 1, and 0 of this norm_4 with a norm_3.
Definition: amp_short_vectors.h:17662
norm operator-(void) const __GPU
Definition: amp_short_vectors.h:376
value_type _M_z
Definition: amp_short_vectors.h:1731
float_4 get_wyzx() const __GPU
Returns a float_4 that is composed of element 3, element 1, element 2, and element 0 of this float_4...
Definition: amp_short_vectors.h:11251
double & ref_g() __GPU
Returns reference to element 1 of this double_3.
Definition: amp_short_vectors.h:19030
double & ref_w() __GPU
Returns reference to element 3 of this double_4.
Definition: amp_short_vectors.h:19852
void set_zy(const norm_2 &_Value) __GPU
Set element 2, and 1 of this norm_3 with a norm_2.
Definition: amp_short_vectors.h:15910
double_3 operator-() const __GPU
Definition: amp_short_vectors.h:19183
int_4 get_wzyx() const __GPU
Returns an int_4 that is composed of element 3, element 2, element 1, and element 0 of this int_4...
Definition: amp_short_vectors.h:7850
void set_z(unorm _Value) __GPU
Set element 2 of this unorm_3 with a unorm.
Definition: amp_short_vectors.h:11876
norm get_x() const __GPU
Returns element 0 of this norm_2.
Definition: amp_short_vectors.h:14956
void set_xz(const uint_2 &_Value) __GPU
Set element 0, and 2 of this uint_3 with a uint_2.
Definition: amp_short_vectors.h:1383
int_4 & operator&=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5840
_In_ int _Value
Definition: setjmp.h:173
void set_xzy(const unorm_3 &_Value) __GPU
Set element 0, 2, and 1 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13407
uint_4(unsigned int _V) __GPU
Constructor.
Definition: amp_short_vectors.h:1976
int get_w() const __GPU
Returns element 3 of this int_4.
Definition: amp_short_vectors.h:5579
void set_zy(const unorm_2 &_Value) __GPU
Set element 2, and 1 of this unorm_3 with a unorm_2.
Definition: amp_short_vectors.h:12278
void set_y(float _Value) __GPU
Set element 1 of this float_4 with a float.
Definition: amp_short_vectors.h:9056
void set_ywzx(const unorm_4 &_Value) __GPU
Set element 1, 3, 2, and 0 of this unorm_4 with a unorm_4.
Definition: amp_short_vectors.h:14507
uint_3 get_wxy() const __GPU
Returns a uint_3 that is composed of element 3, element 0, and element 1 of this uint_4.
Definition: amp_short_vectors.h:3185
value_type _M_x
Definition: amp_short_vectors.h:14937
int_2 get_zx() const __GPU
Returns an int_2 that is composed of element 2, and element 0 of this int_4.
Definition: amp_short_vectors.h:6084
void set_yxz(const uint_3 &_Value) __GPU
Set element 1, 0, and 2 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:2799
int_2 get_yx() const __GPU
Returns an int_2 that is composed of element 1, and element 0 of this int_2.
Definition: amp_short_vectors.h:4575
void set_y(norm _Value) __GPU
Set element 1 of this norm_3 with a norm.
Definition: amp_short_vectors.h:15433
void set_zyw(const double_3 &_Value) __GPU
Set element 2, 1, and 3 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20966
void set_xz(const unorm_2 &_Value) __GPU
Set element 0, and 2 of this unorm_3 with a unorm_2.
Definition: amp_short_vectors.h:12150
norm value_type
Definition: amp_short_vectors.h:24134
unorm & ref_g() __GPU
Returns reference to element 1 of this unorm_2.
Definition: amp_short_vectors.h:11440
void set_yxz(const int_3 &_Value) __GPU
Set element 1, 0, and 2 of this int_3 with an int_3.
Definition: amp_short_vectors.h:5288
void set_zwx(const float_3 &_Value) __GPU
Set element 2, 3, and 0 of this float_4 with a float_3.
Definition: amp_short_vectors.h:10283
unorm_2 & operator*=(const unorm_2 &_Other) __GPU
Definition: amp_short_vectors.h:11628
double & ref_r() __GPU
Returns reference to element 0 of this double_3.
Definition: amp_short_vectors.h:18980
void set_wz(const int_2 &_Value) __GPU
Set element 3, and 2 of this int_4 with an int_2.
Definition: amp_short_vectors.h:6254
void set_xywz(const norm_4 &_Value) __GPU
Set element 0, 1, 3, and 2 of this norm_4 with a norm_4.
Definition: amp_short_vectors.h:17828
unorm & ref_z() __GPU
Returns reference to element 2 of this unorm_3.
Definition: amp_short_vectors.h:11856
void set_zx(const uint_2 &_Value) __GPU
Set element 2, and 0 of this uint_4 with a uint_2.
Definition: amp_short_vectors.h:2409
int & ref_g() __GPU
Returns reference to element 1 of this int_4.
Definition: amp_short_vectors.h:5499
Represent a short vector of 3 unsigned int's.
Definition: amp_short_vectors.h:924
unorm get_y() const __GPU
Returns element 1 of this unorm_3.
Definition: amp_short_vectors.h:11796
void set_ywxz(const uint_4 &_Value) __GPU
Set element 1, 3, 0, and 2 of this uint_4 with a uint_4.
Definition: amp_short_vectors.h:3733
Definition: amprt.h:296
int_2(int _V0, int _V1) __GPU
Constructor.
Definition: amp_short_vectors.h:4320
void set_wxz(const uint_3 &_Value) __GPU
Set element 3, 0, and 2 of this uint_4 with a uint_3.
Definition: amp_short_vectors.h:3228
double_2 & operator*=(const double_2 &_Other) __GPU
Definition: amp_short_vectors.h:18842
void set_yzwx(const double_4 &_Value) __GPU
Set element 1, 2, 3, and 0 of this double_4 with a double_4.
Definition: amp_short_vectors.h:21569
Represent a short vector of 2 norm's.
Definition: amp_short_vectors.h:14929
void set_yzx(const double_3 &_Value) __GPU
Set element 1, 2, and 0 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20735
norm_3(float _V0, float _V1, float _V2) __GPU
Constructor.
Definition: amp_short_vectors.h:15530
int_2 get_xz() const __GPU
Returns an int_2 that is composed of element 0, and element 2 of this int_3.
Definition: amp_short_vectors.h:5052
unsigned int get_y() const __GPU
Returns element 1 of this uint_4.
Definition: amp_short_vectors.h:1800
uint_2 get_wz() const __GPU
Returns a uint_2 that is composed of element 3, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2559
float_4 & operator+=(const float_4 &_Other) __GPU
Definition: amp_short_vectors.h:9297
double_3 get_xyz() const __GPU
Returns a double_3 that is composed of element 0, element 1, and element 2 of this double_3...
Definition: amp_short_vectors.h:19475
norm & ref_x() __GPU
Returns reference to element 0 of this norm_4.
Definition: amp_short_vectors.h:16159
double_3 get_zyx() const __GPU
Returns a double_3 that is composed of element 2, element 1, and element 0 of this double_4...
Definition: amp_short_vectors.h:20923
void set_yxz(const unorm_3 &_Value) __GPU
Set element 1, 0, and 2 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13539
float_3 get_xyw() const __GPU
Returns a float_3 that is composed of element 0, element 1, and element 3 of this float_4...
Definition: amp_short_vectors.h:9778
float get_y() const __GPU
Returns element 1 of this float_2.
Definition: amp_short_vectors.h:7951
unorm value_type
Definition: amp_short_vectors.h:24099
value_type _M_w
Definition: amp_short_vectors.h:12499
norm_2(float _V) __GPU
Definition: amp_short_vectors.h:15108
uint_4 get_wyzx() const __GPU
Returns a uint_4 that is composed of element 3, element 1, element 2, and element 0 of this uint_4...
Definition: amp_short_vectors.h:4097
void set_zy(const uint_2 &_Value) __GPU
Set element 2, and 1 of this uint_3 with a uint_2.
Definition: amp_short_vectors.h:1511
uint_4 operator++(int) __GPU
Definition: amp_short_vectors.h:2046
uint_3() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:1091
norm value_type
Definition: amp_short_vectors.h:16123
float_4 get_zxwy() const __GPU
Returns a float_4 that is composed of element 2, element 0, element 3, and element 1 of this float_4...
Definition: amp_short_vectors.h:10979
double_3 get_ywx() const __GPU
Returns a double_3 that is composed of element 1, element 3, and element 0 of this double_4...
Definition: amp_short_vectors.h:20791
graphics::norm_2 norm2
Definition: amp_short_vectors.h:23820
int_3 get_xzy() const __GPU
Returns an int_3 that is composed of element 0, element 2, and element 1 of this int_4.
Definition: amp_short_vectors.h:6342
value_type _M_z
Definition: amp_short_vectors.h:18942
void set_yz(const float_2 &_Value) __GPU
Set element 1, and 2 of this float_4 with a float_2.
Definition: amp_short_vectors.h:9499
void set_zx(const unorm_2 &_Value) __GPU
Set element 2, and 0 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13149
unorm & ref_w() __GPU
Returns reference to element 3 of this unorm_4.
Definition: amp_short_vectors.h:12677
norm_3 get_zyx() const __GPU
Returns a norm_3 that is composed of element 2, element 1, and element 0 of this norm_4.
Definition: amp_short_vectors.h:17454
void set_wyzx(const float_4 &_Value) __GPU
Set element 3, 1, 2, and 0 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11261
void set_xy(const uint_2 &_Value) __GPU
Set element 0, and 1 of this uint_3 with a uint_2.
Definition: amp_short_vectors.h:1351
int value_type
Definition: amp_short_vectors.h:4192
bool operator>(const unorm &_Lhs, const unorm &_Rhs) __GPU
Definition: amp_short_vectors.h:450
value_type _M_z
Definition: amp_short_vectors.h:8957
void set_y(norm _Value) __GPU
Set element 1 of this norm_2 with a norm.
Definition: amp_short_vectors.h:15036
uint_4 get_xwyz() const __GPU
Returns a uint_4 that is composed of element 0, element 3, element 1, and element 2 of this uint_4...
Definition: amp_short_vectors.h:3519
norm_3 get_zxw() const __GPU
Returns a norm_3 that is composed of element 2, element 0, and element 3 of this norm_4.
Definition: amp_short_vectors.h:17421
norm_4(norm _V) __GPU
Constructor.
Definition: amp_short_vectors.h:16421
int_3 & operator|=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4960
norm & ref_g() __GPU
Returns reference to element 1 of this norm_3.
Definition: amp_short_vectors.h:15423
value_type _M_x
Definition: amp_short_vectors.h:932
int_3 get_zxy() const __GPU
Returns an int_3 that is composed of element 2, element 0, and element 1 of this int_3.
Definition: amp_short_vectors.h:5344
void set_y(unsigned int _Value) __GPU
Set element 1 of this uint_4 with an unsigned int.
Definition: amp_short_vectors.h:1830
Represent a short vector of 4 norm's.
Definition: amp_short_vectors.h:16120
float_4 get_xywz() const __GPU
Returns a float_4 that is composed of element 0, element 1, element 3, and element 2 of this float_4...
Definition: amp_short_vectors.h:10571
norm_4 & operator*=(const norm_4 &_Other) __GPU
Definition: amp_short_vectors.h:16568
void set_xy(const unorm_2 &_Value) __GPU
Set element 0, and 1 of this unorm_2 with a unorm_2.
Definition: amp_short_vectors.h:11674
unorm_2 get_yw() const __GPU
Returns a unorm_2 that is composed of element 1, and element 3 of this unorm_4.
Definition: amp_short_vectors.h:13107
uint_4 get_wxyz() const __GPU
Returns a uint_4 that is composed of element 3, element 0, element 1, and element 2 of this uint_4...
Definition: amp_short_vectors.h:3995
int & ref_g() __GPU
Returns reference to element 1 of this int_2.
Definition: amp_short_vectors.h:4286
double_4 operator-() const __GPU
Definition: amp_short_vectors.h:19971
unorm_2 get_xy() const __GPU
Returns a unorm_2 that is composed of element 0, and element 1 of this unorm_4.
Definition: amp_short_vectors.h:12947
norm_4 get_wxzy() const __GPU
Returns a norm_4 that is composed of element 3, element 0, element 2, and element 1 of this norm_4...
Definition: amp_short_vectors.h:18430
int_4 & operator|=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5828
void set_xwy(const float_3 &_Value) __GPU
Set element 0, 3, and 1 of this float_4 with a float_3.
Definition: amp_short_vectors.h:9887
int get_x() const __GPU
Returns element 0 of this int_2.
Definition: amp_short_vectors.h:4216
uint_3 & operator&=(const uint_3 &_Other) __GPU
Definition: amp_short_vectors.h:1292
unsigned int & ref_r() __GPU
Returns reference to element 0 of this uint_3.
Definition: amp_short_vectors.h:972
int_3 get_xwy() const __GPU
Returns an int_3 that is composed of element 0, element 3, and element 1 of this int_4.
Definition: amp_short_vectors.h:6408
uint_2 get_xy() const __GPU
Returns a uint_2 that is composed of element 0, and element 1 of this uint_3.
Definition: amp_short_vectors.h:1341
int_3 operator++(int) __GPU
Definition: amp_short_vectors.h:4870
int_4 get_wyxz() const __GPU
Returns an int_4 that is composed of element 3, element 1, element 0, and element 2 of this int_4...
Definition: amp_short_vectors.h:7748
int_3 get_wxz() const __GPU
Returns an int_3 that is composed of element 3, element 0, and element 2 of this int_4.
Definition: amp_short_vectors.h:6903
norm_2() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:15045
unsigned int & ref_g() __GPU
Returns reference to element 1 of this uint_3.
Definition: amp_short_vectors.h:1022
void set_wzxy(const double_4 &_Value) __GPU
Set element 3, 2, 0, and 1 of this double_4 with a double_4.
Definition: amp_short_vectors.h:22011
unorm_4 & operator++() __GPU
Definition: amp_short_vectors.h:12847
norm_2 operator--(int) __GPU
Definition: amp_short_vectors.h:15208
void set_y(norm _Value) __GPU
Set element 1 of this norm_4 with a norm.
Definition: amp_short_vectors.h:16229
int_4 & operator-=(const int_4 &_Other) __GPU
Definition: amp_short_vectors.h:5768
double_3 & operator/=(const double_3 &_Other) __GPU
Definition: amp_short_vectors.h:19256
void set_xzw(const double_3 &_Value) __GPU
Set element 0, 2, and 3 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20570
double_4 get_wxzy() const __GPU
Returns a double_4 that is composed of element 3, element 0, element 2, and element 1 of this double_...
Definition: amp_short_vectors.h:21899
void set_wxyz(const float_4 &_Value) __GPU
Set element 3, 0, 1, and 2 of this float_4 with a float_4.
Definition: amp_short_vectors.h:11159
float_3 get_yxw() const __GPU
Returns a float_3 that is composed of element 1, element 0, and element 3 of this float_4...
Definition: amp_short_vectors.h:9976
norm_4 get_zwxy() const __GPU
Returns a norm_4 that is composed of element 2, element 3, element 0, and element 1 of this norm_4...
Definition: amp_short_vectors.h:18328
unorm get_y() const __GPU
Returns element 1 of this unorm_2.
Definition: amp_short_vectors.h:11420
norm_3 get_xzy() const __GPU
Returns a norm_3 that is composed of element 0, element 2, and element 1 of this norm_4.
Definition: amp_short_vectors.h:17058
unorm_4() __GPU
Default constructor, initializes all elements with 0.
Definition: amp_short_vectors.h:12706
int_4 get_ywzx() const __GPU
Returns an int_4 that is composed of element 1, element 3, element 2, and element 0 of this int_4...
Definition: amp_short_vectors.h:7442
double_2 get_yw() const __GPU
Returns a double_2 that is composed of element 1, and element 3 of this double_4. ...
Definition: amp_short_vectors.h:20237
unorm_3 & operator++() __GPU
Definition: amp_short_vectors.h:12014
void set_xy(const double_2 &_Value) __GPU
Set element 0, and 1 of this double_3 with a double_2.
Definition: amp_short_vectors.h:19293
norm_2 get_zy() const __GPU
Returns a norm_2 that is composed of element 2, and element 1 of this norm_3.
Definition: amp_short_vectors.h:15900
void set_zy(const float_2 &_Value) __GPU
Set element 2, and 1 of this float_3 with a float_2.
Definition: amp_short_vectors.h:8737
uint_3 get_xyz() const __GPU
Returns a uint_3 that is composed of element 0, element 1, and element 2 of this uint_4.
Definition: amp_short_vectors.h:2591
float clamp(float _X, float _Min, float _Max) __GPU_ONLY
Clamps _X to the specified _Min and _Max range
Definition: amp.h:7241
int_3 & operator%=(const int_3 &_Other) __GPU
Definition: amp_short_vectors.h:4938
void set_yx(const double_2 &_Value) __GPU
Set element 1, and 0 of this double_3 with a double_2.
Definition: amp_short_vectors.h:19357
void set_xyw(const unorm_3 &_Value) __GPU
Set element 0, 1, and 3 of this unorm_4 with a unorm_3.
Definition: amp_short_vectors.h:13374
void set_xy(const norm_2 &_Value) __GPU
Set element 0, and 1 of this norm_4 with a norm_2.
Definition: amp_short_vectors.h:16618
int get_x() const __GPU
Returns element 0 of this int_4.
Definition: amp_short_vectors.h:5429
void set_zy(const unorm_2 &_Value) __GPU
Set element 2, and 1 of this unorm_4 with a unorm_2.
Definition: amp_short_vectors.h:13181
void set_zxy(const double_3 &_Value) __GPU
Set element 2, 0, and 1 of this double_4 with a double_3.
Definition: amp_short_vectors.h:20867