1#[rustfmt::skip]
2pub mod s {
3pub trait TupleSwizzle2<A: Copy, B: Copy>: Sized {
4 fn s(self) -> (A, B);
5 #[inline(always)] fn x(self) -> A { self.s().0 }
6 #[inline(always)] fn y(self) -> B { self.s().1 }
7 #[inline(always)] fn xx(self) -> (A, A) { let s = self.s(); (s.0, s.0) }
8 #[inline(always)] fn xy(self) -> (A, B) { let s = self.s(); (s.0, s.1) }
9 #[inline(always)] fn yx(self) -> (B, A) { let s = self.s(); (s.1, s.0) }
10 #[inline(always)] fn yy(self) -> (B, B) { let s = self.s(); (s.1, s.1) }
11
12 #[inline(always)] fn r(self) -> A { self.s().0 }
13 #[inline(always)] fn g(self) -> B { self.s().1 }
14 #[inline(always)] fn rr(self) -> (A, A) { let s = self.s(); (s.0, s.0) }
15 #[inline(always)] fn rg(self) -> (A, B) { let s = self.s(); (s.0, s.1) }
16 #[inline(always)] fn gr(self) -> (B, A) { let s = self.s(); (s.1, s.0) }
17 #[inline(always)] fn gg(self) -> (B, B) { let s = self.s(); (s.1, s.1) }
18}
19pub trait TupleSwizzle3<A: Copy, B: Copy, C: Copy>: Sized {
20 fn s(self) -> (A, B, C);
21 #[inline(always)] fn x(self) -> A { self.s().0 }
22 #[inline(always)] fn y(self) -> B { self.s().1 }
23 #[inline(always)] fn z(self) -> C { self.s().2 }
24 #[inline(always)] fn xx(self) -> (A, A){ let s = self.s(); (s.0, s.0) }
25 #[inline(always)] fn xy(self) -> (A, B){ let s = self.s(); (s.0, s.1) }
26 #[inline(always)] fn xz(self) -> (A, C){ let s = self.s(); (s.0, s.2) }
27 #[inline(always)] fn yx(self) -> (B, A){ let s = self.s(); (s.1, s.0) }
28 #[inline(always)] fn yy(self) -> (B, B){ let s = self.s(); (s.1, s.1) }
29 #[inline(always)] fn yz(self) -> (B, C){ let s = self.s(); (s.1, s.2) }
30 #[inline(always)] fn zx(self) -> (C, A){ let s = self.s(); (s.2, s.0) }
31 #[inline(always)] fn zy(self) -> (C, B){ let s = self.s(); (s.2, s.1) }
32 #[inline(always)] fn zz(self) -> (C, C){ let s = self.s(); (s.2, s.2) }
33 #[inline(always)] fn xxx(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) }
34 #[inline(always)] fn xxy(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) }
35 #[inline(always)] fn xxz(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) }
36 #[inline(always)] fn xyx(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) }
37 #[inline(always)] fn xyy(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) }
38 #[inline(always)] fn xyz(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) }
39 #[inline(always)] fn xzx(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) }
40 #[inline(always)] fn xzy(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) }
41 #[inline(always)] fn xzz(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) }
42 #[inline(always)] fn yxx(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) }
43 #[inline(always)] fn yxy(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) }
44 #[inline(always)] fn yxz(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) }
45 #[inline(always)] fn yyx(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) }
46 #[inline(always)] fn yyy(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) }
47 #[inline(always)] fn yyz(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) }
48 #[inline(always)] fn yzx(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) }
49 #[inline(always)] fn yzy(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) }
50 #[inline(always)] fn yzz(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) }
51 #[inline(always)] fn zxx(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) }
52 #[inline(always)] fn zxy(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) }
53 #[inline(always)] fn zxz(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) }
54 #[inline(always)] fn zyx(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) }
55 #[inline(always)] fn zyy(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) }
56 #[inline(always)] fn zyz(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) }
57 #[inline(always)] fn zzx(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) }
58 #[inline(always)] fn zzy(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) }
59 #[inline(always)] fn zzz(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) }
60
61 #[inline(always)] fn r(self) -> A { self.s().0 }
62 #[inline(always)] fn g(self) -> B { self.s().1 }
63 #[inline(always)] fn b(self) -> C { self.s().2 }
64 #[inline(always)] fn rr(self) -> (A, A){ let s = self.s(); (s.0, s.0) }
65 #[inline(always)] fn rg(self) -> (A, B){ let s = self.s(); (s.0, s.1) }
66 #[inline(always)] fn rb(self) -> (A, C){ let s = self.s(); (s.0, s.2) }
67 #[inline(always)] fn gr(self) -> (B, A){ let s = self.s(); (s.1, s.0) }
68 #[inline(always)] fn gg(self) -> (B, B){ let s = self.s(); (s.1, s.1) }
69 #[inline(always)] fn gb(self) -> (B, C){ let s = self.s(); (s.1, s.2) }
70 #[inline(always)] fn br(self) -> (C, A){ let s = self.s(); (s.2, s.0) }
71 #[inline(always)] fn bg(self) -> (C, B){ let s = self.s(); (s.2, s.1) }
72 #[inline(always)] fn bb(self) -> (C, C){ let s = self.s(); (s.2, s.2) }
73 #[inline(always)] fn rrr(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) }
74 #[inline(always)] fn rrg(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) }
75 #[inline(always)] fn rrb(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) }
76 #[inline(always)] fn rgr(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) }
77 #[inline(always)] fn rgg(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) }
78 #[inline(always)] fn rgb(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) }
79 #[inline(always)] fn rbr(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) }
80 #[inline(always)] fn rbg(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) }
81 #[inline(always)] fn rbb(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) }
82 #[inline(always)] fn grr(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) }
83 #[inline(always)] fn grg(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) }
84 #[inline(always)] fn grb(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) }
85 #[inline(always)] fn ggr(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) }
86 #[inline(always)] fn ggg(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) }
87 #[inline(always)] fn ggb(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) }
88 #[inline(always)] fn gbr(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) }
89 #[inline(always)] fn gbg(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) }
90 #[inline(always)] fn gbb(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) }
91 #[inline(always)] fn brr(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) }
92 #[inline(always)] fn brg(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) }
93 #[inline(always)] fn brb(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) }
94 #[inline(always)] fn bgr(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) }
95 #[inline(always)] fn bgg(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) }
96 #[inline(always)] fn bgb(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) }
97 #[inline(always)] fn bbr(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) }
98 #[inline(always)] fn bbg(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) }
99 #[inline(always)] fn bbb(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) }
100}
101pub trait TupleSwizzle4<A: Copy, B: Copy, C: Copy, D: Copy>: Sized {
102 fn s(self) -> (A, B, C, D);
103 #[inline(always)] fn x(self) -> A { self.s().0 }
104 #[inline(always)] fn y(self) -> B { self.s().1 }
105 #[inline(always)] fn z(self) -> C { self.s().2 }
106 #[inline(always)] fn w(self) -> D { self.s().3 }
107 #[inline(always)] fn xx(self) -> (A, A) { let s = self.s(); (s.0, s.0) }
108 #[inline(always)] fn xy(self) -> (A, B) { let s = self.s(); (s.0, s.1) }
109 #[inline(always)] fn xz(self) -> (A, C) { let s = self.s(); (s.0, s.2) }
110 #[inline(always)] fn xw(self) -> (A, D) { let s = self.s(); (s.0, s.3) }
111 #[inline(always)] fn yx(self) -> (B, A) { let s = self.s(); (s.1, s.0) }
112 #[inline(always)] fn yy(self) -> (B, B) { let s = self.s(); (s.1, s.1) }
113 #[inline(always)] fn yz(self) -> (B, C) { let s = self.s(); (s.1, s.2) }
114 #[inline(always)] fn yw(self) -> (B, D) { let s = self.s(); (s.1, s.3) }
115 #[inline(always)] fn zx(self) -> (C, A) { let s = self.s(); (s.2, s.0) }
116 #[inline(always)] fn zy(self) -> (C, B) { let s = self.s(); (s.2, s.1) }
117 #[inline(always)] fn zz(self) -> (C, C) { let s = self.s(); (s.2, s.2) }
118 #[inline(always)] fn zw(self) -> (C, D) { let s = self.s(); (s.2, s.3) }
119 #[inline(always)] fn wx(self) -> (D, A) { let s = self.s(); (s.3, s.0) }
120 #[inline(always)] fn wy(self) -> (D, B) { let s = self.s(); (s.3, s.1) }
121 #[inline(always)] fn wz(self) -> (D, C) { let s = self.s(); (s.3, s.2) }
122 #[inline(always)] fn ww(self) -> (D, D) { let s = self.s(); (s.3, s.3) }
123 #[inline(always)] fn xxx(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) }
124 #[inline(always)] fn xxy(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) }
125 #[inline(always)] fn xxz(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) }
126 #[inline(always)] fn xxw(self) -> (A, A, D) { let s = self.s(); (s.0, s.0, s.3) }
127 #[inline(always)] fn xyx(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) }
128 #[inline(always)] fn xyy(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) }
129 #[inline(always)] fn xyz(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) }
130 #[inline(always)] fn xyw(self) -> (A, B, D) { let s = self.s(); (s.0, s.1, s.3) }
131 #[inline(always)] fn xzx(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) }
132 #[inline(always)] fn xzy(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) }
133 #[inline(always)] fn xzz(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) }
134 #[inline(always)] fn xzw(self) -> (A, C, D) { let s = self.s(); (s.0, s.2, s.3) }
135 #[inline(always)] fn xwx(self) -> (A, D, A) { let s = self.s(); (s.0, s.3, s.0) }
136 #[inline(always)] fn xwy(self) -> (A, D, B) { let s = self.s(); (s.0, s.3, s.1) }
137 #[inline(always)] fn xwz(self) -> (A, D, C) { let s = self.s(); (s.0, s.3, s.2) }
138 #[inline(always)] fn xww(self) -> (A, D, D) { let s = self.s(); (s.0, s.3, s.3) }
139 #[inline(always)] fn yxx(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) }
140 #[inline(always)] fn yxy(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) }
141 #[inline(always)] fn yxz(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) }
142 #[inline(always)] fn yxw(self) -> (B, A, D) { let s = self.s(); (s.1, s.0, s.3) }
143 #[inline(always)] fn yyx(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) }
144 #[inline(always)] fn yyy(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) }
145 #[inline(always)] fn yyz(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) }
146 #[inline(always)] fn yyw(self) -> (B, B, D) { let s = self.s(); (s.1, s.1, s.3) }
147 #[inline(always)] fn yzx(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) }
148 #[inline(always)] fn yzy(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) }
149 #[inline(always)] fn yzz(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) }
150 #[inline(always)] fn yzw(self) -> (B, C, D) { let s = self.s(); (s.1, s.2, s.3) }
151 #[inline(always)] fn ywx(self) -> (B, D, A) { let s = self.s(); (s.1, s.3, s.0) }
152 #[inline(always)] fn ywy(self) -> (B, D, B) { let s = self.s(); (s.1, s.3, s.1) }
153 #[inline(always)] fn ywz(self) -> (B, D, C) { let s = self.s(); (s.1, s.3, s.2) }
154 #[inline(always)] fn yww(self) -> (B, D, D) { let s = self.s(); (s.1, s.3, s.3) }
155 #[inline(always)] fn zxx(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) }
156 #[inline(always)] fn zxy(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) }
157 #[inline(always)] fn zxz(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) }
158 #[inline(always)] fn zxw(self) -> (C, A, D) { let s = self.s(); (s.2, s.0, s.3) }
159 #[inline(always)] fn zyx(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) }
160 #[inline(always)] fn zyy(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) }
161 #[inline(always)] fn zyz(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) }
162 #[inline(always)] fn zyw(self) -> (C, B, D) { let s = self.s(); (s.2, s.1, s.3) }
163 #[inline(always)] fn zzx(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) }
164 #[inline(always)] fn zzy(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) }
165 #[inline(always)] fn zzz(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) }
166 #[inline(always)] fn zzw(self) -> (C, C, D) { let s = self.s(); (s.2, s.2, s.3) }
167 #[inline(always)] fn zwx(self) -> (C, D, A) { let s = self.s(); (s.2, s.3, s.0) }
168 #[inline(always)] fn zwy(self) -> (C, D, B) { let s = self.s(); (s.2, s.3, s.1) }
169 #[inline(always)] fn zwz(self) -> (C, D, C) { let s = self.s(); (s.2, s.3, s.2) }
170 #[inline(always)] fn zww(self) -> (C, D, D) { let s = self.s(); (s.2, s.3, s.3) }
171 #[inline(always)] fn wxx(self) -> (D, A, A) { let s = self.s(); (s.3, s.0, s.0) }
172 #[inline(always)] fn wxy(self) -> (D, A, B) { let s = self.s(); (s.3, s.0, s.1) }
173 #[inline(always)] fn wxz(self) -> (D, A, C) { let s = self.s(); (s.3, s.0, s.2) }
174 #[inline(always)] fn wxw(self) -> (D, A, D) { let s = self.s(); (s.3, s.0, s.3) }
175 #[inline(always)] fn wyx(self) -> (D, B, A) { let s = self.s(); (s.3, s.1, s.0) }
176 #[inline(always)] fn wyy(self) -> (D, B, B) { let s = self.s(); (s.3, s.1, s.1) }
177 #[inline(always)] fn wyz(self) -> (D, B, C) { let s = self.s(); (s.3, s.1, s.2) }
178 #[inline(always)] fn wyw(self) -> (D, B, D) { let s = self.s(); (s.3, s.1, s.3) }
179 #[inline(always)] fn wzx(self) -> (D, C, A) { let s = self.s(); (s.3, s.2, s.0) }
180 #[inline(always)] fn wzy(self) -> (D, C, B) { let s = self.s(); (s.3, s.2, s.1) }
181 #[inline(always)] fn wzz(self) -> (D, C, C) { let s = self.s(); (s.3, s.2, s.2) }
182 #[inline(always)] fn wzw(self) -> (D, C, D) { let s = self.s(); (s.3, s.2, s.3) }
183 #[inline(always)] fn wwx(self) -> (D, D, A) { let s = self.s(); (s.3, s.3, s.0) }
184 #[inline(always)] fn wwy(self) -> (D, D, B) { let s = self.s(); (s.3, s.3, s.1) }
185 #[inline(always)] fn wwz(self) -> (D, D, C) { let s = self.s(); (s.3, s.3, s.2) }
186 #[inline(always)] fn www(self) -> (D, D, D) { let s = self.s(); (s.3, s.3, s.3) }
187
188 #[inline(always)] fn xxxx(self) -> (A, A, A, A) { let s = self.s(); (s.0, s.0, s.0, s.0) }
189 #[inline(always)] fn xxxy(self) -> (A, A, A, B) { let s = self.s(); (s.0, s.0, s.0, s.1) }
190 #[inline(always)] fn xxxz(self) -> (A, A, A, C) { let s = self.s(); (s.0, s.0, s.0, s.2) }
191 #[inline(always)] fn xxxw(self) -> (A, A, A, D) { let s = self.s(); (s.0, s.0, s.0, s.3) }
192 #[inline(always)] fn xxyx(self) -> (A, A, B, A) { let s = self.s(); (s.0, s.0, s.1, s.0) }
193 #[inline(always)] fn xxyy(self) -> (A, A, B, B) { let s = self.s(); (s.0, s.0, s.1, s.1) }
194 #[inline(always)] fn xxyz(self) -> (A, A, B, C) { let s = self.s(); (s.0, s.0, s.1, s.2) }
195 #[inline(always)] fn xxyw(self) -> (A, A, B, D) { let s = self.s(); (s.0, s.0, s.1, s.3) }
196 #[inline(always)] fn xxzx(self) -> (A, A, C, A) { let s = self.s(); (s.0, s.0, s.2, s.0) }
197 #[inline(always)] fn xxzy(self) -> (A, A, C, B) { let s = self.s(); (s.0, s.0, s.2, s.1) }
198 #[inline(always)] fn xxzz(self) -> (A, A, C, C) { let s = self.s(); (s.0, s.0, s.2, s.2) }
199 #[inline(always)] fn xxzw(self) -> (A, A, C, D) { let s = self.s(); (s.0, s.0, s.2, s.3) }
200 #[inline(always)] fn xxwx(self) -> (A, A, D, A) { let s = self.s(); (s.0, s.0, s.3, s.0) }
201 #[inline(always)] fn xxwy(self) -> (A, A, D, B) { let s = self.s(); (s.0, s.0, s.3, s.1) }
202 #[inline(always)] fn xxwz(self) -> (A, A, D, C) { let s = self.s(); (s.0, s.0, s.3, s.2) }
203 #[inline(always)] fn xxww(self) -> (A, A, D, D) { let s = self.s(); (s.0, s.0, s.3, s.3) }
204 #[inline(always)] fn xyxx(self) -> (A, B, A, A) { let s = self.s(); (s.0, s.1, s.0, s.0) }
205 #[inline(always)] fn xyxy(self) -> (A, B, A, B) { let s = self.s(); (s.0, s.1, s.0, s.1) }
206 #[inline(always)] fn xyxz(self) -> (A, B, A, C) { let s = self.s(); (s.0, s.1, s.0, s.2) }
207 #[inline(always)] fn xyxw(self) -> (A, B, A, D) { let s = self.s(); (s.0, s.1, s.0, s.3) }
208 #[inline(always)] fn xyyx(self) -> (A, B, B, A) { let s = self.s(); (s.0, s.1, s.1, s.0) }
209 #[inline(always)] fn xyyy(self) -> (A, B, B, B) { let s = self.s(); (s.0, s.1, s.1, s.1) }
210 #[inline(always)] fn xyyz(self) -> (A, B, B, C) { let s = self.s(); (s.0, s.1, s.1, s.2) }
211 #[inline(always)] fn xyyw(self) -> (A, B, B, D) { let s = self.s(); (s.0, s.1, s.1, s.3) }
212 #[inline(always)] fn xyzx(self) -> (A, B, C, A) { let s = self.s(); (s.0, s.1, s.2, s.0) }
213 #[inline(always)] fn xyzy(self) -> (A, B, C, B) { let s = self.s(); (s.0, s.1, s.2, s.1) }
214 #[inline(always)] fn xyzz(self) -> (A, B, C, C) { let s = self.s(); (s.0, s.1, s.2, s.2) }
215 #[inline(always)] fn xyzw(self) -> (A, B, C, D) { let s = self.s(); (s.0, s.1, s.2, s.3) }
216 #[inline(always)] fn xywx(self) -> (A, B, D, A) { let s = self.s(); (s.0, s.1, s.3, s.0) }
217 #[inline(always)] fn xywy(self) -> (A, B, D, B) { let s = self.s(); (s.0, s.1, s.3, s.1) }
218 #[inline(always)] fn xywz(self) -> (A, B, D, C) { let s = self.s(); (s.0, s.1, s.3, s.2) }
219 #[inline(always)] fn xyww(self) -> (A, B, D, D) { let s = self.s(); (s.0, s.1, s.3, s.3) }
220 #[inline(always)] fn xzxx(self) -> (A, C, A, A) { let s = self.s(); (s.0, s.2, s.0, s.0) }
221 #[inline(always)] fn xzxy(self) -> (A, C, A, B) { let s = self.s(); (s.0, s.2, s.0, s.1) }
222 #[inline(always)] fn xzxz(self) -> (A, C, A, C) { let s = self.s(); (s.0, s.2, s.0, s.2) }
223 #[inline(always)] fn xzxw(self) -> (A, C, A, D) { let s = self.s(); (s.0, s.2, s.0, s.3) }
224 #[inline(always)] fn xzyx(self) -> (A, C, B, A) { let s = self.s(); (s.0, s.2, s.1, s.0) }
225 #[inline(always)] fn xzyy(self) -> (A, C, B, B) { let s = self.s(); (s.0, s.2, s.1, s.1) }
226 #[inline(always)] fn xzyz(self) -> (A, C, B, C) { let s = self.s(); (s.0, s.2, s.1, s.2) }
227 #[inline(always)] fn xzyw(self) -> (A, C, B, D) { let s = self.s(); (s.0, s.2, s.1, s.3) }
228 #[inline(always)] fn xzzx(self) -> (A, C, C, A) { let s = self.s(); (s.0, s.2, s.2, s.0) }
229 #[inline(always)] fn xzzy(self) -> (A, C, C, B) { let s = self.s(); (s.0, s.2, s.2, s.1) }
230 #[inline(always)] fn xzzz(self) -> (A, C, C, C) { let s = self.s(); (s.0, s.2, s.2, s.2) }
231 #[inline(always)] fn xzzw(self) -> (A, C, C, D) { let s = self.s(); (s.0, s.2, s.2, s.3) }
232 #[inline(always)] fn xzwx(self) -> (A, C, D, A) { let s = self.s(); (s.0, s.2, s.3, s.0) }
233 #[inline(always)] fn xzwy(self) -> (A, C, D, B) { let s = self.s(); (s.0, s.2, s.3, s.1) }
234 #[inline(always)] fn xzwz(self) -> (A, C, D, C) { let s = self.s(); (s.0, s.2, s.3, s.2) }
235 #[inline(always)] fn xzww(self) -> (A, C, D, D) { let s = self.s(); (s.0, s.2, s.3, s.3) }
236 #[inline(always)] fn xwxx(self) -> (A, D, A, A) { let s = self.s(); (s.0, s.3, s.0, s.0) }
237 #[inline(always)] fn xwxy(self) -> (A, D, A, B) { let s = self.s(); (s.0, s.3, s.0, s.1) }
238 #[inline(always)] fn xwxz(self) -> (A, D, A, C) { let s = self.s(); (s.0, s.3, s.0, s.2) }
239 #[inline(always)] fn xwxw(self) -> (A, D, A, D) { let s = self.s(); (s.0, s.3, s.0, s.3) }
240 #[inline(always)] fn xwyx(self) -> (A, D, B, A) { let s = self.s(); (s.0, s.3, s.1, s.0) }
241 #[inline(always)] fn xwyy(self) -> (A, D, B, B) { let s = self.s(); (s.0, s.3, s.1, s.1) }
242 #[inline(always)] fn xwyz(self) -> (A, D, B, C) { let s = self.s(); (s.0, s.3, s.1, s.2) }
243 #[inline(always)] fn xwyw(self) -> (A, D, B, D) { let s = self.s(); (s.0, s.3, s.1, s.3) }
244 #[inline(always)] fn xwzx(self) -> (A, D, C, A) { let s = self.s(); (s.0, s.3, s.2, s.0) }
245 #[inline(always)] fn xwzy(self) -> (A, D, C, B) { let s = self.s(); (s.0, s.3, s.2, s.1) }
246 #[inline(always)] fn xwzz(self) -> (A, D, C, C) { let s = self.s(); (s.0, s.3, s.2, s.2) }
247 #[inline(always)] fn xwzw(self) -> (A, D, C, D) { let s = self.s(); (s.0, s.3, s.2, s.3) }
248 #[inline(always)] fn xwwx(self) -> (A, D, D, A) { let s = self.s(); (s.0, s.3, s.3, s.0) }
249 #[inline(always)] fn xwwy(self) -> (A, D, D, B) { let s = self.s(); (s.0, s.3, s.3, s.1) }
250 #[inline(always)] fn xwwz(self) -> (A, D, D, C) { let s = self.s(); (s.0, s.3, s.3, s.2) }
251 #[inline(always)] fn xwww(self) -> (A, D, D, D) { let s = self.s(); (s.0, s.3, s.3, s.3) }
252
253 #[inline(always)] fn yxxx(self) -> (B, A, A, A) { let s = self.s(); (s.1, s.0, s.0, s.0) }
254 #[inline(always)] fn yxxy(self) -> (B, A, A, B) { let s = self.s(); (s.1, s.0, s.0, s.1) }
255 #[inline(always)] fn yxxz(self) -> (B, A, A, C) { let s = self.s(); (s.1, s.0, s.0, s.2) }
256 #[inline(always)] fn yxxw(self) -> (B, A, A, D) { let s = self.s(); (s.1, s.0, s.0, s.3) }
257 #[inline(always)] fn yxyx(self) -> (B, A, B, A) { let s = self.s(); (s.1, s.0, s.1, s.0) }
258 #[inline(always)] fn yxyy(self) -> (B, A, B, B) { let s = self.s(); (s.1, s.0, s.1, s.1) }
259 #[inline(always)] fn yxyz(self) -> (B, A, B, C) { let s = self.s(); (s.1, s.0, s.1, s.2) }
260 #[inline(always)] fn yxyw(self) -> (B, A, B, D) { let s = self.s(); (s.1, s.0, s.1, s.3) }
261 #[inline(always)] fn yxzx(self) -> (B, A, C, A) { let s = self.s(); (s.1, s.0, s.2, s.0) }
262 #[inline(always)] fn yxzy(self) -> (B, A, C, B) { let s = self.s(); (s.1, s.0, s.2, s.1) }
263 #[inline(always)] fn yxzz(self) -> (B, A, C, C) { let s = self.s(); (s.1, s.0, s.2, s.2) }
264 #[inline(always)] fn yxzw(self) -> (B, A, C, D) { let s = self.s(); (s.1, s.0, s.2, s.3) }
265 #[inline(always)] fn yxwx(self) -> (B, A, D, A) { let s = self.s(); (s.1, s.0, s.3, s.0) }
266 #[inline(always)] fn yxwy(self) -> (B, A, D, B) { let s = self.s(); (s.1, s.0, s.3, s.1) }
267 #[inline(always)] fn yxwz(self) -> (B, A, D, C) { let s = self.s(); (s.1, s.0, s.3, s.2) }
268 #[inline(always)] fn yxww(self) -> (B, A, D, D) { let s = self.s(); (s.1, s.0, s.3, s.3) }
269 #[inline(always)] fn yyxx(self) -> (B, B, A, A) { let s = self.s(); (s.1, s.1, s.0, s.0) }
270 #[inline(always)] fn yyxy(self) -> (B, B, A, B) { let s = self.s(); (s.1, s.1, s.0, s.1) }
271 #[inline(always)] fn yyxz(self) -> (B, B, A, C) { let s = self.s(); (s.1, s.1, s.0, s.2) }
272 #[inline(always)] fn yyxw(self) -> (B, B, A, D) { let s = self.s(); (s.1, s.1, s.0, s.3) }
273 #[inline(always)] fn yyyx(self) -> (B, B, B, A) { let s = self.s(); (s.1, s.1, s.1, s.0) }
274 #[inline(always)] fn yyyy(self) -> (B, B, B, B) { let s = self.s(); (s.1, s.1, s.1, s.1) }
275 #[inline(always)] fn yyyz(self) -> (B, B, B, C) { let s = self.s(); (s.1, s.1, s.1, s.2) }
276 #[inline(always)] fn yyyw(self) -> (B, B, B, D) { let s = self.s(); (s.1, s.1, s.1, s.3) }
277 #[inline(always)] fn yyzx(self) -> (B, B, C, A) { let s = self.s(); (s.1, s.1, s.2, s.0) }
278 #[inline(always)] fn yyzy(self) -> (B, B, C, B) { let s = self.s(); (s.1, s.1, s.2, s.1) }
279 #[inline(always)] fn yyzz(self) -> (B, B, C, C) { let s = self.s(); (s.1, s.1, s.2, s.2) }
280 #[inline(always)] fn yyzw(self) -> (B, B, C, D) { let s = self.s(); (s.1, s.1, s.2, s.3) }
281 #[inline(always)] fn yywx(self) -> (B, B, D, A) { let s = self.s(); (s.1, s.1, s.3, s.0) }
282 #[inline(always)] fn yywy(self) -> (B, B, D, B) { let s = self.s(); (s.1, s.1, s.3, s.1) }
283 #[inline(always)] fn yywz(self) -> (B, B, D, C) { let s = self.s(); (s.1, s.1, s.3, s.2) }
284 #[inline(always)] fn yyww(self) -> (B, B, D, D) { let s = self.s(); (s.1, s.1, s.3, s.3) }
285 #[inline(always)] fn yzxx(self) -> (B, C, A, A) { let s = self.s(); (s.1, s.2, s.0, s.0) }
286 #[inline(always)] fn yzxy(self) -> (B, C, A, B) { let s = self.s(); (s.1, s.2, s.0, s.1) }
287 #[inline(always)] fn yzxz(self) -> (B, C, A, C) { let s = self.s(); (s.1, s.2, s.0, s.2) }
288 #[inline(always)] fn yzxw(self) -> (B, C, A, D) { let s = self.s(); (s.1, s.2, s.0, s.3) }
289 #[inline(always)] fn yzyx(self) -> (B, C, B, A) { let s = self.s(); (s.1, s.2, s.1, s.0) }
290 #[inline(always)] fn yzyy(self) -> (B, C, B, B) { let s = self.s(); (s.1, s.2, s.1, s.1) }
291 #[inline(always)] fn yzyz(self) -> (B, C, B, C) { let s = self.s(); (s.1, s.2, s.1, s.2) }
292 #[inline(always)] fn yzyw(self) -> (B, C, B, D) { let s = self.s(); (s.1, s.2, s.1, s.3) }
293 #[inline(always)] fn yzzx(self) -> (B, C, C, A) { let s = self.s(); (s.1, s.2, s.2, s.0) }
294 #[inline(always)] fn yzzy(self) -> (B, C, C, B) { let s = self.s(); (s.1, s.2, s.2, s.1) }
295 #[inline(always)] fn yzzz(self) -> (B, C, C, C) { let s = self.s(); (s.1, s.2, s.2, s.2) }
296 #[inline(always)] fn yzzw(self) -> (B, C, C, D) { let s = self.s(); (s.1, s.2, s.2, s.3) }
297 #[inline(always)] fn yzwx(self) -> (B, C, D, A) { let s = self.s(); (s.1, s.2, s.3, s.0) }
298 #[inline(always)] fn yzwy(self) -> (B, C, D, B) { let s = self.s(); (s.1, s.2, s.3, s.1) }
299 #[inline(always)] fn yzwz(self) -> (B, C, D, C) { let s = self.s(); (s.1, s.2, s.3, s.2) }
300 #[inline(always)] fn yzww(self) -> (B, C, D, D) { let s = self.s(); (s.1, s.2, s.3, s.3) }
301 #[inline(always)] fn ywxx(self) -> (B, D, A, A) { let s = self.s(); (s.1, s.3, s.0, s.0) }
302 #[inline(always)] fn ywxy(self) -> (B, D, A, B) { let s = self.s(); (s.1, s.3, s.0, s.1) }
303 #[inline(always)] fn ywxz(self) -> (B, D, A, C) { let s = self.s(); (s.1, s.3, s.0, s.2) }
304 #[inline(always)] fn ywxw(self) -> (B, D, A, D) { let s = self.s(); (s.1, s.3, s.0, s.3) }
305 #[inline(always)] fn ywyx(self) -> (B, D, B, A) { let s = self.s(); (s.1, s.3, s.1, s.0) }
306 #[inline(always)] fn ywyy(self) -> (B, D, B, B) { let s = self.s(); (s.1, s.3, s.1, s.1) }
307 #[inline(always)] fn ywyz(self) -> (B, D, B, C) { let s = self.s(); (s.1, s.3, s.1, s.2) }
308 #[inline(always)] fn ywyw(self) -> (B, D, B, D) { let s = self.s(); (s.1, s.3, s.1, s.3) }
309 #[inline(always)] fn ywzx(self) -> (B, D, C, A) { let s = self.s(); (s.1, s.3, s.2, s.0) }
310 #[inline(always)] fn ywzy(self) -> (B, D, C, B) { let s = self.s(); (s.1, s.3, s.2, s.1) }
311 #[inline(always)] fn ywzz(self) -> (B, D, C, C) { let s = self.s(); (s.1, s.3, s.2, s.2) }
312 #[inline(always)] fn ywzw(self) -> (B, D, C, D) { let s = self.s(); (s.1, s.3, s.2, s.3) }
313 #[inline(always)] fn ywwx(self) -> (B, D, D, A) { let s = self.s(); (s.1, s.3, s.3, s.0) }
314 #[inline(always)] fn ywwy(self) -> (B, D, D, B) { let s = self.s(); (s.1, s.3, s.3, s.1) }
315 #[inline(always)] fn ywwz(self) -> (B, D, D, C) { let s = self.s(); (s.1, s.3, s.3, s.2) }
316 #[inline(always)] fn ywww(self) -> (B, D, D, D) { let s = self.s(); (s.1, s.3, s.3, s.3) }
317
318 #[inline(always)] fn zxxx(self) -> (C, A, A, A) { let s = self.s(); (s.2, s.0, s.0, s.0) }
319 #[inline(always)] fn zxxy(self) -> (C, A, A, B) { let s = self.s(); (s.2, s.0, s.0, s.1) }
320 #[inline(always)] fn zxxz(self) -> (C, A, A, C) { let s = self.s(); (s.2, s.0, s.0, s.2) }
321 #[inline(always)] fn zxxw(self) -> (C, A, A, D) { let s = self.s(); (s.2, s.0, s.0, s.3) }
322 #[inline(always)] fn zxyx(self) -> (C, A, B, A) { let s = self.s(); (s.2, s.0, s.1, s.0) }
323 #[inline(always)] fn zxyy(self) -> (C, A, B, B) { let s = self.s(); (s.2, s.0, s.1, s.1) }
324 #[inline(always)] fn zxyz(self) -> (C, A, B, C) { let s = self.s(); (s.2, s.0, s.1, s.2) }
325 #[inline(always)] fn zxyw(self) -> (C, A, B, D) { let s = self.s(); (s.2, s.0, s.1, s.3) }
326 #[inline(always)] fn zxzx(self) -> (C, A, C, A) { let s = self.s(); (s.2, s.0, s.2, s.0) }
327 #[inline(always)] fn zxzy(self) -> (C, A, C, B) { let s = self.s(); (s.2, s.0, s.2, s.1) }
328 #[inline(always)] fn zxzz(self) -> (C, A, C, C) { let s = self.s(); (s.2, s.0, s.2, s.2) }
329 #[inline(always)] fn zxzw(self) -> (C, A, C, D) { let s = self.s(); (s.2, s.0, s.2, s.3) }
330 #[inline(always)] fn zxwx(self) -> (C, A, D, A) { let s = self.s(); (s.2, s.0, s.3, s.0) }
331 #[inline(always)] fn zxwy(self) -> (C, A, D, B) { let s = self.s(); (s.2, s.0, s.3, s.1) }
332 #[inline(always)] fn zxwz(self) -> (C, A, D, C) { let s = self.s(); (s.2, s.0, s.3, s.2) }
333 #[inline(always)] fn zxww(self) -> (C, A, D, D) { let s = self.s(); (s.2, s.0, s.3, s.3) }
334 #[inline(always)] fn zyxx(self) -> (C, B, A, A) { let s = self.s(); (s.2, s.1, s.0, s.0) }
335 #[inline(always)] fn zyxy(self) -> (C, B, A, B) { let s = self.s(); (s.2, s.1, s.0, s.1) }
336 #[inline(always)] fn zyxz(self) -> (C, B, A, C) { let s = self.s(); (s.2, s.1, s.0, s.2) }
337 #[inline(always)] fn zyxw(self) -> (C, B, A, D) { let s = self.s(); (s.2, s.1, s.0, s.3) }
338 #[inline(always)] fn zyyx(self) -> (C, B, B, A) { let s = self.s(); (s.2, s.1, s.1, s.0) }
339 #[inline(always)] fn zyyy(self) -> (C, B, B, B) { let s = self.s(); (s.2, s.1, s.1, s.1) }
340 #[inline(always)] fn zyyz(self) -> (C, B, B, C) { let s = self.s(); (s.2, s.1, s.1, s.2) }
341 #[inline(always)] fn zyyw(self) -> (C, B, B, D) { let s = self.s(); (s.2, s.1, s.1, s.3) }
342 #[inline(always)] fn zyzx(self) -> (C, B, C, A) { let s = self.s(); (s.2, s.1, s.2, s.0) }
343 #[inline(always)] fn zyzy(self) -> (C, B, C, B) { let s = self.s(); (s.2, s.1, s.2, s.1) }
344 #[inline(always)] fn zyzz(self) -> (C, B, C, C) { let s = self.s(); (s.2, s.1, s.2, s.2) }
345 #[inline(always)] fn zyzw(self) -> (C, B, C, D) { let s = self.s(); (s.2, s.1, s.2, s.3) }
346 #[inline(always)] fn zywx(self) -> (C, B, D, A) { let s = self.s(); (s.2, s.1, s.3, s.0) }
347 #[inline(always)] fn zywy(self) -> (C, B, D, B) { let s = self.s(); (s.2, s.1, s.3, s.1) }
348 #[inline(always)] fn zywz(self) -> (C, B, D, C) { let s = self.s(); (s.2, s.1, s.3, s.2) }
349 #[inline(always)] fn zyww(self) -> (C, B, D, D) { let s = self.s(); (s.2, s.1, s.3, s.3) }
350 #[inline(always)] fn zzxx(self) -> (C, C, A, A) { let s = self.s(); (s.2, s.2, s.0, s.0) }
351 #[inline(always)] fn zzxy(self) -> (C, C, A, B) { let s = self.s(); (s.2, s.2, s.0, s.1) }
352 #[inline(always)] fn zzxz(self) -> (C, C, A, C) { let s = self.s(); (s.2, s.2, s.0, s.2) }
353 #[inline(always)] fn zzxw(self) -> (C, C, A, D) { let s = self.s(); (s.2, s.2, s.0, s.3) }
354 #[inline(always)] fn zzyx(self) -> (C, C, B, A) { let s = self.s(); (s.2, s.2, s.1, s.0) }
355 #[inline(always)] fn zzyy(self) -> (C, C, B, B) { let s = self.s(); (s.2, s.2, s.1, s.1) }
356 #[inline(always)] fn zzyz(self) -> (C, C, B, C) { let s = self.s(); (s.2, s.2, s.1, s.2) }
357 #[inline(always)] fn zzyw(self) -> (C, C, B, D) { let s = self.s(); (s.2, s.2, s.1, s.3) }
358 #[inline(always)] fn zzzx(self) -> (C, C, C, A) { let s = self.s(); (s.2, s.2, s.2, s.0) }
359 #[inline(always)] fn zzzy(self) -> (C, C, C, B) { let s = self.s(); (s.2, s.2, s.2, s.1) }
360 #[inline(always)] fn zzzz(self) -> (C, C, C, C) { let s = self.s(); (s.2, s.2, s.2, s.2) }
361 #[inline(always)] fn zzzw(self) -> (C, C, C, D) { let s = self.s(); (s.2, s.2, s.2, s.3) }
362 #[inline(always)] fn zzwx(self) -> (C, C, D, A) { let s = self.s(); (s.2, s.2, s.3, s.0) }
363 #[inline(always)] fn zzwy(self) -> (C, C, D, B) { let s = self.s(); (s.2, s.2, s.3, s.1) }
364 #[inline(always)] fn zzwz(self) -> (C, C, D, C) { let s = self.s(); (s.2, s.2, s.3, s.2) }
365 #[inline(always)] fn zzww(self) -> (C, C, D, D) { let s = self.s(); (s.2, s.2, s.3, s.3) }
366 #[inline(always)] fn zwxx(self) -> (C, D, A, A) { let s = self.s(); (s.2, s.3, s.0, s.0) }
367 #[inline(always)] fn zwxy(self) -> (C, D, A, B) { let s = self.s(); (s.2, s.3, s.0, s.1) }
368 #[inline(always)] fn zwxz(self) -> (C, D, A, C) { let s = self.s(); (s.2, s.3, s.0, s.2) }
369 #[inline(always)] fn zwxw(self) -> (C, D, A, D) { let s = self.s(); (s.2, s.3, s.0, s.3) }
370 #[inline(always)] fn zwyx(self) -> (C, D, B, A) { let s = self.s(); (s.2, s.3, s.1, s.0) }
371 #[inline(always)] fn zwyy(self) -> (C, D, B, B) { let s = self.s(); (s.2, s.3, s.1, s.1) }
372 #[inline(always)] fn zwyz(self) -> (C, D, B, C) { let s = self.s(); (s.2, s.3, s.1, s.2) }
373 #[inline(always)] fn zwyw(self) -> (C, D, B, D) { let s = self.s(); (s.2, s.3, s.1, s.3) }
374 #[inline(always)] fn zwzx(self) -> (C, D, C, A) { let s = self.s(); (s.2, s.3, s.2, s.0) }
375 #[inline(always)] fn zwzy(self) -> (C, D, C, B) { let s = self.s(); (s.2, s.3, s.2, s.1) }
376 #[inline(always)] fn zwzz(self) -> (C, D, C, C) { let s = self.s(); (s.2, s.3, s.2, s.2) }
377 #[inline(always)] fn zwzw(self) -> (C, D, C, D) { let s = self.s(); (s.2, s.3, s.2, s.3) }
378 #[inline(always)] fn zwwx(self) -> (C, D, D, A) { let s = self.s(); (s.2, s.3, s.3, s.0) }
379 #[inline(always)] fn zwwy(self) -> (C, D, D, B) { let s = self.s(); (s.2, s.3, s.3, s.1) }
380 #[inline(always)] fn zwwz(self) -> (C, D, D, C) { let s = self.s(); (s.2, s.3, s.3, s.2) }
381 #[inline(always)] fn zwww(self) -> (C, D, D, D) { let s = self.s(); (s.2, s.3, s.3, s.3) }
382
383 #[inline(always)] fn wxxx(self) -> (D, A, A, A) { let s = self.s(); (s.3, s.0, s.0, s.0) }
384 #[inline(always)] fn wxxy(self) -> (D, A, A, B) { let s = self.s(); (s.3, s.0, s.0, s.1) }
385 #[inline(always)] fn wxxz(self) -> (D, A, A, C) { let s = self.s(); (s.3, s.0, s.0, s.2) }
386 #[inline(always)] fn wxxw(self) -> (D, A, A, D) { let s = self.s(); (s.3, s.0, s.0, s.3) }
387 #[inline(always)] fn wxyx(self) -> (D, A, B, A) { let s = self.s(); (s.3, s.0, s.1, s.0) }
388 #[inline(always)] fn wxyy(self) -> (D, A, B, B) { let s = self.s(); (s.3, s.0, s.1, s.1) }
389 #[inline(always)] fn wxyz(self) -> (D, A, B, C) { let s = self.s(); (s.3, s.0, s.1, s.2) }
390 #[inline(always)] fn wxyw(self) -> (D, A, B, D) { let s = self.s(); (s.3, s.0, s.1, s.3) }
391 #[inline(always)] fn wxzx(self) -> (D, A, C, A) { let s = self.s(); (s.3, s.0, s.2, s.0) }
392 #[inline(always)] fn wxzy(self) -> (D, A, C, B) { let s = self.s(); (s.3, s.0, s.2, s.1) }
393 #[inline(always)] fn wxzz(self) -> (D, A, C, C) { let s = self.s(); (s.3, s.0, s.2, s.2) }
394 #[inline(always)] fn wxzw(self) -> (D, A, C, D) { let s = self.s(); (s.3, s.0, s.2, s.3) }
395 #[inline(always)] fn wxwx(self) -> (D, A, D, A) { let s = self.s(); (s.3, s.0, s.3, s.0) }
396 #[inline(always)] fn wxwy(self) -> (D, A, D, B) { let s = self.s(); (s.3, s.0, s.3, s.1) }
397 #[inline(always)] fn wxwz(self) -> (D, A, D, C) { let s = self.s(); (s.3, s.0, s.3, s.2) }
398 #[inline(always)] fn wxww(self) -> (D, A, D, D) { let s = self.s(); (s.3, s.0, s.3, s.3) }
399 #[inline(always)] fn wyxx(self) -> (D, B, A, A) { let s = self.s(); (s.3, s.1, s.0, s.0) }
400 #[inline(always)] fn wyxy(self) -> (D, B, A, B) { let s = self.s(); (s.3, s.1, s.0, s.1) }
401 #[inline(always)] fn wyxz(self) -> (D, B, A, C) { let s = self.s(); (s.3, s.1, s.0, s.2) }
402 #[inline(always)] fn wyxw(self) -> (D, B, A, D) { let s = self.s(); (s.3, s.1, s.0, s.3) }
403 #[inline(always)] fn wyyx(self) -> (D, B, B, A) { let s = self.s(); (s.3, s.1, s.1, s.0) }
404 #[inline(always)] fn wyyy(self) -> (D, B, B, B) { let s = self.s(); (s.3, s.1, s.1, s.1) }
405 #[inline(always)] fn wyyz(self) -> (D, B, B, C) { let s = self.s(); (s.3, s.1, s.1, s.2) }
406 #[inline(always)] fn wyyw(self) -> (D, B, B, D) { let s = self.s(); (s.3, s.1, s.1, s.3) }
407 #[inline(always)] fn wyzx(self) -> (D, B, C, A) { let s = self.s(); (s.3, s.1, s.2, s.0) }
408 #[inline(always)] fn wyzy(self) -> (D, B, C, B) { let s = self.s(); (s.3, s.1, s.2, s.1) }
409 #[inline(always)] fn wyzz(self) -> (D, B, C, C) { let s = self.s(); (s.3, s.1, s.2, s.2) }
410 #[inline(always)] fn wyzw(self) -> (D, B, C, D) { let s = self.s(); (s.3, s.1, s.2, s.3) }
411 #[inline(always)] fn wywx(self) -> (D, B, D, A) { let s = self.s(); (s.3, s.1, s.3, s.0) }
412 #[inline(always)] fn wywy(self) -> (D, B, D, B) { let s = self.s(); (s.3, s.1, s.3, s.1) }
413 #[inline(always)] fn wywz(self) -> (D, B, D, C) { let s = self.s(); (s.3, s.1, s.3, s.2) }
414 #[inline(always)] fn wyww(self) -> (D, B, D, D) { let s = self.s(); (s.3, s.1, s.3, s.3) }
415 #[inline(always)] fn wzxx(self) -> (D, C, A, A) { let s = self.s(); (s.3, s.2, s.0, s.0) }
416 #[inline(always)] fn wzxy(self) -> (D, C, A, B) { let s = self.s(); (s.3, s.2, s.0, s.1) }
417 #[inline(always)] fn wzxz(self) -> (D, C, A, C) { let s = self.s(); (s.3, s.2, s.0, s.2) }
418 #[inline(always)] fn wzxw(self) -> (D, C, A, D) { let s = self.s(); (s.3, s.2, s.0, s.3) }
419 #[inline(always)] fn wzyx(self) -> (D, C, B, A) { let s = self.s(); (s.3, s.2, s.1, s.0) }
420 #[inline(always)] fn wzyy(self) -> (D, C, B, B) { let s = self.s(); (s.3, s.2, s.1, s.1) }
421 #[inline(always)] fn wzyz(self) -> (D, C, B, C) { let s = self.s(); (s.3, s.2, s.1, s.2) }
422 #[inline(always)] fn wzyw(self) -> (D, C, B, D) { let s = self.s(); (s.3, s.2, s.1, s.3) }
423 #[inline(always)] fn wzzx(self) -> (D, C, C, A) { let s = self.s(); (s.3, s.2, s.2, s.0) }
424 #[inline(always)] fn wzzy(self) -> (D, C, C, B) { let s = self.s(); (s.3, s.2, s.2, s.1) }
425 #[inline(always)] fn wzzz(self) -> (D, C, C, C) { let s = self.s(); (s.3, s.2, s.2, s.2) }
426 #[inline(always)] fn wzzw(self) -> (D, C, C, D) { let s = self.s(); (s.3, s.2, s.2, s.3) }
427 #[inline(always)] fn wzwx(self) -> (D, C, D, A) { let s = self.s(); (s.3, s.2, s.3, s.0) }
428 #[inline(always)] fn wzwy(self) -> (D, C, D, B) { let s = self.s(); (s.3, s.2, s.3, s.1) }
429 #[inline(always)] fn wzwz(self) -> (D, C, D, C) { let s = self.s(); (s.3, s.2, s.3, s.2) }
430 #[inline(always)] fn wzww(self) -> (D, C, D, D) { let s = self.s(); (s.3, s.2, s.3, s.3) }
431 #[inline(always)] fn wwxx(self) -> (D, D, A, A) { let s = self.s(); (s.3, s.3, s.0, s.0) }
432 #[inline(always)] fn wwxy(self) -> (D, D, A, B) { let s = self.s(); (s.3, s.3, s.0, s.1) }
433 #[inline(always)] fn wwxz(self) -> (D, D, A, C) { let s = self.s(); (s.3, s.3, s.0, s.2) }
434 #[inline(always)] fn wwxw(self) -> (D, D, A, D) { let s = self.s(); (s.3, s.3, s.0, s.3) }
435 #[inline(always)] fn wwyx(self) -> (D, D, B, A) { let s = self.s(); (s.3, s.3, s.1, s.0) }
436 #[inline(always)] fn wwyy(self) -> (D, D, B, B) { let s = self.s(); (s.3, s.3, s.1, s.1) }
437 #[inline(always)] fn wwyz(self) -> (D, D, B, C) { let s = self.s(); (s.3, s.3, s.1, s.2) }
438 #[inline(always)] fn wwyw(self) -> (D, D, B, D) { let s = self.s(); (s.3, s.3, s.1, s.3) }
439 #[inline(always)] fn wwzx(self) -> (D, D, C, A) { let s = self.s(); (s.3, s.3, s.2, s.0) }
440 #[inline(always)] fn wwzy(self) -> (D, D, C, B) { let s = self.s(); (s.3, s.3, s.2, s.1) }
441 #[inline(always)] fn wwzz(self) -> (D, D, C, C) { let s = self.s(); (s.3, s.3, s.2, s.2) }
442 #[inline(always)] fn wwzw(self) -> (D, D, C, D) { let s = self.s(); (s.3, s.3, s.2, s.3) }
443 #[inline(always)] fn wwwx(self) -> (D, D, D, A) { let s = self.s(); (s.3, s.3, s.3, s.0) }
444 #[inline(always)] fn wwwy(self) -> (D, D, D, B) { let s = self.s(); (s.3, s.3, s.3, s.1) }
445 #[inline(always)] fn wwwz(self) -> (D, D, D, C) { let s = self.s(); (s.3, s.3, s.3, s.2) }
446 #[inline(always)] fn wwww(self) -> (D, D, D, D) { let s = self.s(); (s.3, s.3, s.3, s.3) }
447
448 #[inline(always)] fn r(self) -> A { self.s().0 }
449 #[inline(always)] fn g(self) -> B { self.s().1 }
450 #[inline(always)] fn b(self) -> C { self.s().2 }
451 #[inline(always)] fn a(self) -> D { self.s().3 }
452 #[inline(always)] fn rr(self) -> (A, A) { let s = self.s(); (s.0, s.0) }
453 #[inline(always)] fn rg(self) -> (A, B) { let s = self.s(); (s.0, s.1) }
454 #[inline(always)] fn rb(self) -> (A, C) { let s = self.s(); (s.0, s.2) }
455 #[inline(always)] fn ra(self) -> (A, D) { let s = self.s(); (s.0, s.3) }
456 #[inline(always)] fn gr(self) -> (B, A) { let s = self.s(); (s.1, s.0) }
457 #[inline(always)] fn gg(self) -> (B, B) { let s = self.s(); (s.1, s.1) }
458 #[inline(always)] fn gb(self) -> (B, C) { let s = self.s(); (s.1, s.2) }
459 #[inline(always)] fn ga(self) -> (B, D) { let s = self.s(); (s.1, s.3) }
460 #[inline(always)] fn br(self) -> (C, A) { let s = self.s(); (s.2, s.0) }
461 #[inline(always)] fn bg(self) -> (C, B) { let s = self.s(); (s.2, s.1) }
462 #[inline(always)] fn bb(self) -> (C, C) { let s = self.s(); (s.2, s.2) }
463 #[inline(always)] fn ba(self) -> (C, D) { let s = self.s(); (s.2, s.3) }
464 #[inline(always)] fn ar(self) -> (D, A) { let s = self.s(); (s.3, s.0) }
465 #[inline(always)] fn ag(self) -> (D, B) { let s = self.s(); (s.3, s.1) }
466 #[inline(always)] fn ab(self) -> (D, C) { let s = self.s(); (s.3, s.2) }
467 #[inline(always)] fn aa(self) -> (D, D) { let s = self.s(); (s.3, s.3) }
468 #[inline(always)] fn rrr(self) -> (A, A, A) { let s = self.s(); (s.0, s.0, s.0) }
469 #[inline(always)] fn rrg(self) -> (A, A, B) { let s = self.s(); (s.0, s.0, s.1) }
470 #[inline(always)] fn rrb(self) -> (A, A, C) { let s = self.s(); (s.0, s.0, s.2) }
471 #[inline(always)] fn rra(self) -> (A, A, D) { let s = self.s(); (s.0, s.0, s.3) }
472 #[inline(always)] fn rgr(self) -> (A, B, A) { let s = self.s(); (s.0, s.1, s.0) }
473 #[inline(always)] fn rgg(self) -> (A, B, B) { let s = self.s(); (s.0, s.1, s.1) }
474 #[inline(always)] fn rgb(self) -> (A, B, C) { let s = self.s(); (s.0, s.1, s.2) }
475 #[inline(always)] fn rga(self) -> (A, B, D) { let s = self.s(); (s.0, s.1, s.3) }
476 #[inline(always)] fn rbr(self) -> (A, C, A) { let s = self.s(); (s.0, s.2, s.0) }
477 #[inline(always)] fn rbg(self) -> (A, C, B) { let s = self.s(); (s.0, s.2, s.1) }
478 #[inline(always)] fn rbb(self) -> (A, C, C) { let s = self.s(); (s.0, s.2, s.2) }
479 #[inline(always)] fn rba(self) -> (A, C, D) { let s = self.s(); (s.0, s.2, s.3) }
480 #[inline(always)] fn rar(self) -> (A, D, A) { let s = self.s(); (s.0, s.3, s.0) }
481 #[inline(always)] fn rag(self) -> (A, D, B) { let s = self.s(); (s.0, s.3, s.1) }
482 #[inline(always)] fn rab(self) -> (A, D, C) { let s = self.s(); (s.0, s.3, s.2) }
483 #[inline(always)] fn raa(self) -> (A, D, D) { let s = self.s(); (s.0, s.3, s.3) }
484 #[inline(always)] fn grr(self) -> (B, A, A) { let s = self.s(); (s.1, s.0, s.0) }
485 #[inline(always)] fn grg(self) -> (B, A, B) { let s = self.s(); (s.1, s.0, s.1) }
486 #[inline(always)] fn grb(self) -> (B, A, C) { let s = self.s(); (s.1, s.0, s.2) }
487 #[inline(always)] fn gra(self) -> (B, A, D) { let s = self.s(); (s.1, s.0, s.3) }
488 #[inline(always)] fn ggr(self) -> (B, B, A) { let s = self.s(); (s.1, s.1, s.0) }
489 #[inline(always)] fn ggg(self) -> (B, B, B) { let s = self.s(); (s.1, s.1, s.1) }
490 #[inline(always)] fn ggb(self) -> (B, B, C) { let s = self.s(); (s.1, s.1, s.2) }
491 #[inline(always)] fn gga(self) -> (B, B, D) { let s = self.s(); (s.1, s.1, s.3) }
492 #[inline(always)] fn gbr(self) -> (B, C, A) { let s = self.s(); (s.1, s.2, s.0) }
493 #[inline(always)] fn gbg(self) -> (B, C, B) { let s = self.s(); (s.1, s.2, s.1) }
494 #[inline(always)] fn gbb(self) -> (B, C, C) { let s = self.s(); (s.1, s.2, s.2) }
495 #[inline(always)] fn gba(self) -> (B, C, D) { let s = self.s(); (s.1, s.2, s.3) }
496 #[inline(always)] fn gar(self) -> (B, D, A) { let s = self.s(); (s.1, s.3, s.0) }
497 #[inline(always)] fn gag(self) -> (B, D, B) { let s = self.s(); (s.1, s.3, s.1) }
498 #[inline(always)] fn gab(self) -> (B, D, C) { let s = self.s(); (s.1, s.3, s.2) }
499 #[inline(always)] fn gaa(self) -> (B, D, D) { let s = self.s(); (s.1, s.3, s.3) }
500 #[inline(always)] fn brr(self) -> (C, A, A) { let s = self.s(); (s.2, s.0, s.0) }
501 #[inline(always)] fn brg(self) -> (C, A, B) { let s = self.s(); (s.2, s.0, s.1) }
502 #[inline(always)] fn brb(self) -> (C, A, C) { let s = self.s(); (s.2, s.0, s.2) }
503 #[inline(always)] fn bra(self) -> (C, A, D) { let s = self.s(); (s.2, s.0, s.3) }
504 #[inline(always)] fn bgr(self) -> (C, B, A) { let s = self.s(); (s.2, s.1, s.0) }
505 #[inline(always)] fn bgg(self) -> (C, B, B) { let s = self.s(); (s.2, s.1, s.1) }
506 #[inline(always)] fn bgb(self) -> (C, B, C) { let s = self.s(); (s.2, s.1, s.2) }
507 #[inline(always)] fn bga(self) -> (C, B, D) { let s = self.s(); (s.2, s.1, s.3) }
508 #[inline(always)] fn bbr(self) -> (C, C, A) { let s = self.s(); (s.2, s.2, s.0) }
509 #[inline(always)] fn bbg(self) -> (C, C, B) { let s = self.s(); (s.2, s.2, s.1) }
510 #[inline(always)] fn bbb(self) -> (C, C, C) { let s = self.s(); (s.2, s.2, s.2) }
511 #[inline(always)] fn bba(self) -> (C, C, D) { let s = self.s(); (s.2, s.2, s.3) }
512 #[inline(always)] fn bar(self) -> (C, D, A) { let s = self.s(); (s.2, s.3, s.0) }
513 #[inline(always)] fn bag(self) -> (C, D, B) { let s = self.s(); (s.2, s.3, s.1) }
514 #[inline(always)] fn bab(self) -> (C, D, C) { let s = self.s(); (s.2, s.3, s.2) }
515 #[inline(always)] fn baa(self) -> (C, D, D) { let s = self.s(); (s.2, s.3, s.3) }
516 #[inline(always)] fn arr(self) -> (D, A, A) { let s = self.s(); (s.3, s.0, s.0) }
517 #[inline(always)] fn arg(self) -> (D, A, B) { let s = self.s(); (s.3, s.0, s.1) }
518 #[inline(always)] fn arb(self) -> (D, A, C) { let s = self.s(); (s.3, s.0, s.2) }
519 #[inline(always)] fn ara(self) -> (D, A, D) { let s = self.s(); (s.3, s.0, s.3) }
520 #[inline(always)] fn agr(self) -> (D, B, A) { let s = self.s(); (s.3, s.1, s.0) }
521 #[inline(always)] fn agg(self) -> (D, B, B) { let s = self.s(); (s.3, s.1, s.1) }
522 #[inline(always)] fn agb(self) -> (D, B, C) { let s = self.s(); (s.3, s.1, s.2) }
523 #[inline(always)] fn aga(self) -> (D, B, D) { let s = self.s(); (s.3, s.1, s.3) }
524 #[inline(always)] fn abr(self) -> (D, C, A) { let s = self.s(); (s.3, s.2, s.0) }
525 #[inline(always)] fn abg(self) -> (D, C, B) { let s = self.s(); (s.3, s.2, s.1) }
526 #[inline(always)] fn abb(self) -> (D, C, C) { let s = self.s(); (s.3, s.2, s.2) }
527 #[inline(always)] fn aba(self) -> (D, C, D) { let s = self.s(); (s.3, s.2, s.3) }
528 #[inline(always)] fn aar(self) -> (D, D, A) { let s = self.s(); (s.3, s.3, s.0) }
529 #[inline(always)] fn aag(self) -> (D, D, B) { let s = self.s(); (s.3, s.3, s.1) }
530 #[inline(always)] fn aab(self) -> (D, D, C) { let s = self.s(); (s.3, s.3, s.2) }
531 #[inline(always)] fn aaa(self) -> (D, D, D) { let s = self.s(); (s.3, s.3, s.3) }
532
533 #[inline(always)] fn rrrr(self) -> (A, A, A, A) { let s = self.s(); (s.0, s.0, s.0, s.0) }
534 #[inline(always)] fn rrrg(self) -> (A, A, A, B) { let s = self.s(); (s.0, s.0, s.0, s.1) }
535 #[inline(always)] fn rrrb(self) -> (A, A, A, C) { let s = self.s(); (s.0, s.0, s.0, s.2) }
536 #[inline(always)] fn rrra(self) -> (A, A, A, D) { let s = self.s(); (s.0, s.0, s.0, s.3) }
537 #[inline(always)] fn rrgr(self) -> (A, A, B, A) { let s = self.s(); (s.0, s.0, s.1, s.0) }
538 #[inline(always)] fn rrgg(self) -> (A, A, B, B) { let s = self.s(); (s.0, s.0, s.1, s.1) }
539 #[inline(always)] fn rrgb(self) -> (A, A, B, C) { let s = self.s(); (s.0, s.0, s.1, s.2) }
540 #[inline(always)] fn rrga(self) -> (A, A, B, D) { let s = self.s(); (s.0, s.0, s.1, s.3) }
541 #[inline(always)] fn rrbr(self) -> (A, A, C, A) { let s = self.s(); (s.0, s.0, s.2, s.0) }
542 #[inline(always)] fn rrbg(self) -> (A, A, C, B) { let s = self.s(); (s.0, s.0, s.2, s.1) }
543 #[inline(always)] fn rrbb(self) -> (A, A, C, C) { let s = self.s(); (s.0, s.0, s.2, s.2) }
544 #[inline(always)] fn rrba(self) -> (A, A, C, D) { let s = self.s(); (s.0, s.0, s.2, s.3) }
545 #[inline(always)] fn rrar(self) -> (A, A, D, A) { let s = self.s(); (s.0, s.0, s.3, s.0) }
546 #[inline(always)] fn rrag(self) -> (A, A, D, B) { let s = self.s(); (s.0, s.0, s.3, s.1) }
547 #[inline(always)] fn rrab(self) -> (A, A, D, C) { let s = self.s(); (s.0, s.0, s.3, s.2) }
548 #[inline(always)] fn rraa(self) -> (A, A, D, D) { let s = self.s(); (s.0, s.0, s.3, s.3) }
549 #[inline(always)] fn rgrr(self) -> (A, B, A, A) { let s = self.s(); (s.0, s.1, s.0, s.0) }
550 #[inline(always)] fn rgrg(self) -> (A, B, A, B) { let s = self.s(); (s.0, s.1, s.0, s.1) }
551 #[inline(always)] fn rgrb(self) -> (A, B, A, C) { let s = self.s(); (s.0, s.1, s.0, s.2) }
552 #[inline(always)] fn rgra(self) -> (A, B, A, D) { let s = self.s(); (s.0, s.1, s.0, s.3) }
553 #[inline(always)] fn rggr(self) -> (A, B, B, A) { let s = self.s(); (s.0, s.1, s.1, s.0) }
554 #[inline(always)] fn rggg(self) -> (A, B, B, B) { let s = self.s(); (s.0, s.1, s.1, s.1) }
555 #[inline(always)] fn rggb(self) -> (A, B, B, C) { let s = self.s(); (s.0, s.1, s.1, s.2) }
556 #[inline(always)] fn rgga(self) -> (A, B, B, D) { let s = self.s(); (s.0, s.1, s.1, s.3) }
557 #[inline(always)] fn rgbr(self) -> (A, B, C, A) { let s = self.s(); (s.0, s.1, s.2, s.0) }
558 #[inline(always)] fn rgbg(self) -> (A, B, C, B) { let s = self.s(); (s.0, s.1, s.2, s.1) }
559 #[inline(always)] fn rgbb(self) -> (A, B, C, C) { let s = self.s(); (s.0, s.1, s.2, s.2) }
560 #[inline(always)] fn rgba(self) -> (A, B, C, D) { let s = self.s(); (s.0, s.1, s.2, s.3) }
561 #[inline(always)] fn rgar(self) -> (A, B, D, A) { let s = self.s(); (s.0, s.1, s.3, s.0) }
562 #[inline(always)] fn rgag(self) -> (A, B, D, B) { let s = self.s(); (s.0, s.1, s.3, s.1) }
563 #[inline(always)] fn rgab(self) -> (A, B, D, C) { let s = self.s(); (s.0, s.1, s.3, s.2) }
564 #[inline(always)] fn rgaa(self) -> (A, B, D, D) { let s = self.s(); (s.0, s.1, s.3, s.3) }
565 #[inline(always)] fn rbrr(self) -> (A, C, A, A) { let s = self.s(); (s.0, s.2, s.0, s.0) }
566 #[inline(always)] fn rbrg(self) -> (A, C, A, B) { let s = self.s(); (s.0, s.2, s.0, s.1) }
567 #[inline(always)] fn rbrb(self) -> (A, C, A, C) { let s = self.s(); (s.0, s.2, s.0, s.2) }
568 #[inline(always)] fn rbra(self) -> (A, C, A, D) { let s = self.s(); (s.0, s.2, s.0, s.3) }
569 #[inline(always)] fn rbgr(self) -> (A, C, B, A) { let s = self.s(); (s.0, s.2, s.1, s.0) }
570 #[inline(always)] fn rbgg(self) -> (A, C, B, B) { let s = self.s(); (s.0, s.2, s.1, s.1) }
571 #[inline(always)] fn rbgb(self) -> (A, C, B, C) { let s = self.s(); (s.0, s.2, s.1, s.2) }
572 #[inline(always)] fn rbga(self) -> (A, C, B, D) { let s = self.s(); (s.0, s.2, s.1, s.3) }
573 #[inline(always)] fn rbbr(self) -> (A, C, C, A) { let s = self.s(); (s.0, s.2, s.2, s.0) }
574 #[inline(always)] fn rbbg(self) -> (A, C, C, B) { let s = self.s(); (s.0, s.2, s.2, s.1) }
575 #[inline(always)] fn rbbb(self) -> (A, C, C, C) { let s = self.s(); (s.0, s.2, s.2, s.2) }
576 #[inline(always)] fn rbba(self) -> (A, C, C, D) { let s = self.s(); (s.0, s.2, s.2, s.3) }
577 #[inline(always)] fn rbar(self) -> (A, C, D, A) { let s = self.s(); (s.0, s.2, s.3, s.0) }
578 #[inline(always)] fn rbag(self) -> (A, C, D, B) { let s = self.s(); (s.0, s.2, s.3, s.1) }
579 #[inline(always)] fn rbab(self) -> (A, C, D, C) { let s = self.s(); (s.0, s.2, s.3, s.2) }
580 #[inline(always)] fn rbaa(self) -> (A, C, D, D) { let s = self.s(); (s.0, s.2, s.3, s.3) }
581 #[inline(always)] fn rarr(self) -> (A, D, A, A) { let s = self.s(); (s.0, s.3, s.0, s.0) }
582 #[inline(always)] fn rarg(self) -> (A, D, A, B) { let s = self.s(); (s.0, s.3, s.0, s.1) }
583 #[inline(always)] fn rarb(self) -> (A, D, A, C) { let s = self.s(); (s.0, s.3, s.0, s.2) }
584 #[inline(always)] fn rara(self) -> (A, D, A, D) { let s = self.s(); (s.0, s.3, s.0, s.3) }
585 #[inline(always)] fn ragr(self) -> (A, D, B, A) { let s = self.s(); (s.0, s.3, s.1, s.0) }
586 #[inline(always)] fn ragg(self) -> (A, D, B, B) { let s = self.s(); (s.0, s.3, s.1, s.1) }
587 #[inline(always)] fn ragb(self) -> (A, D, B, C) { let s = self.s(); (s.0, s.3, s.1, s.2) }
588 #[inline(always)] fn raga(self) -> (A, D, B, D) { let s = self.s(); (s.0, s.3, s.1, s.3) }
589 #[inline(always)] fn rabr(self) -> (A, D, C, A) { let s = self.s(); (s.0, s.3, s.2, s.0) }
590 #[inline(always)] fn rabg(self) -> (A, D, C, B) { let s = self.s(); (s.0, s.3, s.2, s.1) }
591 #[inline(always)] fn rabb(self) -> (A, D, C, C) { let s = self.s(); (s.0, s.3, s.2, s.2) }
592 #[inline(always)] fn raba(self) -> (A, D, C, D) { let s = self.s(); (s.0, s.3, s.2, s.3) }
593 #[inline(always)] fn raar(self) -> (A, D, D, A) { let s = self.s(); (s.0, s.3, s.3, s.0) }
594 #[inline(always)] fn raag(self) -> (A, D, D, B) { let s = self.s(); (s.0, s.3, s.3, s.1) }
595 #[inline(always)] fn raab(self) -> (A, D, D, C) { let s = self.s(); (s.0, s.3, s.3, s.2) }
596 #[inline(always)] fn raaa(self) -> (A, D, D, D) { let s = self.s(); (s.0, s.3, s.3, s.3) }
597
598 #[inline(always)] fn grrr(self) -> (B, A, A, A) { let s = self.s(); (s.1, s.0, s.0, s.0) }
599 #[inline(always)] fn grrg(self) -> (B, A, A, B) { let s = self.s(); (s.1, s.0, s.0, s.1) }
600 #[inline(always)] fn grrb(self) -> (B, A, A, C) { let s = self.s(); (s.1, s.0, s.0, s.2) }
601 #[inline(always)] fn grra(self) -> (B, A, A, D) { let s = self.s(); (s.1, s.0, s.0, s.3) }
602 #[inline(always)] fn grgr(self) -> (B, A, B, A) { let s = self.s(); (s.1, s.0, s.1, s.0) }
603 #[inline(always)] fn grgg(self) -> (B, A, B, B) { let s = self.s(); (s.1, s.0, s.1, s.1) }
604 #[inline(always)] fn grgb(self) -> (B, A, B, C) { let s = self.s(); (s.1, s.0, s.1, s.2) }
605 #[inline(always)] fn grga(self) -> (B, A, B, D) { let s = self.s(); (s.1, s.0, s.1, s.3) }
606 #[inline(always)] fn grbr(self) -> (B, A, C, A) { let s = self.s(); (s.1, s.0, s.2, s.0) }
607 #[inline(always)] fn grbg(self) -> (B, A, C, B) { let s = self.s(); (s.1, s.0, s.2, s.1) }
608 #[inline(always)] fn grbb(self) -> (B, A, C, C) { let s = self.s(); (s.1, s.0, s.2, s.2) }
609 #[inline(always)] fn grba(self) -> (B, A, C, D) { let s = self.s(); (s.1, s.0, s.2, s.3) }
610 #[inline(always)] fn grar(self) -> (B, A, D, A) { let s = self.s(); (s.1, s.0, s.3, s.0) }
611 #[inline(always)] fn grag(self) -> (B, A, D, B) { let s = self.s(); (s.1, s.0, s.3, s.1) }
612 #[inline(always)] fn grab(self) -> (B, A, D, C) { let s = self.s(); (s.1, s.0, s.3, s.2) }
613 #[inline(always)] fn graa(self) -> (B, A, D, D) { let s = self.s(); (s.1, s.0, s.3, s.3) }
614 #[inline(always)] fn ggrr(self) -> (B, B, A, A) { let s = self.s(); (s.1, s.1, s.0, s.0) }
615 #[inline(always)] fn ggrg(self) -> (B, B, A, B) { let s = self.s(); (s.1, s.1, s.0, s.1) }
616 #[inline(always)] fn ggrb(self) -> (B, B, A, C) { let s = self.s(); (s.1, s.1, s.0, s.2) }
617 #[inline(always)] fn ggra(self) -> (B, B, A, D) { let s = self.s(); (s.1, s.1, s.0, s.3) }
618 #[inline(always)] fn gggr(self) -> (B, B, B, A) { let s = self.s(); (s.1, s.1, s.1, s.0) }
619 #[inline(always)] fn gggg(self) -> (B, B, B, B) { let s = self.s(); (s.1, s.1, s.1, s.1) }
620 #[inline(always)] fn gggb(self) -> (B, B, B, C) { let s = self.s(); (s.1, s.1, s.1, s.2) }
621 #[inline(always)] fn ggga(self) -> (B, B, B, D) { let s = self.s(); (s.1, s.1, s.1, s.3) }
622 #[inline(always)] fn ggbr(self) -> (B, B, C, A) { let s = self.s(); (s.1, s.1, s.2, s.0) }
623 #[inline(always)] fn ggbg(self) -> (B, B, C, B) { let s = self.s(); (s.1, s.1, s.2, s.1) }
624 #[inline(always)] fn ggbb(self) -> (B, B, C, C) { let s = self.s(); (s.1, s.1, s.2, s.2) }
625 #[inline(always)] fn ggba(self) -> (B, B, C, D) { let s = self.s(); (s.1, s.1, s.2, s.3) }
626 #[inline(always)] fn ggar(self) -> (B, B, D, A) { let s = self.s(); (s.1, s.1, s.3, s.0) }
627 #[inline(always)] fn ggag(self) -> (B, B, D, B) { let s = self.s(); (s.1, s.1, s.3, s.1) }
628 #[inline(always)] fn ggab(self) -> (B, B, D, C) { let s = self.s(); (s.1, s.1, s.3, s.2) }
629 #[inline(always)] fn ggaa(self) -> (B, B, D, D) { let s = self.s(); (s.1, s.1, s.3, s.3) }
630 #[inline(always)] fn gbrr(self) -> (B, C, A, A) { let s = self.s(); (s.1, s.2, s.0, s.0) }
631 #[inline(always)] fn gbrg(self) -> (B, C, A, B) { let s = self.s(); (s.1, s.2, s.0, s.1) }
632 #[inline(always)] fn gbrb(self) -> (B, C, A, C) { let s = self.s(); (s.1, s.2, s.0, s.2) }
633 #[inline(always)] fn gbra(self) -> (B, C, A, D) { let s = self.s(); (s.1, s.2, s.0, s.3) }
634 #[inline(always)] fn gbgr(self) -> (B, C, B, A) { let s = self.s(); (s.1, s.2, s.1, s.0) }
635 #[inline(always)] fn gbgg(self) -> (B, C, B, B) { let s = self.s(); (s.1, s.2, s.1, s.1) }
636 #[inline(always)] fn gbgb(self) -> (B, C, B, C) { let s = self.s(); (s.1, s.2, s.1, s.2) }
637 #[inline(always)] fn gbga(self) -> (B, C, B, D) { let s = self.s(); (s.1, s.2, s.1, s.3) }
638 #[inline(always)] fn gbbr(self) -> (B, C, C, A) { let s = self.s(); (s.1, s.2, s.2, s.0) }
639 #[inline(always)] fn gbbg(self) -> (B, C, C, B) { let s = self.s(); (s.1, s.2, s.2, s.1) }
640 #[inline(always)] fn gbbb(self) -> (B, C, C, C) { let s = self.s(); (s.1, s.2, s.2, s.2) }
641 #[inline(always)] fn gbba(self) -> (B, C, C, D) { let s = self.s(); (s.1, s.2, s.2, s.3) }
642 #[inline(always)] fn gbar(self) -> (B, C, D, A) { let s = self.s(); (s.1, s.2, s.3, s.0) }
643 #[inline(always)] fn gbag(self) -> (B, C, D, B) { let s = self.s(); (s.1, s.2, s.3, s.1) }
644 #[inline(always)] fn gbab(self) -> (B, C, D, C) { let s = self.s(); (s.1, s.2, s.3, s.2) }
645 #[inline(always)] fn gbaa(self) -> (B, C, D, D) { let s = self.s(); (s.1, s.2, s.3, s.3) }
646 #[inline(always)] fn garr(self) -> (B, D, A, A) { let s = self.s(); (s.1, s.3, s.0, s.0) }
647 #[inline(always)] fn garg(self) -> (B, D, A, B) { let s = self.s(); (s.1, s.3, s.0, s.1) }
648 #[inline(always)] fn garb(self) -> (B, D, A, C) { let s = self.s(); (s.1, s.3, s.0, s.2) }
649 #[inline(always)] fn gara(self) -> (B, D, A, D) { let s = self.s(); (s.1, s.3, s.0, s.3) }
650 #[inline(always)] fn gagr(self) -> (B, D, B, A) { let s = self.s(); (s.1, s.3, s.1, s.0) }
651 #[inline(always)] fn gagg(self) -> (B, D, B, B) { let s = self.s(); (s.1, s.3, s.1, s.1) }
652 #[inline(always)] fn gagb(self) -> (B, D, B, C) { let s = self.s(); (s.1, s.3, s.1, s.2) }
653 #[inline(always)] fn gaga(self) -> (B, D, B, D) { let s = self.s(); (s.1, s.3, s.1, s.3) }
654 #[inline(always)] fn gabr(self) -> (B, D, C, A) { let s = self.s(); (s.1, s.3, s.2, s.0) }
655 #[inline(always)] fn gabg(self) -> (B, D, C, B) { let s = self.s(); (s.1, s.3, s.2, s.1) }
656 #[inline(always)] fn gabb(self) -> (B, D, C, C) { let s = self.s(); (s.1, s.3, s.2, s.2) }
657 #[inline(always)] fn gaba(self) -> (B, D, C, D) { let s = self.s(); (s.1, s.3, s.2, s.3) }
658 #[inline(always)] fn gaar(self) -> (B, D, D, A) { let s = self.s(); (s.1, s.3, s.3, s.0) }
659 #[inline(always)] fn gaag(self) -> (B, D, D, B) { let s = self.s(); (s.1, s.3, s.3, s.1) }
660 #[inline(always)] fn gaab(self) -> (B, D, D, C) { let s = self.s(); (s.1, s.3, s.3, s.2) }
661 #[inline(always)] fn gaaa(self) -> (B, D, D, D) { let s = self.s(); (s.1, s.3, s.3, s.3) }
662
663 #[inline(always)] fn brrr(self) -> (C, A, A, A) { let s = self.s(); (s.2, s.0, s.0, s.0) }
664 #[inline(always)] fn brrg(self) -> (C, A, A, B) { let s = self.s(); (s.2, s.0, s.0, s.1) }
665 #[inline(always)] fn brrb(self) -> (C, A, A, C) { let s = self.s(); (s.2, s.0, s.0, s.2) }
666 #[inline(always)] fn brra(self) -> (C, A, A, D) { let s = self.s(); (s.2, s.0, s.0, s.3) }
667 #[inline(always)] fn brgr(self) -> (C, A, B, A) { let s = self.s(); (s.2, s.0, s.1, s.0) }
668 #[inline(always)] fn brgg(self) -> (C, A, B, B) { let s = self.s(); (s.2, s.0, s.1, s.1) }
669 #[inline(always)] fn brgb(self) -> (C, A, B, C) { let s = self.s(); (s.2, s.0, s.1, s.2) }
670 #[inline(always)] fn brga(self) -> (C, A, B, D) { let s = self.s(); (s.2, s.0, s.1, s.3) }
671 #[inline(always)] fn brbr(self) -> (C, A, C, A) { let s = self.s(); (s.2, s.0, s.2, s.0) }
672 #[inline(always)] fn brbg(self) -> (C, A, C, B) { let s = self.s(); (s.2, s.0, s.2, s.1) }
673 #[inline(always)] fn brbb(self) -> (C, A, C, C) { let s = self.s(); (s.2, s.0, s.2, s.2) }
674 #[inline(always)] fn brba(self) -> (C, A, C, D) { let s = self.s(); (s.2, s.0, s.2, s.3) }
675 #[inline(always)] fn brar(self) -> (C, A, D, A) { let s = self.s(); (s.2, s.0, s.3, s.0) }
676 #[inline(always)] fn brag(self) -> (C, A, D, B) { let s = self.s(); (s.2, s.0, s.3, s.1) }
677 #[inline(always)] fn brab(self) -> (C, A, D, C) { let s = self.s(); (s.2, s.0, s.3, s.2) }
678 #[inline(always)] fn braa(self) -> (C, A, D, D) { let s = self.s(); (s.2, s.0, s.3, s.3) }
679 #[inline(always)] fn bgrr(self) -> (C, B, A, A) { let s = self.s(); (s.2, s.1, s.0, s.0) }
680 #[inline(always)] fn bgrg(self) -> (C, B, A, B) { let s = self.s(); (s.2, s.1, s.0, s.1) }
681 #[inline(always)] fn bgrb(self) -> (C, B, A, C) { let s = self.s(); (s.2, s.1, s.0, s.2) }
682 #[inline(always)] fn bgra(self) -> (C, B, A, D) { let s = self.s(); (s.2, s.1, s.0, s.3) }
683 #[inline(always)] fn bggr(self) -> (C, B, B, A) { let s = self.s(); (s.2, s.1, s.1, s.0) }
684 #[inline(always)] fn bggg(self) -> (C, B, B, B) { let s = self.s(); (s.2, s.1, s.1, s.1) }
685 #[inline(always)] fn bggb(self) -> (C, B, B, C) { let s = self.s(); (s.2, s.1, s.1, s.2) }
686 #[inline(always)] fn bgga(self) -> (C, B, B, D) { let s = self.s(); (s.2, s.1, s.1, s.3) }
687 #[inline(always)] fn bgbr(self) -> (C, B, C, A) { let s = self.s(); (s.2, s.1, s.2, s.0) }
688 #[inline(always)] fn bgbg(self) -> (C, B, C, B) { let s = self.s(); (s.2, s.1, s.2, s.1) }
689 #[inline(always)] fn bgbb(self) -> (C, B, C, C) { let s = self.s(); (s.2, s.1, s.2, s.2) }
690 #[inline(always)] fn bgba(self) -> (C, B, C, D) { let s = self.s(); (s.2, s.1, s.2, s.3) }
691 #[inline(always)] fn bgar(self) -> (C, B, D, A) { let s = self.s(); (s.2, s.1, s.3, s.0) }
692 #[inline(always)] fn bgag(self) -> (C, B, D, B) { let s = self.s(); (s.2, s.1, s.3, s.1) }
693 #[inline(always)] fn bgab(self) -> (C, B, D, C) { let s = self.s(); (s.2, s.1, s.3, s.2) }
694 #[inline(always)] fn bgaa(self) -> (C, B, D, D) { let s = self.s(); (s.2, s.1, s.3, s.3) }
695 #[inline(always)] fn bbrr(self) -> (C, C, A, A) { let s = self.s(); (s.2, s.2, s.0, s.0) }
696 #[inline(always)] fn bbrg(self) -> (C, C, A, B) { let s = self.s(); (s.2, s.2, s.0, s.1) }
697 #[inline(always)] fn bbrb(self) -> (C, C, A, C) { let s = self.s(); (s.2, s.2, s.0, s.2) }
698 #[inline(always)] fn bbra(self) -> (C, C, A, D) { let s = self.s(); (s.2, s.2, s.0, s.3) }
699 #[inline(always)] fn bbgr(self) -> (C, C, B, A) { let s = self.s(); (s.2, s.2, s.1, s.0) }
700 #[inline(always)] fn bbgg(self) -> (C, C, B, B) { let s = self.s(); (s.2, s.2, s.1, s.1) }
701 #[inline(always)] fn bbgb(self) -> (C, C, B, C) { let s = self.s(); (s.2, s.2, s.1, s.2) }
702 #[inline(always)] fn bbga(self) -> (C, C, B, D) { let s = self.s(); (s.2, s.2, s.1, s.3) }
703 #[inline(always)] fn bbbr(self) -> (C, C, C, A) { let s = self.s(); (s.2, s.2, s.2, s.0) }
704 #[inline(always)] fn bbbg(self) -> (C, C, C, B) { let s = self.s(); (s.2, s.2, s.2, s.1) }
705 #[inline(always)] fn bbbb(self) -> (C, C, C, C) { let s = self.s(); (s.2, s.2, s.2, s.2) }
706 #[inline(always)] fn bbba(self) -> (C, C, C, D) { let s = self.s(); (s.2, s.2, s.2, s.3) }
707 #[inline(always)] fn bbar(self) -> (C, C, D, A) { let s = self.s(); (s.2, s.2, s.3, s.0) }
708 #[inline(always)] fn bbag(self) -> (C, C, D, B) { let s = self.s(); (s.2, s.2, s.3, s.1) }
709 #[inline(always)] fn bbab(self) -> (C, C, D, C) { let s = self.s(); (s.2, s.2, s.3, s.2) }
710 #[inline(always)] fn bbaa(self) -> (C, C, D, D) { let s = self.s(); (s.2, s.2, s.3, s.3) }
711 #[inline(always)] fn barr(self) -> (C, D, A, A) { let s = self.s(); (s.2, s.3, s.0, s.0) }
712 #[inline(always)] fn barg(self) -> (C, D, A, B) { let s = self.s(); (s.2, s.3, s.0, s.1) }
713 #[inline(always)] fn barb(self) -> (C, D, A, C) { let s = self.s(); (s.2, s.3, s.0, s.2) }
714 #[inline(always)] fn bara(self) -> (C, D, A, D) { let s = self.s(); (s.2, s.3, s.0, s.3) }
715 #[inline(always)] fn bagr(self) -> (C, D, B, A) { let s = self.s(); (s.2, s.3, s.1, s.0) }
716 #[inline(always)] fn bagg(self) -> (C, D, B, B) { let s = self.s(); (s.2, s.3, s.1, s.1) }
717 #[inline(always)] fn bagb(self) -> (C, D, B, C) { let s = self.s(); (s.2, s.3, s.1, s.2) }
718 #[inline(always)] fn baga(self) -> (C, D, B, D) { let s = self.s(); (s.2, s.3, s.1, s.3) }
719 #[inline(always)] fn babr(self) -> (C, D, C, A) { let s = self.s(); (s.2, s.3, s.2, s.0) }
720 #[inline(always)] fn babg(self) -> (C, D, C, B) { let s = self.s(); (s.2, s.3, s.2, s.1) }
721 #[inline(always)] fn babb(self) -> (C, D, C, C) { let s = self.s(); (s.2, s.3, s.2, s.2) }
722 #[inline(always)] fn baba(self) -> (C, D, C, D) { let s = self.s(); (s.2, s.3, s.2, s.3) }
723 #[inline(always)] fn baar(self) -> (C, D, D, A) { let s = self.s(); (s.2, s.3, s.3, s.0) }
724 #[inline(always)] fn baag(self) -> (C, D, D, B) { let s = self.s(); (s.2, s.3, s.3, s.1) }
725 #[inline(always)] fn baab(self) -> (C, D, D, C) { let s = self.s(); (s.2, s.3, s.3, s.2) }
726 #[inline(always)] fn baaa(self) -> (C, D, D, D) { let s = self.s(); (s.2, s.3, s.3, s.3) }
727
728 #[inline(always)] fn arrr(self) -> (D, A, A, A) { let s = self.s(); (s.3, s.0, s.0, s.0) }
729 #[inline(always)] fn arrg(self) -> (D, A, A, B) { let s = self.s(); (s.3, s.0, s.0, s.1) }
730 #[inline(always)] fn arrb(self) -> (D, A, A, C) { let s = self.s(); (s.3, s.0, s.0, s.2) }
731 #[inline(always)] fn arra(self) -> (D, A, A, D) { let s = self.s(); (s.3, s.0, s.0, s.3) }
732 #[inline(always)] fn argr(self) -> (D, A, B, A) { let s = self.s(); (s.3, s.0, s.1, s.0) }
733 #[inline(always)] fn argg(self) -> (D, A, B, B) { let s = self.s(); (s.3, s.0, s.1, s.1) }
734 #[inline(always)] fn argb(self) -> (D, A, B, C) { let s = self.s(); (s.3, s.0, s.1, s.2) }
735 #[inline(always)] fn arga(self) -> (D, A, B, D) { let s = self.s(); (s.3, s.0, s.1, s.3) }
736 #[inline(always)] fn arbr(self) -> (D, A, C, A) { let s = self.s(); (s.3, s.0, s.2, s.0) }
737 #[inline(always)] fn arbg(self) -> (D, A, C, B) { let s = self.s(); (s.3, s.0, s.2, s.1) }
738 #[inline(always)] fn arbb(self) -> (D, A, C, C) { let s = self.s(); (s.3, s.0, s.2, s.2) }
739 #[inline(always)] fn arba(self) -> (D, A, C, D) { let s = self.s(); (s.3, s.0, s.2, s.3) }
740 #[inline(always)] fn arar(self) -> (D, A, D, A) { let s = self.s(); (s.3, s.0, s.3, s.0) }
741 #[inline(always)] fn arag(self) -> (D, A, D, B) { let s = self.s(); (s.3, s.0, s.3, s.1) }
742 #[inline(always)] fn arab(self) -> (D, A, D, C) { let s = self.s(); (s.3, s.0, s.3, s.2) }
743 #[inline(always)] fn araa(self) -> (D, A, D, D) { let s = self.s(); (s.3, s.0, s.3, s.3) }
744 #[inline(always)] fn agrr(self) -> (D, B, A, A) { let s = self.s(); (s.3, s.1, s.0, s.0) }
745 #[inline(always)] fn agrg(self) -> (D, B, A, B) { let s = self.s(); (s.3, s.1, s.0, s.1) }
746 #[inline(always)] fn agrb(self) -> (D, B, A, C) { let s = self.s(); (s.3, s.1, s.0, s.2) }
747 #[inline(always)] fn agra(self) -> (D, B, A, D) { let s = self.s(); (s.3, s.1, s.0, s.3) }
748 #[inline(always)] fn aggr(self) -> (D, B, B, A) { let s = self.s(); (s.3, s.1, s.1, s.0) }
749 #[inline(always)] fn aggg(self) -> (D, B, B, B) { let s = self.s(); (s.3, s.1, s.1, s.1) }
750 #[inline(always)] fn aggb(self) -> (D, B, B, C) { let s = self.s(); (s.3, s.1, s.1, s.2) }
751 #[inline(always)] fn agga(self) -> (D, B, B, D) { let s = self.s(); (s.3, s.1, s.1, s.3) }
752 #[inline(always)] fn agbr(self) -> (D, B, C, A) { let s = self.s(); (s.3, s.1, s.2, s.0) }
753 #[inline(always)] fn agbg(self) -> (D, B, C, B) { let s = self.s(); (s.3, s.1, s.2, s.1) }
754 #[inline(always)] fn agbb(self) -> (D, B, C, C) { let s = self.s(); (s.3, s.1, s.2, s.2) }
755 #[inline(always)] fn agba(self) -> (D, B, C, D) { let s = self.s(); (s.3, s.1, s.2, s.3) }
756 #[inline(always)] fn agar(self) -> (D, B, D, A) { let s = self.s(); (s.3, s.1, s.3, s.0) }
757 #[inline(always)] fn agag(self) -> (D, B, D, B) { let s = self.s(); (s.3, s.1, s.3, s.1) }
758 #[inline(always)] fn agab(self) -> (D, B, D, C) { let s = self.s(); (s.3, s.1, s.3, s.2) }
759 #[inline(always)] fn agaa(self) -> (D, B, D, D) { let s = self.s(); (s.3, s.1, s.3, s.3) }
760 #[inline(always)] fn abrr(self) -> (D, C, A, A) { let s = self.s(); (s.3, s.2, s.0, s.0) }
761 #[inline(always)] fn abrg(self) -> (D, C, A, B) { let s = self.s(); (s.3, s.2, s.0, s.1) }
762 #[inline(always)] fn abrb(self) -> (D, C, A, C) { let s = self.s(); (s.3, s.2, s.0, s.2) }
763 #[inline(always)] fn abra(self) -> (D, C, A, D) { let s = self.s(); (s.3, s.2, s.0, s.3) }
764 #[inline(always)] fn abgr(self) -> (D, C, B, A) { let s = self.s(); (s.3, s.2, s.1, s.0) }
765 #[inline(always)] fn abgg(self) -> (D, C, B, B) { let s = self.s(); (s.3, s.2, s.1, s.1) }
766 #[inline(always)] fn abgb(self) -> (D, C, B, C) { let s = self.s(); (s.3, s.2, s.1, s.2) }
767 #[inline(always)] fn abga(self) -> (D, C, B, D) { let s = self.s(); (s.3, s.2, s.1, s.3) }
768 #[inline(always)] fn abbr(self) -> (D, C, C, A) { let s = self.s(); (s.3, s.2, s.2, s.0) }
769 #[inline(always)] fn abbg(self) -> (D, C, C, B) { let s = self.s(); (s.3, s.2, s.2, s.1) }
770 #[inline(always)] fn abbb(self) -> (D, C, C, C) { let s = self.s(); (s.3, s.2, s.2, s.2) }
771 #[inline(always)] fn abba(self) -> (D, C, C, D) { let s = self.s(); (s.3, s.2, s.2, s.3) }
772 #[inline(always)] fn abar(self) -> (D, C, D, A) { let s = self.s(); (s.3, s.2, s.3, s.0) }
773 #[inline(always)] fn abag(self) -> (D, C, D, B) { let s = self.s(); (s.3, s.2, s.3, s.1) }
774 #[inline(always)] fn abab(self) -> (D, C, D, C) { let s = self.s(); (s.3, s.2, s.3, s.2) }
775 #[inline(always)] fn abaa(self) -> (D, C, D, D) { let s = self.s(); (s.3, s.2, s.3, s.3) }
776 #[inline(always)] fn aarr(self) -> (D, D, A, A) { let s = self.s(); (s.3, s.3, s.0, s.0) }
777 #[inline(always)] fn aarg(self) -> (D, D, A, B) { let s = self.s(); (s.3, s.3, s.0, s.1) }
778 #[inline(always)] fn aarb(self) -> (D, D, A, C) { let s = self.s(); (s.3, s.3, s.0, s.2) }
779 #[inline(always)] fn aara(self) -> (D, D, A, D) { let s = self.s(); (s.3, s.3, s.0, s.3) }
780 #[inline(always)] fn aagr(self) -> (D, D, B, A) { let s = self.s(); (s.3, s.3, s.1, s.0) }
781 #[inline(always)] fn aagg(self) -> (D, D, B, B) { let s = self.s(); (s.3, s.3, s.1, s.1) }
782 #[inline(always)] fn aagb(self) -> (D, D, B, C) { let s = self.s(); (s.3, s.3, s.1, s.2) }
783 #[inline(always)] fn aaga(self) -> (D, D, B, D) { let s = self.s(); (s.3, s.3, s.1, s.3) }
784 #[inline(always)] fn aabr(self) -> (D, D, C, A) { let s = self.s(); (s.3, s.3, s.2, s.0) }
785 #[inline(always)] fn aabg(self) -> (D, D, C, B) { let s = self.s(); (s.3, s.3, s.2, s.1) }
786 #[inline(always)] fn aabb(self) -> (D, D, C, C) { let s = self.s(); (s.3, s.3, s.2, s.2) }
787 #[inline(always)] fn aaba(self) -> (D, D, C, D) { let s = self.s(); (s.3, s.3, s.2, s.3) }
788 #[inline(always)] fn aaar(self) -> (D, D, D, A) { let s = self.s(); (s.3, s.3, s.3, s.0) }
789 #[inline(always)] fn aaag(self) -> (D, D, D, B) { let s = self.s(); (s.3, s.3, s.3, s.1) }
790 #[inline(always)] fn aaab(self) -> (D, D, D, C) { let s = self.s(); (s.3, s.3, s.3, s.2) }
791 #[inline(always)] fn aaaa(self) -> (D, D, D, D) { let s = self.s(); (s.3, s.3, s.3, s.3) }
792}
793}
794use s::*;
795
796impl<A: Copy, B: Copy> TupleSwizzle2<A, B> for (A, B) {
797 #[inline(always)]
798 fn s(self) -> (A, B) {
799 self
800 }
801}
802impl<T: Copy> TupleSwizzle2<T, T> for [T; 2] {
803 #[inline(always)]
804 fn s(self) -> (T, T) {
805 (self[0], self[1])
806 }
807}
808
809impl<A: Copy, B: Copy, C: Copy> TupleSwizzle3<A, B, C> for (A, B, C) {
810 #[inline(always)]
811 fn s(self) -> (A, B, C) {
812 self
813 }
814}
815impl<T: Copy> TupleSwizzle3<T, T, T> for [T; 3] {
816 #[inline(always)]
817 fn s(self) -> (T, T, T) {
818 (self[0], self[1], self[2])
819 }
820}
821
822impl<A: Copy, B: Copy, C: Copy, D: Copy> TupleSwizzle4<A, B, C, D> for (A, B, C, D) {
823 #[inline(always)]
824 fn s(self) -> (A, B, C, D) {
825 self
826 }
827}
828impl<T: Copy> TupleSwizzle4<T, T, T, T> for [T; 4] {
829 #[inline(always)]
830 fn s(self) -> (T, T, T, T) {
831 (self[0], self[1], self[2], self[3])
832 }
833}