Преглед на файлове

math: add "const" to many vector swizzling patterns to forbid constructs

such as "foo.xx = bar.xy".
legacy
Sam Hocevar sam преди 12 години
родител
ревизия
6838ff88b6
променени са 1 файла, в които са добавени 487 реда и са изтрити 487 реда
  1. +487
    -487
      src/lol/math/vector.h

+ 487
- 487
src/lol/math/vector.h Целия файл

@@ -136,36 +136,36 @@ template <typename T> struct Vec2
struct { T r, g; };
struct { T s, t; };

XVec2<T,0x00> xx, rr, ss;
XVec2<T,0x01> xy, rg, st;
XVec2<T,0x10> yx, gr, ts;
XVec2<T,0x11> yy, gg, tt;
XVec3<T,0x000> xxx, rrr, sss;
XVec3<T,0x001> xxy, rrg, sst;
XVec3<T,0x010> xyx, rgr, sts;
XVec3<T,0x011> xyy, rgg, stt;
XVec3<T,0x100> yxx, grr, tss;
XVec3<T,0x101> yxy, grg, tst;
XVec3<T,0x110> yyx, ggr, tts;
XVec3<T,0x111> yyy, ggg, ttt;
XVec4<T,0x0000> xxxx, rrrr, ssss;
XVec4<T,0x0001> xxxy, rrrg, ssst;
XVec4<T,0x0010> xxyx, rrgr, ssts;
XVec4<T,0x0011> xxyy, rrgg, sstt;
XVec4<T,0x0100> xyxx, rgrr, stss;
XVec4<T,0x0101> xyxy, rgrg, stst;
XVec4<T,0x0110> xyyx, rggr, stts;
XVec4<T,0x0111> xyyy, rggg, sttt;
XVec4<T,0x1000> yxxx, grrr, tsss;
XVec4<T,0x1001> yxxy, grrg, tsst;
XVec4<T,0x1010> yxyx, grgr, tsts;
XVec4<T,0x1011> yxyy, grgg, tstt;
XVec4<T,0x1100> yyxx, ggrr, ttss;
XVec4<T,0x1101> yyxy, ggrg, ttst;
XVec4<T,0x1110> yyyx, gggr, ttts;
XVec4<T,0x1111> yyyy, gggg, tttt;
XVec2<T,0x00> const xx, rr, ss;
XVec2<T,0x01> xy, rg, st;
XVec2<T,0x10> yx, gr, ts;
XVec2<T,0x11> const yy, gg, tt;
XVec3<T,0x000> const xxx, rrr, sss;
XVec3<T,0x001> const xxy, rrg, sst;
XVec3<T,0x010> const xyx, rgr, sts;
XVec3<T,0x011> const xyy, rgg, stt;
XVec3<T,0x100> const yxx, grr, tss;
XVec3<T,0x101> const yxy, grg, tst;
XVec3<T,0x110> const yyx, ggr, tts;
XVec3<T,0x111> const yyy, ggg, ttt;
XVec4<T,0x0000> const xxxx, rrrr, ssss;
XVec4<T,0x0001> const xxxy, rrrg, ssst;
XVec4<T,0x0010> const xxyx, rrgr, ssts;
XVec4<T,0x0011> const xxyy, rrgg, sstt;
XVec4<T,0x0100> const xyxx, rgrr, stss;
XVec4<T,0x0101> const xyxy, rgrg, stst;
XVec4<T,0x0110> const xyyx, rggr, stts;
XVec4<T,0x0111> const xyyy, rggg, sttt;
XVec4<T,0x1000> const yxxx, grrr, tsss;
XVec4<T,0x1001> const yxxy, grrg, tsst;
XVec4<T,0x1010> const yxyx, grgr, tsts;
XVec4<T,0x1011> const yxyy, grgg, tstt;
XVec4<T,0x1100> const yyxx, ggrr, ttss;
XVec4<T,0x1101> const yyxy, ggrg, ttst;
XVec4<T,0x1110> const yyyx, gggr, ttts;
XVec4<T,0x1111> const yyyy, gggg, tttt;
};
};

@@ -278,125 +278,125 @@ template <typename T> struct Vec3
struct { T r, g, b; };
struct { T s, t, p; };

XVec2<T,0x00> xx, rr, ss;
XVec2<T,0x01> xy, rg, st;
XVec2<T,0x02> xz, rb, sp;
XVec2<T,0x10> yx, gr, ts;
XVec2<T,0x11> yy, gg, tt;
XVec2<T,0x12> yz, gb, tp;
XVec2<T,0x20> zx, br, ps;
XVec2<T,0x21> zy, bg, pt;
XVec2<T,0x22> zz, bb, pp;
XVec3<T,0x000> xxx, rrr, sss;
XVec3<T,0x001> xxy, rrg, sst;
XVec3<T,0x002> xxz, rrb, ssp;
XVec3<T,0x010> xyx, rgr, sts;
XVec3<T,0x011> xyy, rgg, stt;
XVec3<T,0x012> xyz, rgb, stp;
XVec3<T,0x020> xzx, rbr, sps;
XVec3<T,0x021> xzy, rbg, spt;
XVec3<T,0x022> xzz, rbb, spp;
XVec3<T,0x100> yxx, grr, tss;
XVec3<T,0x101> yxy, grg, tst;
XVec3<T,0x102> yxz, grb, tsp;
XVec3<T,0x110> yyx, ggr, tts;
XVec3<T,0x111> yyy, ggg, ttt;
XVec3<T,0x112> yyz, ggb, ttp;
XVec3<T,0x120> yzx, gbr, tps;
XVec3<T,0x121> yzy, gbg, tpt;
XVec3<T,0x122> yzz, gbb, tpp;
XVec3<T,0x200> zxx, brr, pss;
XVec3<T,0x201> zxy, brg, pst;
XVec3<T,0x202> zxz, brb, psp;
XVec3<T,0x210> zyx, bgr, pts;
XVec3<T,0x211> zyy, bgg, ptt;
XVec3<T,0x212> zyz, bgb, ptp;
XVec3<T,0x220> zzx, bbr, pps;
XVec3<T,0x221> zzy, bbg, ppt;
XVec3<T,0x222> zzz, bbb, ppp;
XVec4<T,0x0000> xxxx, rrrr, ssss;
XVec4<T,0x0001> xxxy, rrrg, ssst;
XVec4<T,0x0002> xxxz, rrrb, sssp;
XVec4<T,0x0010> xxyx, rrgr, ssts;
XVec4<T,0x0011> xxyy, rrgg, sstt;
XVec4<T,0x0012> xxyz, rrgb, sstp;
XVec4<T,0x0020> xxzx, rrbr, ssps;
XVec4<T,0x0021> xxzy, rrbg, sspt;
XVec4<T,0x0022> xxzz, rrbb, sspp;
XVec4<T,0x0100> xyxx, rgrr, stss;
XVec4<T,0x0101> xyxy, rgrg, stst;
XVec4<T,0x0102> xyxz, rgrb, stsp;
XVec4<T,0x0110> xyyx, rggr, stts;
XVec4<T,0x0111> xyyy, rggg, sttt;
XVec4<T,0x0112> xyyz, rggb, sttp;
XVec4<T,0x0120> xyzx, rgbr, stps;
XVec4<T,0x0121> xyzy, rgbg, stpt;
XVec4<T,0x0122> xyzz, rgbb, stpp;
XVec4<T,0x0200> xzxx, rbrr, spss;
XVec4<T,0x0201> xzxy, rbrg, spst;
XVec4<T,0x0202> xzxz, rbrb, spsp;
XVec4<T,0x0210> xzyx, rbgr, spts;
XVec4<T,0x0211> xzyy, rbgg, sptt;
XVec4<T,0x0212> xzyz, rbgb, sptp;
XVec4<T,0x0220> xzzx, rbbr, spps;
XVec4<T,0x0221> xzzy, rbbg, sppt;
XVec4<T,0x0222> xzzz, rbbb, sppp;
XVec4<T,0x1000> yxxx, grrr, tsss;
XVec4<T,0x1001> yxxy, grrg, tsst;
XVec4<T,0x1002> yxxz, grrb, tssp;
XVec4<T,0x1010> yxyx, grgr, tsts;
XVec4<T,0x1011> yxyy, grgg, tstt;
XVec4<T,0x1012> yxyz, grgb, tstp;
XVec4<T,0x1020> yxzx, grbr, tsps;
XVec4<T,0x1021> yxzy, grbg, tspt;
XVec4<T,0x1022> yxzz, grbb, tspp;
XVec4<T,0x1100> yyxx, ggrr, ttss;
XVec4<T,0x1101> yyxy, ggrg, ttst;
XVec4<T,0x1102> yyxz, ggrb, ttsp;
XVec4<T,0x1110> yyyx, gggr, ttts;
XVec4<T,0x1111> yyyy, gggg, tttt;
XVec4<T,0x1112> yyyz, gggb, tttp;
XVec4<T,0x1120> yyzx, ggbr, ttps;
XVec4<T,0x1121> yyzy, ggbg, ttpt;
XVec4<T,0x1122> yyzz, ggbb, ttpp;
XVec4<T,0x1200> yzxx, gbrr, tpss;
XVec4<T,0x1201> yzxy, gbrg, tpst;
XVec4<T,0x1202> yzxz, gbrb, tpsp;
XVec4<T,0x1210> yzyx, gbgr, tpts;
XVec4<T,0x1211> yzyy, gbgg, tptt;
XVec4<T,0x1212> yzyz, gbgb, tptp;
XVec4<T,0x1220> yzzx, gbbr, tpps;
XVec4<T,0x1221> yzzy, gbbg, tppt;
XVec4<T,0x1222> yzzz, gbbb, tppp;
XVec4<T,0x2000> zxxx, brrr, psss;
XVec4<T,0x2001> zxxy, brrg, psst;
XVec4<T,0x2002> zxxz, brrb, pssp;
XVec4<T,0x2010> zxyx, brgr, psts;
XVec4<T,0x2011> zxyy, brgg, pstt;
XVec4<T,0x2012> zxyz, brgb, pstp;
XVec4<T,0x2020> zxzx, brbr, psps;
XVec4<T,0x2021> zxzy, brbg, pspt;
XVec4<T,0x2022> zxzz, brbb, pspp;
XVec4<T,0x2100> zyxx, bgrr, ptss;
XVec4<T,0x2101> zyxy, bgrg, ptst;
XVec4<T,0x2102> zyxz, bgrb, ptsp;
XVec4<T,0x2110> zyyx, bggr, ptts;
XVec4<T,0x2111> zyyy, bggg, pttt;
XVec4<T,0x2112> zyyz, bggb, pttp;
XVec4<T,0x2120> zyzx, bgbr, ptps;
XVec4<T,0x2121> zyzy, bgbg, ptpt;
XVec4<T,0x2122> zyzz, bgbb, ptpp;
XVec4<T,0x2200> zzxx, bbrr, ppss;
XVec4<T,0x2201> zzxy, bbrg, ppst;
XVec4<T,0x2202> zzxz, bbrb, ppsp;
XVec4<T,0x2210> zzyx, bbgr, ppts;
XVec4<T,0x2211> zzyy, bbgg, pptt;
XVec4<T,0x2212> zzyz, bbgb, pptp;
XVec4<T,0x2220> zzzx, bbbr, ppps;
XVec4<T,0x2221> zzzy, bbbg, pppt;
XVec4<T,0x2222> zzzz, bbbb, pppp;
XVec2<T,0x00> const xx, rr, ss;
XVec2<T,0x01> xy, rg, st;
XVec2<T,0x02> xz, rb, sp;
XVec2<T,0x10> yx, gr, ts;
XVec2<T,0x11> const yy, gg, tt;
XVec2<T,0x12> yz, gb, tp;
XVec2<T,0x20> zx, br, ps;
XVec2<T,0x21> zy, bg, pt;
XVec2<T,0x22> const zz, bb, pp;
XVec3<T,0x000> const xxx, rrr, sss;
XVec3<T,0x001> const xxy, rrg, sst;
XVec3<T,0x002> const xxz, rrb, ssp;
XVec3<T,0x010> const xyx, rgr, sts;
XVec3<T,0x011> const xyy, rgg, stt;
XVec3<T,0x012> xyz, rgb, stp;
XVec3<T,0x020> const xzx, rbr, sps;
XVec3<T,0x021> xzy, rbg, spt;
XVec3<T,0x022> const xzz, rbb, spp;
XVec3<T,0x100> const yxx, grr, tss;
XVec3<T,0x101> const yxy, grg, tst;
XVec3<T,0x102> yxz, grb, tsp;
XVec3<T,0x110> const yyx, ggr, tts;
XVec3<T,0x111> const yyy, ggg, ttt;
XVec3<T,0x112> const yyz, ggb, ttp;
XVec3<T,0x120> yzx, gbr, tps;
XVec3<T,0x121> const yzy, gbg, tpt;
XVec3<T,0x122> const yzz, gbb, tpp;
XVec3<T,0x200> const zxx, brr, pss;
XVec3<T,0x201> zxy, brg, pst;
XVec3<T,0x202> const zxz, brb, psp;
XVec3<T,0x210> zyx, bgr, pts;
XVec3<T,0x211> const zyy, bgg, ptt;
XVec3<T,0x212> const zyz, bgb, ptp;
XVec3<T,0x220> const zzx, bbr, pps;
XVec3<T,0x221> const zzy, bbg, ppt;
XVec3<T,0x222> const zzz, bbb, ppp;
XVec4<T,0x0000> const xxxx, rrrr, ssss;
XVec4<T,0x0001> const xxxy, rrrg, ssst;
XVec4<T,0x0002> const xxxz, rrrb, sssp;
XVec4<T,0x0010> const xxyx, rrgr, ssts;
XVec4<T,0x0011> const xxyy, rrgg, sstt;
XVec4<T,0x0012> const xxyz, rrgb, sstp;
XVec4<T,0x0020> const xxzx, rrbr, ssps;
XVec4<T,0x0021> const xxzy, rrbg, sspt;
XVec4<T,0x0022> const xxzz, rrbb, sspp;
XVec4<T,0x0100> const xyxx, rgrr, stss;
XVec4<T,0x0101> const xyxy, rgrg, stst;
XVec4<T,0x0102> const xyxz, rgrb, stsp;
XVec4<T,0x0110> const xyyx, rggr, stts;
XVec4<T,0x0111> const xyyy, rggg, sttt;
XVec4<T,0x0112> const xyyz, rggb, sttp;
XVec4<T,0x0120> const xyzx, rgbr, stps;
XVec4<T,0x0121> const xyzy, rgbg, stpt;
XVec4<T,0x0122> const xyzz, rgbb, stpp;
XVec4<T,0x0200> const xzxx, rbrr, spss;
XVec4<T,0x0201> const xzxy, rbrg, spst;
XVec4<T,0x0202> const xzxz, rbrb, spsp;
XVec4<T,0x0210> const xzyx, rbgr, spts;
XVec4<T,0x0211> const xzyy, rbgg, sptt;
XVec4<T,0x0212> const xzyz, rbgb, sptp;
XVec4<T,0x0220> const xzzx, rbbr, spps;
XVec4<T,0x0221> const xzzy, rbbg, sppt;
XVec4<T,0x0222> const xzzz, rbbb, sppp;
XVec4<T,0x1000> const yxxx, grrr, tsss;
XVec4<T,0x1001> const yxxy, grrg, tsst;
XVec4<T,0x1002> const yxxz, grrb, tssp;
XVec4<T,0x1010> const yxyx, grgr, tsts;
XVec4<T,0x1011> const yxyy, grgg, tstt;
XVec4<T,0x1012> const yxyz, grgb, tstp;
XVec4<T,0x1020> const yxzx, grbr, tsps;
XVec4<T,0x1021> const yxzy, grbg, tspt;
XVec4<T,0x1022> const yxzz, grbb, tspp;
XVec4<T,0x1100> const yyxx, ggrr, ttss;
XVec4<T,0x1101> const yyxy, ggrg, ttst;
XVec4<T,0x1102> const yyxz, ggrb, ttsp;
XVec4<T,0x1110> const yyyx, gggr, ttts;
XVec4<T,0x1111> const yyyy, gggg, tttt;
XVec4<T,0x1112> const yyyz, gggb, tttp;
XVec4<T,0x1120> const yyzx, ggbr, ttps;
XVec4<T,0x1121> const yyzy, ggbg, ttpt;
XVec4<T,0x1122> const yyzz, ggbb, ttpp;
XVec4<T,0x1200> const yzxx, gbrr, tpss;
XVec4<T,0x1201> const yzxy, gbrg, tpst;
XVec4<T,0x1202> const yzxz, gbrb, tpsp;
XVec4<T,0x1210> const yzyx, gbgr, tpts;
XVec4<T,0x1211> const yzyy, gbgg, tptt;
XVec4<T,0x1212> const yzyz, gbgb, tptp;
XVec4<T,0x1220> const yzzx, gbbr, tpps;
XVec4<T,0x1221> const yzzy, gbbg, tppt;
XVec4<T,0x1222> const yzzz, gbbb, tppp;
XVec4<T,0x2000> const zxxx, brrr, psss;
XVec4<T,0x2001> const zxxy, brrg, psst;
XVec4<T,0x2002> const zxxz, brrb, pssp;
XVec4<T,0x2010> const zxyx, brgr, psts;
XVec4<T,0x2011> const zxyy, brgg, pstt;
XVec4<T,0x2012> const zxyz, brgb, pstp;
XVec4<T,0x2020> const zxzx, brbr, psps;
XVec4<T,0x2021> const zxzy, brbg, pspt;
XVec4<T,0x2022> const zxzz, brbb, pspp;
XVec4<T,0x2100> const zyxx, bgrr, ptss;
XVec4<T,0x2101> const zyxy, bgrg, ptst;
XVec4<T,0x2102> const zyxz, bgrb, ptsp;
XVec4<T,0x2110> const zyyx, bggr, ptts;
XVec4<T,0x2111> const zyyy, bggg, pttt;
XVec4<T,0x2112> const zyyz, bggb, pttp;
XVec4<T,0x2120> const zyzx, bgbr, ptps;
XVec4<T,0x2121> const zyzy, bgbg, ptpt;
XVec4<T,0x2122> const zyzz, bgbb, ptpp;
XVec4<T,0x2200> const zzxx, bbrr, ppss;
XVec4<T,0x2201> const zzxy, bbrg, ppst;
XVec4<T,0x2202> const zzxz, bbrb, ppsp;
XVec4<T,0x2210> const zzyx, bbgr, ppts;
XVec4<T,0x2211> const zzyy, bbgg, pptt;
XVec4<T,0x2212> const zzyz, bbgb, pptp;
XVec4<T,0x2220> const zzzx, bbbr, ppps;
XVec4<T,0x2221> const zzzy, bbbg, pppt;
XVec4<T,0x2222> const zzzz, bbbb, pppp;
};
};

@@ -438,344 +438,344 @@ template <typename T> struct Vec4
struct { T r, g, b, a; };
struct { T s, t, p, q; };

XVec2<T,0x00> xx, rr, ss;
XVec2<T,0x01> xy, rg, st;
XVec2<T,0x02> xz, rb, sp;
XVec2<T,0x03> xw, ra, sq;
XVec2<T,0x10> yx, gr, ts;
XVec2<T,0x11> yy, gg, tt;
XVec2<T,0x12> yz, gb, tp;
XVec2<T,0x13> yw, ga, tq;
XVec2<T,0x20> zx, br, ps;
XVec2<T,0x21> zy, bg, pt;
XVec2<T,0x22> zz, bb, pp;
XVec2<T,0x23> zw, ba, pq;
XVec2<T,0x30> wx, ar, qs;
XVec2<T,0x31> wy, ag, qt;
XVec2<T,0x32> wz, ab, qp;
XVec2<T,0x33> ww, aa, qq;
XVec3<T,0x000> xxx, rrr, sss;
XVec3<T,0x001> xxy, rrg, sst;
XVec3<T,0x002> xxz, rrb, ssp;
XVec3<T,0x003> xxw, rra, ssq;
XVec3<T,0x010> xyx, rgr, sts;
XVec3<T,0x011> xyy, rgg, stt;
XVec3<T,0x012> xyz, rgb, stp;
XVec3<T,0x013> xyw, rga, stq;
XVec3<T,0x020> xzx, rbr, sps;
XVec3<T,0x021> xzy, rbg, spt;
XVec3<T,0x022> xzz, rbb, spp;
XVec3<T,0x023> xzw, rba, spq;
XVec3<T,0x030> xwx, rar, sqs;
XVec3<T,0x031> xwy, rag, sqt;
XVec3<T,0x032> xwz, rab, sqp;
XVec3<T,0x033> xww, raa, sqq;
XVec3<T,0x100> yxx, grr, tss;
XVec3<T,0x101> yxy, grg, tst;
XVec3<T,0x102> yxz, grb, tsp;
XVec3<T,0x103> yxw, gra, tsq;
XVec3<T,0x110> yyx, ggr, tts;
XVec3<T,0x111> yyy, ggg, ttt;
XVec3<T,0x112> yyz, ggb, ttp;
XVec3<T,0x113> yyw, gga, ttq;
XVec3<T,0x120> yzx, gbr, tps;
XVec3<T,0x121> yzy, gbg, tpt;
XVec3<T,0x122> yzz, gbb, tpp;
XVec3<T,0x123> yzw, gba, tpq;
XVec3<T,0x130> ywx, gar, tqs;
XVec3<T,0x131> ywy, gag, tqt;
XVec3<T,0x132> ywz, gab, tqp;
XVec3<T,0x133> yww, gaa, tqq;
XVec3<T,0x200> zxx, brr, pss;
XVec3<T,0x201> zxy, brg, pst;
XVec3<T,0x202> zxz, brb, psp;
XVec3<T,0x203> zxw, bra, psq;
XVec3<T,0x210> zyx, bgr, pts;
XVec3<T,0x211> zyy, bgg, ptt;
XVec3<T,0x212> zyz, bgb, ptp;
XVec3<T,0x213> zyw, bga, ptq;
XVec3<T,0x220> zzx, bbr, pps;
XVec3<T,0x221> zzy, bbg, ppt;
XVec3<T,0x222> zzz, bbb, ppp;
XVec3<T,0x223> zzw, bba, ppq;
XVec3<T,0x230> zwx, bar, pqs;
XVec3<T,0x231> zwy, bag, pqt;
XVec3<T,0x232> zwz, bab, pqp;
XVec3<T,0x233> zww, baa, pqq;
XVec3<T,0x300> wxx, arr, qss;
XVec3<T,0x301> wxy, arg, qst;
XVec3<T,0x302> wxz, arb, qsp;
XVec3<T,0x303> wxw, ara, qsq;
XVec3<T,0x310> wyx, agr, qts;
XVec3<T,0x311> wyy, agg, qtt;
XVec3<T,0x312> wyz, agb, qtp;
XVec3<T,0x313> wyw, aga, qtq;
XVec3<T,0x320> wzx, abr, qps;
XVec3<T,0x321> wzy, abg, qpt;
XVec3<T,0x322> wzz, abb, qpp;
XVec3<T,0x323> wzw, aba, qpq;
XVec3<T,0x330> wwx, aar, qqs;
XVec3<T,0x331> wwy, aag, qqt;
XVec3<T,0x332> wwz, aab, qqp;
XVec3<T,0x333> www, aaa, qqq;
XVec4<T,0x0000> xxxx, rrrr, ssss;
XVec4<T,0x0001> xxxy, rrrg, ssst;
XVec4<T,0x0002> xxxz, rrrb, sssp;
XVec4<T,0x0003> xxxw, rrra, sssq;
XVec4<T,0x0010> xxyx, rrgr, ssts;
XVec4<T,0x0011> xxyy, rrgg, sstt;
XVec4<T,0x0012> xxyz, rrgb, sstp;
XVec4<T,0x0013> xxyw, rrga, sstq;
XVec4<T,0x0020> xxzx, rrbr, ssps;
XVec4<T,0x0021> xxzy, rrbg, sspt;
XVec4<T,0x0022> xxzz, rrbb, sspp;
XVec4<T,0x0023> xxzw, rrba, sspq;
XVec4<T,0x0030> xxwx, rrar, ssqs;
XVec4<T,0x0031> xxwy, rrag, ssqt;
XVec4<T,0x0032> xxwz, rrab, ssqp;
XVec4<T,0x0033> xxww, rraa, ssqq;
XVec4<T,0x0100> xyxx, rgrr, stss;
XVec4<T,0x0101> xyxy, rgrg, stst;
XVec4<T,0x0102> xyxz, rgrb, stsp;
XVec4<T,0x0103> xyxw, rgra, stsq;
XVec4<T,0x0110> xyyx, rggr, stts;
XVec4<T,0x0111> xyyy, rggg, sttt;
XVec4<T,0x0112> xyyz, rggb, sttp;
XVec4<T,0x0113> xyyw, rgga, sttq;
XVec4<T,0x0120> xyzx, rgbr, stps;
XVec4<T,0x0121> xyzy, rgbg, stpt;
XVec4<T,0x0122> xyzz, rgbb, stpp;
XVec4<T,0x0123> xyzw, rgba, stpq;
XVec4<T,0x0130> xywx, rgar, stqs;
XVec4<T,0x0131> xywy, rgag, stqt;
XVec4<T,0x0132> xywz, rgab, stqp;
XVec4<T,0x0133> xyww, rgaa, stqq;
XVec4<T,0x0200> xzxx, rbrr, spss;
XVec4<T,0x0201> xzxy, rbrg, spst;
XVec4<T,0x0202> xzxz, rbrb, spsp;
XVec4<T,0x0203> xzxw, rbra, spsq;
XVec4<T,0x0210> xzyx, rbgr, spts;
XVec4<T,0x0211> xzyy, rbgg, sptt;
XVec4<T,0x0212> xzyz, rbgb, sptp;
XVec4<T,0x0213> xzyw, rbga, sptq;
XVec4<T,0x0220> xzzx, rbbr, spps;
XVec4<T,0x0221> xzzy, rbbg, sppt;
XVec4<T,0x0222> xzzz, rbbb, sppp;
XVec4<T,0x0223> xzzw, rbba, sppq;
XVec4<T,0x0230> xzwx, rbar, spqs;
XVec4<T,0x0231> xzwy, rbag, spqt;
XVec4<T,0x0232> xzwz, rbab, spqp;
XVec4<T,0x0233> xzww, rbaa, spqq;
XVec4<T,0x0300> xwxx, rarr, sqss;
XVec4<T,0x0301> xwxy, rarg, sqst;
XVec4<T,0x0302> xwxz, rarb, sqsp;
XVec4<T,0x0303> xwxw, rara, sqsq;
XVec4<T,0x0310> xwyx, ragr, sqts;
XVec4<T,0x0311> xwyy, ragg, sqtt;
XVec4<T,0x0312> xwyz, ragb, sqtp;
XVec4<T,0x0313> xwyw, raga, sqtq;
XVec4<T,0x0320> xwzx, rabr, sqps;
XVec4<T,0x0321> xwzy, rabg, sqpt;
XVec4<T,0x0322> xwzz, rabb, sqpp;
XVec4<T,0x0323> xwzw, raba, sqpq;
XVec4<T,0x0330> xwwx, raar, sqqs;
XVec4<T,0x0331> xwwy, raag, sqqt;
XVec4<T,0x0332> xwwz, raab, sqqp;
XVec4<T,0x0333> xwww, raaa, sqqq;
XVec4<T,0x1000> yxxx, grrr, tsss;
XVec4<T,0x1001> yxxy, grrg, tsst;
XVec4<T,0x1002> yxxz, grrb, tssp;
XVec4<T,0x1003> yxxw, grra, tssq;
XVec4<T,0x1010> yxyx, grgr, tsts;
XVec4<T,0x1011> yxyy, grgg, tstt;
XVec4<T,0x1012> yxyz, grgb, tstp;
XVec4<T,0x1013> yxyw, grga, tstq;
XVec4<T,0x1020> yxzx, grbr, tsps;
XVec4<T,0x1021> yxzy, grbg, tspt;
XVec4<T,0x1022> yxzz, grbb, tspp;
XVec4<T,0x1023> yxzw, grba, tspq;
XVec4<T,0x1030> yxwx, grar, tsqs;
XVec4<T,0x1031> yxwy, grag, tsqt;
XVec4<T,0x1032> yxwz, grab, tsqp;
XVec4<T,0x1033> yxww, graa, tsqq;
XVec4<T,0x1100> yyxx, ggrr, ttss;
XVec4<T,0x1101> yyxy, ggrg, ttst;
XVec4<T,0x1102> yyxz, ggrb, ttsp;
XVec4<T,0x1103> yyxw, ggra, ttsq;
XVec4<T,0x1110> yyyx, gggr, ttts;
XVec4<T,0x1111> yyyy, gggg, tttt;
XVec4<T,0x1112> yyyz, gggb, tttp;
XVec4<T,0x1113> yyyw, ggga, tttq;
XVec4<T,0x1120> yyzx, ggbr, ttps;
XVec4<T,0x1121> yyzy, ggbg, ttpt;
XVec4<T,0x1122> yyzz, ggbb, ttpp;
XVec4<T,0x1123> yyzw, ggba, ttpq;
XVec4<T,0x1130> yywx, ggar, ttqs;
XVec4<T,0x1131> yywy, ggag, ttqt;
XVec4<T,0x1132> yywz, ggab, ttqp;
XVec4<T,0x1133> yyww, ggaa, ttqq;
XVec4<T,0x1200> yzxx, gbrr, tpss;
XVec4<T,0x1201> yzxy, gbrg, tpst;
XVec4<T,0x1202> yzxz, gbrb, tpsp;
XVec4<T,0x1203> yzxw, gbra, tpsq;
XVec4<T,0x1210> yzyx, gbgr, tpts;
XVec4<T,0x1211> yzyy, gbgg, tptt;
XVec4<T,0x1212> yzyz, gbgb, tptp;
XVec4<T,0x1213> yzyw, gbga, tptq;
XVec4<T,0x1220> yzzx, gbbr, tpps;
XVec4<T,0x1221> yzzy, gbbg, tppt;
XVec4<T,0x1222> yzzz, gbbb, tppp;
XVec4<T,0x1223> yzzw, gbba, tppq;
XVec4<T,0x1230> yzwx, gbar, tpqs;
XVec4<T,0x1231> yzwy, gbag, tpqt;
XVec4<T,0x1232> yzwz, gbab, tpqp;
XVec4<T,0x1233> yzww, gbaa, tpqq;
XVec4<T,0x1300> ywxx, garr, tqss;
XVec4<T,0x1301> ywxy, garg, tqst;
XVec4<T,0x1302> ywxz, garb, tqsp;
XVec4<T,0x1303> ywxw, gara, tqsq;
XVec4<T,0x1310> ywyx, gagr, tqts;
XVec4<T,0x1311> ywyy, gagg, tqtt;
XVec4<T,0x1312> ywyz, gagb, tqtp;
XVec4<T,0x1313> ywyw, gaga, tqtq;
XVec4<T,0x1320> ywzx, gabr, tqps;
XVec4<T,0x1321> ywzy, gabg, tqpt;
XVec4<T,0x1322> ywzz, gabb, tqpp;
XVec4<T,0x1323> ywzw, gaba, tqpq;
XVec4<T,0x1330> ywwx, gaar, tqqs;
XVec4<T,0x1331> ywwy, gaag, tqqt;
XVec4<T,0x1332> ywwz, gaab, tqqp;
XVec4<T,0x1333> ywww, gaaa, tqqq;
XVec4<T,0x2000> zxxx, brrr, psss;
XVec4<T,0x2001> zxxy, brrg, psst;
XVec4<T,0x2002> zxxz, brrb, pssp;
XVec4<T,0x2003> zxxw, brra, pssq;
XVec4<T,0x2010> zxyx, brgr, psts;
XVec4<T,0x2011> zxyy, brgg, pstt;
XVec4<T,0x2012> zxyz, brgb, pstp;
XVec4<T,0x2013> zxyw, brga, pstq;
XVec4<T,0x2020> zxzx, brbr, psps;
XVec4<T,0x2021> zxzy, brbg, pspt;
XVec4<T,0x2022> zxzz, brbb, pspp;
XVec4<T,0x2023> zxzw, brba, pspq;
XVec4<T,0x2030> zxwx, brar, psqs;
XVec4<T,0x2031> zxwy, brag, psqt;
XVec4<T,0x2032> zxwz, brab, psqp;
XVec4<T,0x2033> zxww, braa, psqq;
XVec4<T,0x2100> zyxx, bgrr, ptss;
XVec4<T,0x2101> zyxy, bgrg, ptst;
XVec4<T,0x2102> zyxz, bgrb, ptsp;
XVec4<T,0x2103> zyxw, bgra, ptsq;
XVec4<T,0x2110> zyyx, bggr, ptts;
XVec4<T,0x2111> zyyy, bggg, pttt;
XVec4<T,0x2112> zyyz, bggb, pttp;
XVec4<T,0x2113> zyyw, bgga, pttq;
XVec4<T,0x2120> zyzx, bgbr, ptps;
XVec4<T,0x2121> zyzy, bgbg, ptpt;
XVec4<T,0x2122> zyzz, bgbb, ptpp;
XVec4<T,0x2123> zyzw, bgba, ptpq;
XVec4<T,0x2130> zywx, bgar, ptqs;
XVec4<T,0x2131> zywy, bgag, ptqt;
XVec4<T,0x2132> zywz, bgab, ptqp;
XVec4<T,0x2133> zyww, bgaa, ptqq;
XVec4<T,0x2200> zzxx, bbrr, ppss;
XVec4<T,0x2201> zzxy, bbrg, ppst;
XVec4<T,0x2202> zzxz, bbrb, ppsp;
XVec4<T,0x2203> zzxw, bbra, ppsq;
XVec4<T,0x2210> zzyx, bbgr, ppts;
XVec4<T,0x2211> zzyy, bbgg, pptt;
XVec4<T,0x2212> zzyz, bbgb, pptp;
XVec4<T,0x2213> zzyw, bbga, pptq;
XVec4<T,0x2220> zzzx, bbbr, ppps;
XVec4<T,0x2221> zzzy, bbbg, pppt;
XVec4<T,0x2222> zzzz, bbbb, pppp;
XVec4<T,0x2223> zzzw, bbba, pppq;
XVec4<T,0x2230> zzwx, bbar, ppqs;
XVec4<T,0x2231> zzwy, bbag, ppqt;
XVec4<T,0x2232> zzwz, bbab, ppqp;
XVec4<T,0x2233> zzww, bbaa, ppqq;
XVec4<T,0x2300> zwxx, barr, pqss;
XVec4<T,0x2301> zwxy, barg, pqst;
XVec4<T,0x2302> zwxz, barb, pqsp;
XVec4<T,0x2303> zwxw, bara, pqsq;
XVec4<T,0x2310> zwyx, bagr, pqts;
XVec4<T,0x2311> zwyy, bagg, pqtt;
XVec4<T,0x2312> zwyz, bagb, pqtp;
XVec4<T,0x2313> zwyw, baga, pqtq;
XVec4<T,0x2320> zwzx, babr, pqps;
XVec4<T,0x2321> zwzy, babg, pqpt;
XVec4<T,0x2322> zwzz, babb, pqpp;
XVec4<T,0x2323> zwzw, baba, pqpq;
XVec4<T,0x2330> zwwx, baar, pqqs;
XVec4<T,0x2331> zwwy, baag, pqqt;
XVec4<T,0x2332> zwwz, baab, pqqp;
XVec4<T,0x2333> zwww, baaa, pqqq;
XVec4<T,0x3000> wxxx, arrr, qsss;
XVec4<T,0x3001> wxxy, arrg, qsst;
XVec4<T,0x3002> wxxz, arrb, qssp;
XVec4<T,0x3003> wxxw, arra, qssq;
XVec4<T,0x3010> wxyx, argr, qsts;
XVec4<T,0x3011> wxyy, argg, qstt;
XVec4<T,0x3012> wxyz, argb, qstp;
XVec4<T,0x3013> wxyw, arga, qstq;
XVec4<T,0x3020> wxzx, arbr, qsps;
XVec4<T,0x3021> wxzy, arbg, qspt;
XVec4<T,0x3022> wxzz, arbb, qspp;
XVec4<T,0x3023> wxzw, arba, qspq;
XVec4<T,0x3030> wxwx, arar, qsqs;
XVec4<T,0x3031> wxwy, arag, qsqt;
XVec4<T,0x3032> wxwz, arab, qsqp;
XVec4<T,0x3033> wxww, araa, qsqq;
XVec4<T,0x3100> wyxx, agrr, qtss;
XVec4<T,0x3101> wyxy, agrg, qtst;
XVec4<T,0x3102> wyxz, agrb, qtsp;
XVec4<T,0x3103> wyxw, agra, qtsq;
XVec4<T,0x3110> wyyx, aggr, qtts;
XVec4<T,0x3111> wyyy, aggg, qttt;
XVec4<T,0x3112> wyyz, aggb, qttp;
XVec4<T,0x3113> wyyw, agga, qttq;
XVec4<T,0x3120> wyzx, agbr, qtps;
XVec4<T,0x3121> wyzy, agbg, qtpt;
XVec4<T,0x3122> wyzz, agbb, qtpp;
XVec4<T,0x3123> wyzw, agba, qtpq;
XVec4<T,0x3130> wywx, agar, qtqs;
XVec4<T,0x3131> wywy, agag, qtqt;
XVec4<T,0x3132> wywz, agab, qtqp;
XVec4<T,0x3133> wyww, agaa, qtqq;
XVec4<T,0x3200> wzxx, abrr, qpss;
XVec4<T,0x3201> wzxy, abrg, qpst;
XVec4<T,0x3202> wzxz, abrb, qpsp;
XVec4<T,0x3203> wzxw, abra, qpsq;
XVec4<T,0x3210> wzyx, abgr, qpts;
XVec4<T,0x3211> wzyy, abgg, qptt;
XVec4<T,0x3212> wzyz, abgb, qptp;
XVec4<T,0x3213> wzyw, abga, qptq;
XVec4<T,0x3220> wzzx, abbr, qpps;
XVec4<T,0x3221> wzzy, abbg, qppt;
XVec4<T,0x3222> wzzz, abbb, qppp;
XVec4<T,0x3223> wzzw, abba, qppq;
XVec4<T,0x3230> wzwx, abar, qpqs;
XVec4<T,0x3231> wzwy, abag, qpqt;
XVec4<T,0x3232> wzwz, abab, qpqp;
XVec4<T,0x3233> wzww, abaa, qpqq;
XVec4<T,0x3300> wwxx, aarr, qqss;
XVec4<T,0x3301> wwxy, aarg, qqst;
XVec4<T,0x3302> wwxz, aarb, qqsp;
XVec4<T,0x3303> wwxw, aara, qqsq;
XVec4<T,0x3310> wwyx, aagr, qqts;
XVec4<T,0x3311> wwyy, aagg, qqtt;
XVec4<T,0x3312> wwyz, aagb, qqtp;
XVec4<T,0x3313> wwyw, aaga, qqtq;
XVec4<T,0x3320> wwzx, aabr, qqps;
XVec4<T,0x3321> wwzy, aabg, qqpt;
XVec4<T,0x3322> wwzz, aabb, qqpp;
XVec4<T,0x3323> wwzw, aaba, qqpq;
XVec4<T,0x3330> wwwx, aaar, qqqs;
XVec4<T,0x3331> wwwy, aaag, qqqt;
XVec4<T,0x3332> wwwz, aaab, qqqp;
XVec4<T,0x3333> wwww, aaaa, qqqq;
XVec2<T,0x00> const xx, rr, ss;
XVec2<T,0x01> xy, rg, st;
XVec2<T,0x02> xz, rb, sp;
XVec2<T,0x03> xw, ra, sq;
XVec2<T,0x10> yx, gr, ts;
XVec2<T,0x11> const yy, gg, tt;
XVec2<T,0x12> yz, gb, tp;
XVec2<T,0x13> yw, ga, tq;
XVec2<T,0x20> zx, br, ps;
XVec2<T,0x21> zy, bg, pt;
XVec2<T,0x22> const zz, bb, pp;
XVec2<T,0x23> zw, ba, pq;
XVec2<T,0x30> wx, ar, qs;
XVec2<T,0x31> wy, ag, qt;
XVec2<T,0x32> wz, ab, qp;
XVec2<T,0x33> const ww, aa, qq;
XVec3<T,0x000> const xxx, rrr, sss;
XVec3<T,0x001> const xxy, rrg, sst;
XVec3<T,0x002> const xxz, rrb, ssp;
XVec3<T,0x003> const xxw, rra, ssq;
XVec3<T,0x010> const xyx, rgr, sts;
XVec3<T,0x011> const xyy, rgg, stt;
XVec3<T,0x012> xyz, rgb, stp;
XVec3<T,0x013> xyw, rga, stq;
XVec3<T,0x020> const xzx, rbr, sps;
XVec3<T,0x021> xzy, rbg, spt;
XVec3<T,0x022> const xzz, rbb, spp;
XVec3<T,0x023> xzw, rba, spq;
XVec3<T,0x030> const xwx, rar, sqs;
XVec3<T,0x031> xwy, rag, sqt;
XVec3<T,0x032> xwz, rab, sqp;
XVec3<T,0x033> const xww, raa, sqq;
XVec3<T,0x100> const yxx, grr, tss;
XVec3<T,0x101> const yxy, grg, tst;
XVec3<T,0x102> yxz, grb, tsp;
XVec3<T,0x103> yxw, gra, tsq;
XVec3<T,0x110> const yyx, ggr, tts;
XVec3<T,0x111> const yyy, ggg, ttt;
XVec3<T,0x112> const yyz, ggb, ttp;
XVec3<T,0x113> const yyw, gga, ttq;
XVec3<T,0x120> yzx, gbr, tps;
XVec3<T,0x121> const yzy, gbg, tpt;
XVec3<T,0x122> const yzz, gbb, tpp;
XVec3<T,0x123> yzw, gba, tpq;
XVec3<T,0x130> ywx, gar, tqs;
XVec3<T,0x131> const ywy, gag, tqt;
XVec3<T,0x132> ywz, gab, tqp;
XVec3<T,0x133> const yww, gaa, tqq;
XVec3<T,0x200> const zxx, brr, pss;
XVec3<T,0x201> zxy, brg, pst;
XVec3<T,0x202> const zxz, brb, psp;
XVec3<T,0x203> zxw, bra, psq;
XVec3<T,0x210> zyx, bgr, pts;
XVec3<T,0x211> const zyy, bgg, ptt;
XVec3<T,0x212> const zyz, bgb, ptp;
XVec3<T,0x213> zyw, bga, ptq;
XVec3<T,0x220> const zzx, bbr, pps;
XVec3<T,0x221> const zzy, bbg, ppt;
XVec3<T,0x222> const zzz, bbb, ppp;
XVec3<T,0x223> const zzw, bba, ppq;
XVec3<T,0x230> zwx, bar, pqs;
XVec3<T,0x231> zwy, bag, pqt;
XVec3<T,0x232> const zwz, bab, pqp;
XVec3<T,0x233> const zww, baa, pqq;
XVec3<T,0x300> const wxx, arr, qss;
XVec3<T,0x301> wxy, arg, qst;
XVec3<T,0x302> wxz, arb, qsp;
XVec3<T,0x303> const wxw, ara, qsq;
XVec3<T,0x310> wyx, agr, qts;
XVec3<T,0x311> const wyy, agg, qtt;
XVec3<T,0x312> wyz, agb, qtp;
XVec3<T,0x313> const wyw, aga, qtq;
XVec3<T,0x320> wzx, abr, qps;
XVec3<T,0x321> wzy, abg, qpt;
XVec3<T,0x322> const wzz, abb, qpp;
XVec3<T,0x323> const wzw, aba, qpq;
XVec3<T,0x330> const wwx, aar, qqs;
XVec3<T,0x331> const wwy, aag, qqt;
XVec3<T,0x332> const wwz, aab, qqp;
XVec3<T,0x333> const www, aaa, qqq;
XVec4<T,0x0000> const xxxx, rrrr, ssss;
XVec4<T,0x0001> const xxxy, rrrg, ssst;
XVec4<T,0x0002> const xxxz, rrrb, sssp;
XVec4<T,0x0003> const xxxw, rrra, sssq;
XVec4<T,0x0010> const xxyx, rrgr, ssts;
XVec4<T,0x0011> const xxyy, rrgg, sstt;
XVec4<T,0x0012> const xxyz, rrgb, sstp;
XVec4<T,0x0013> const xxyw, rrga, sstq;
XVec4<T,0x0020> const xxzx, rrbr, ssps;
XVec4<T,0x0021> const xxzy, rrbg, sspt;
XVec4<T,0x0022> const xxzz, rrbb, sspp;
XVec4<T,0x0023> const xxzw, rrba, sspq;
XVec4<T,0x0030> const xxwx, rrar, ssqs;
XVec4<T,0x0031> const xxwy, rrag, ssqt;
XVec4<T,0x0032> const xxwz, rrab, ssqp;
XVec4<T,0x0033> const xxww, rraa, ssqq;
XVec4<T,0x0100> const xyxx, rgrr, stss;
XVec4<T,0x0101> const xyxy, rgrg, stst;
XVec4<T,0x0102> const xyxz, rgrb, stsp;
XVec4<T,0x0103> const xyxw, rgra, stsq;
XVec4<T,0x0110> const xyyx, rggr, stts;
XVec4<T,0x0111> const xyyy, rggg, sttt;
XVec4<T,0x0112> const xyyz, rggb, sttp;
XVec4<T,0x0113> const xyyw, rgga, sttq;
XVec4<T,0x0120> const xyzx, rgbr, stps;
XVec4<T,0x0121> const xyzy, rgbg, stpt;
XVec4<T,0x0122> const xyzz, rgbb, stpp;
XVec4<T,0x0123> xyzw, rgba, stpq;
XVec4<T,0x0130> const xywx, rgar, stqs;
XVec4<T,0x0131> const xywy, rgag, stqt;
XVec4<T,0x0132> xywz, rgab, stqp;
XVec4<T,0x0133> const xyww, rgaa, stqq;
XVec4<T,0x0200> const xzxx, rbrr, spss;
XVec4<T,0x0201> const xzxy, rbrg, spst;
XVec4<T,0x0202> const xzxz, rbrb, spsp;
XVec4<T,0x0203> const xzxw, rbra, spsq;
XVec4<T,0x0210> const xzyx, rbgr, spts;
XVec4<T,0x0211> const xzyy, rbgg, sptt;
XVec4<T,0x0212> const xzyz, rbgb, sptp;
XVec4<T,0x0213> xzyw, rbga, sptq;
XVec4<T,0x0220> const xzzx, rbbr, spps;
XVec4<T,0x0221> const xzzy, rbbg, sppt;
XVec4<T,0x0222> const xzzz, rbbb, sppp;
XVec4<T,0x0223> const xzzw, rbba, sppq;
XVec4<T,0x0230> const xzwx, rbar, spqs;
XVec4<T,0x0231> xzwy, rbag, spqt;
XVec4<T,0x0232> const xzwz, rbab, spqp;
XVec4<T,0x0233> const xzww, rbaa, spqq;
XVec4<T,0x0300> const xwxx, rarr, sqss;
XVec4<T,0x0301> const xwxy, rarg, sqst;
XVec4<T,0x0302> const xwxz, rarb, sqsp;
XVec4<T,0x0303> const xwxw, rara, sqsq;
XVec4<T,0x0310> const xwyx, ragr, sqts;
XVec4<T,0x0311> const xwyy, ragg, sqtt;
XVec4<T,0x0312> xwyz, ragb, sqtp;
XVec4<T,0x0313> const xwyw, raga, sqtq;
XVec4<T,0x0320> const xwzx, rabr, sqps;
XVec4<T,0x0321> xwzy, rabg, sqpt;
XVec4<T,0x0322> const xwzz, rabb, sqpp;
XVec4<T,0x0323> const xwzw, raba, sqpq;
XVec4<T,0x0330> const xwwx, raar, sqqs;
XVec4<T,0x0331> const xwwy, raag, sqqt;
XVec4<T,0x0332> const xwwz, raab, sqqp;
XVec4<T,0x0333> const xwww, raaa, sqqq;
XVec4<T,0x1000> const yxxx, grrr, tsss;
XVec4<T,0x1001> const yxxy, grrg, tsst;
XVec4<T,0x1002> const yxxz, grrb, tssp;
XVec4<T,0x1003> const yxxw, grra, tssq;
XVec4<T,0x1010> const yxyx, grgr, tsts;
XVec4<T,0x1011> const yxyy, grgg, tstt;
XVec4<T,0x1012> const yxyz, grgb, tstp;
XVec4<T,0x1013> const yxyw, grga, tstq;
XVec4<T,0x1020> const yxzx, grbr, tsps;
XVec4<T,0x1021> const yxzy, grbg, tspt;
XVec4<T,0x1022> const yxzz, grbb, tspp;
XVec4<T,0x1023> yxzw, grba, tspq;
XVec4<T,0x1030> const yxwx, grar, tsqs;
XVec4<T,0x1031> const yxwy, grag, tsqt;
XVec4<T,0x1032> yxwz, grab, tsqp;
XVec4<T,0x1033> const yxww, graa, tsqq;
XVec4<T,0x1100> const yyxx, ggrr, ttss;
XVec4<T,0x1101> const yyxy, ggrg, ttst;
XVec4<T,0x1102> const yyxz, ggrb, ttsp;
XVec4<T,0x1103> const yyxw, ggra, ttsq;
XVec4<T,0x1110> const yyyx, gggr, ttts;
XVec4<T,0x1111> const yyyy, gggg, tttt;
XVec4<T,0x1112> const yyyz, gggb, tttp;
XVec4<T,0x1113> const yyyw, ggga, tttq;
XVec4<T,0x1120> const yyzx, ggbr, ttps;
XVec4<T,0x1121> const yyzy, ggbg, ttpt;
XVec4<T,0x1122> const yyzz, ggbb, ttpp;
XVec4<T,0x1123> const yyzw, ggba, ttpq;
XVec4<T,0x1130> const yywx, ggar, ttqs;
XVec4<T,0x1131> const yywy, ggag, ttqt;
XVec4<T,0x1132> const yywz, ggab, ttqp;
XVec4<T,0x1133> const yyww, ggaa, ttqq;
XVec4<T,0x1200> const yzxx, gbrr, tpss;
XVec4<T,0x1201> const yzxy, gbrg, tpst;
XVec4<T,0x1202> const yzxz, gbrb, tpsp;
XVec4<T,0x1203> yzxw, gbra, tpsq;
XVec4<T,0x1210> const yzyx, gbgr, tpts;
XVec4<T,0x1211> const yzyy, gbgg, tptt;
XVec4<T,0x1212> const yzyz, gbgb, tptp;
XVec4<T,0x1213> const yzyw, gbga, tptq;
XVec4<T,0x1220> const yzzx, gbbr, tpps;
XVec4<T,0x1221> const yzzy, gbbg, tppt;
XVec4<T,0x1222> const yzzz, gbbb, tppp;
XVec4<T,0x1223> const yzzw, gbba, tppq;
XVec4<T,0x1230> yzwx, gbar, tpqs;
XVec4<T,0x1231> const yzwy, gbag, tpqt;
XVec4<T,0x1232> const yzwz, gbab, tpqp;
XVec4<T,0x1233> const yzww, gbaa, tpqq;
XVec4<T,0x1300> const ywxx, garr, tqss;
XVec4<T,0x1301> const ywxy, garg, tqst;
XVec4<T,0x1302> ywxz, garb, tqsp;
XVec4<T,0x1303> const ywxw, gara, tqsq;
XVec4<T,0x1310> const ywyx, gagr, tqts;
XVec4<T,0x1311> const ywyy, gagg, tqtt;
XVec4<T,0x1312> const ywyz, gagb, tqtp;
XVec4<T,0x1313> const ywyw, gaga, tqtq;
XVec4<T,0x1320> ywzx, gabr, tqps;
XVec4<T,0x1321> const ywzy, gabg, tqpt;
XVec4<T,0x1322> const ywzz, gabb, tqpp;
XVec4<T,0x1323> const ywzw, gaba, tqpq;
XVec4<T,0x1330> const ywwx, gaar, tqqs;
XVec4<T,0x1331> const ywwy, gaag, tqqt;
XVec4<T,0x1332> const ywwz, gaab, tqqp;
XVec4<T,0x1333> const ywww, gaaa, tqqq;
XVec4<T,0x2000> const zxxx, brrr, psss;
XVec4<T,0x2001> const zxxy, brrg, psst;
XVec4<T,0x2002> const zxxz, brrb, pssp;
XVec4<T,0x2003> const zxxw, brra, pssq;
XVec4<T,0x2010> const zxyx, brgr, psts;
XVec4<T,0x2011> const zxyy, brgg, pstt;
XVec4<T,0x2012> const zxyz, brgb, pstp;
XVec4<T,0x2013> zxyw, brga, pstq;
XVec4<T,0x2020> const zxzx, brbr, psps;
XVec4<T,0x2021> const zxzy, brbg, pspt;
XVec4<T,0x2022> const zxzz, brbb, pspp;
XVec4<T,0x2023> const zxzw, brba, pspq;
XVec4<T,0x2030> const zxwx, brar, psqs;
XVec4<T,0x2031> zxwy, brag, psqt;
XVec4<T,0x2032> const zxwz, brab, psqp;
XVec4<T,0x2033> const zxww, braa, psqq;
XVec4<T,0x2100> const zyxx, bgrr, ptss;
XVec4<T,0x2101> const zyxy, bgrg, ptst;
XVec4<T,0x2102> const zyxz, bgrb, ptsp;
XVec4<T,0x2103> zyxw, bgra, ptsq;
XVec4<T,0x2110> const zyyx, bggr, ptts;
XVec4<T,0x2111> const zyyy, bggg, pttt;
XVec4<T,0x2112> const zyyz, bggb, pttp;
XVec4<T,0x2113> const zyyw, bgga, pttq;
XVec4<T,0x2120> const zyzx, bgbr, ptps;
XVec4<T,0x2121> const zyzy, bgbg, ptpt;
XVec4<T,0x2122> const zyzz, bgbb, ptpp;
XVec4<T,0x2123> const zyzw, bgba, ptpq;
XVec4<T,0x2130> zywx, bgar, ptqs;
XVec4<T,0x2131> const zywy, bgag, ptqt;
XVec4<T,0x2132> const zywz, bgab, ptqp;
XVec4<T,0x2133> const zyww, bgaa, ptqq;
XVec4<T,0x2200> const zzxx, bbrr, ppss;
XVec4<T,0x2201> const zzxy, bbrg, ppst;
XVec4<T,0x2202> const zzxz, bbrb, ppsp;
XVec4<T,0x2203> const zzxw, bbra, ppsq;
XVec4<T,0x2210> const zzyx, bbgr, ppts;
XVec4<T,0x2211> const zzyy, bbgg, pptt;
XVec4<T,0x2212> const zzyz, bbgb, pptp;
XVec4<T,0x2213> const zzyw, bbga, pptq;
XVec4<T,0x2220> const zzzx, bbbr, ppps;
XVec4<T,0x2221> const zzzy, bbbg, pppt;
XVec4<T,0x2222> const zzzz, bbbb, pppp;
XVec4<T,0x2223> const zzzw, bbba, pppq;
XVec4<T,0x2230> const zzwx, bbar, ppqs;
XVec4<T,0x2231> const zzwy, bbag, ppqt;
XVec4<T,0x2232> const zzwz, bbab, ppqp;
XVec4<T,0x2233> const zzww, bbaa, ppqq;
XVec4<T,0x2300> const zwxx, barr, pqss;
XVec4<T,0x2301> zwxy, barg, pqst;
XVec4<T,0x2302> const zwxz, barb, pqsp;
XVec4<T,0x2303> const zwxw, bara, pqsq;
XVec4<T,0x2310> zwyx, bagr, pqts;
XVec4<T,0x2311> const zwyy, bagg, pqtt;
XVec4<T,0x2312> const zwyz, bagb, pqtp;
XVec4<T,0x2313> const zwyw, baga, pqtq;
XVec4<T,0x2320> const zwzx, babr, pqps;
XVec4<T,0x2321> const zwzy, babg, pqpt;
XVec4<T,0x2322> const zwzz, babb, pqpp;
XVec4<T,0x2323> const zwzw, baba, pqpq;
XVec4<T,0x2330> const zwwx, baar, pqqs;
XVec4<T,0x2331> const zwwy, baag, pqqt;
XVec4<T,0x2332> const zwwz, baab, pqqp;
XVec4<T,0x2333> const zwww, baaa, pqqq;
XVec4<T,0x3000> const wxxx, arrr, qsss;
XVec4<T,0x3001> const wxxy, arrg, qsst;
XVec4<T,0x3002> const wxxz, arrb, qssp;
XVec4<T,0x3003> const wxxw, arra, qssq;
XVec4<T,0x3010> const wxyx, argr, qsts;
XVec4<T,0x3011> const wxyy, argg, qstt;
XVec4<T,0x3012> wxyz, argb, qstp;
XVec4<T,0x3013> const wxyw, arga, qstq;
XVec4<T,0x3020> const wxzx, arbr, qsps;
XVec4<T,0x3021> wxzy, arbg, qspt;
XVec4<T,0x3022> const wxzz, arbb, qspp;
XVec4<T,0x3023> const wxzw, arba, qspq;
XVec4<T,0x3030> const wxwx, arar, qsqs;
XVec4<T,0x3031> const wxwy, arag, qsqt;
XVec4<T,0x3032> const wxwz, arab, qsqp;
XVec4<T,0x3033> const wxww, araa, qsqq;
XVec4<T,0x3100> const wyxx, agrr, qtss;
XVec4<T,0x3101> const wyxy, agrg, qtst;
XVec4<T,0x3102> wyxz, agrb, qtsp;
XVec4<T,0x3103> const wyxw, agra, qtsq;
XVec4<T,0x3110> const wyyx, aggr, qtts;
XVec4<T,0x3111> const wyyy, aggg, qttt;
XVec4<T,0x3112> const wyyz, aggb, qttp;
XVec4<T,0x3113> const wyyw, agga, qttq;
XVec4<T,0x3120> wyzx, agbr, qtps;
XVec4<T,0x3121> const wyzy, agbg, qtpt;
XVec4<T,0x3122> const wyzz, agbb, qtpp;
XVec4<T,0x3123> const wyzw, agba, qtpq;
XVec4<T,0x3130> const wywx, agar, qtqs;
XVec4<T,0x3131> const wywy, agag, qtqt;
XVec4<T,0x3132> const wywz, agab, qtqp;
XVec4<T,0x3133> const wyww, agaa, qtqq;
XVec4<T,0x3200> const wzxx, abrr, qpss;
XVec4<T,0x3201> wzxy, abrg, qpst;
XVec4<T,0x3202> const wzxz, abrb, qpsp;
XVec4<T,0x3203> const wzxw, abra, qpsq;
XVec4<T,0x3210> wzyx, abgr, qpts;
XVec4<T,0x3211> const wzyy, abgg, qptt;
XVec4<T,0x3212> const wzyz, abgb, qptp;
XVec4<T,0x3213> const wzyw, abga, qptq;
XVec4<T,0x3220> const wzzx, abbr, qpps;
XVec4<T,0x3221> const wzzy, abbg, qppt;
XVec4<T,0x3222> const wzzz, abbb, qppp;
XVec4<T,0x3223> const wzzw, abba, qppq;
XVec4<T,0x3230> const wzwx, abar, qpqs;
XVec4<T,0x3231> const wzwy, abag, qpqt;
XVec4<T,0x3232> const wzwz, abab, qpqp;
XVec4<T,0x3233> const wzww, abaa, qpqq;
XVec4<T,0x3300> const wwxx, aarr, qqss;
XVec4<T,0x3301> const wwxy, aarg, qqst;
XVec4<T,0x3302> const wwxz, aarb, qqsp;
XVec4<T,0x3303> const wwxw, aara, qqsq;
XVec4<T,0x3310> const wwyx, aagr, qqts;
XVec4<T,0x3311> const wwyy, aagg, qqtt;
XVec4<T,0x3312> const wwyz, aagb, qqtp;
XVec4<T,0x3313> const wwyw, aaga, qqtq;
XVec4<T,0x3320> const wwzx, aabr, qqps;
XVec4<T,0x3321> const wwzy, aabg, qqpt;
XVec4<T,0x3322> const wwzz, aabb, qqpp;
XVec4<T,0x3323> const wwzw, aaba, qqpq;
XVec4<T,0x3330> const wwwx, aaar, qqqs;
XVec4<T,0x3331> const wwwy, aaag, qqqt;
XVec4<T,0x3332> const wwwz, aaab, qqqp;
XVec4<T,0x3333> const wwww, aaaa, qqqq;
};
};



Зареждане…
Отказ
Запис