]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/qvm/include/boost/qvm/gen/swizzle3.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / qvm / include / boost / qvm / gen / swizzle3.hpp
1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
2
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6 #ifndef BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5
7 #define BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5
8
9 //This file was generated by a program. Do not edit manually.
10
11 #include <boost/qvm/detail/swizzle_traits.hpp>
12 #include <boost/qvm/enable_if.hpp>
13 #include <boost/qvm/inline.hpp>
14
15 namespace
16 boost
17 {
18 namespace
19 qvm
20 {
21 BOOST_QVM_INLINE_TRIVIAL
22 qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &
23 _111()
24 {
25 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
26 }
27 BOOST_QVM_INLINE_TRIVIAL
28 qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &
29 _011()
30 {
31 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
32 }
33 template <class V>
34 BOOST_QVM_INLINE_TRIVIAL
35 typename enable_if_c<
36 is_vec<V>::value && vec_traits<V>::dim>=4,
37 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
38 W11( V const & a )
39 {
40 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
41 }
42 template <class V>
43 BOOST_QVM_INLINE_TRIVIAL
44 typename enable_if_c<
45 is_vec<V>::value && vec_traits<V>::dim>=4,
46 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
47 W11( V & a )
48 {
49 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
50 }
51 template <class V>
52 BOOST_QVM_INLINE_TRIVIAL
53 typename enable_if_c<
54 is_vec<V>::value && vec_traits<V>::dim>=3,
55 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
56 Z11( V const & a )
57 {
58 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
59 }
60 template <class V>
61 BOOST_QVM_INLINE_TRIVIAL
62 typename enable_if_c<
63 is_vec<V>::value && vec_traits<V>::dim>=3,
64 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
65 Z11( V & a )
66 {
67 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
68 }
69 template <class V>
70 BOOST_QVM_INLINE_TRIVIAL
71 typename enable_if_c<
72 is_vec<V>::value && vec_traits<V>::dim>=2,
73 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
74 Y11( V const & a )
75 {
76 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
77 }
78 template <class V>
79 BOOST_QVM_INLINE_TRIVIAL
80 typename enable_if_c<
81 is_vec<V>::value && vec_traits<V>::dim>=2,
82 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
83 Y11( V & a )
84 {
85 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
86 }
87 template <class V>
88 BOOST_QVM_INLINE_TRIVIAL
89 typename enable_if_c<
90 is_vec<V>::value && vec_traits<V>::dim>=1,
91 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
92 X11( V const & a )
93 {
94 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
95 }
96 template <class V>
97 BOOST_QVM_INLINE_TRIVIAL
98 typename enable_if_c<
99 is_vec<V>::value && vec_traits<V>::dim>=1,
100 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
101 X11( V & a )
102 {
103 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
104 }
105 BOOST_QVM_INLINE_TRIVIAL
106 qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &
107 _101()
108 {
109 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
110 }
111 BOOST_QVM_INLINE_TRIVIAL
112 qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &
113 _001()
114 {
115 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
116 }
117 template <class V>
118 BOOST_QVM_INLINE_TRIVIAL
119 typename enable_if_c<
120 is_vec<V>::value && vec_traits<V>::dim>=4,
121 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
122 W01( V const & a )
123 {
124 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
125 }
126 template <class V>
127 BOOST_QVM_INLINE_TRIVIAL
128 typename enable_if_c<
129 is_vec<V>::value && vec_traits<V>::dim>=4,
130 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
131 W01( V & a )
132 {
133 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
134 }
135 template <class V>
136 BOOST_QVM_INLINE_TRIVIAL
137 typename enable_if_c<
138 is_vec<V>::value && vec_traits<V>::dim>=3,
139 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
140 Z01( V const & a )
141 {
142 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
143 }
144 template <class V>
145 BOOST_QVM_INLINE_TRIVIAL
146 typename enable_if_c<
147 is_vec<V>::value && vec_traits<V>::dim>=3,
148 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
149 Z01( V & a )
150 {
151 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
152 }
153 template <class V>
154 BOOST_QVM_INLINE_TRIVIAL
155 typename enable_if_c<
156 is_vec<V>::value && vec_traits<V>::dim>=2,
157 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
158 Y01( V const & a )
159 {
160 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
161 }
162 template <class V>
163 BOOST_QVM_INLINE_TRIVIAL
164 typename enable_if_c<
165 is_vec<V>::value && vec_traits<V>::dim>=2,
166 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
167 Y01( V & a )
168 {
169 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
170 }
171 template <class V>
172 BOOST_QVM_INLINE_TRIVIAL
173 typename enable_if_c<
174 is_vec<V>::value && vec_traits<V>::dim>=1,
175 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
176 X01( V const & a )
177 {
178 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
179 }
180 template <class V>
181 BOOST_QVM_INLINE_TRIVIAL
182 typename enable_if_c<
183 is_vec<V>::value && vec_traits<V>::dim>=1,
184 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
185 X01( V & a )
186 {
187 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
188 }
189 template <class V>
190 BOOST_QVM_INLINE_TRIVIAL
191 typename enable_if_c<
192 is_vec<V>::value && vec_traits<V>::dim>=4,
193 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
194 _1W1( V const & a )
195 {
196 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
197 }
198 template <class V>
199 BOOST_QVM_INLINE_TRIVIAL
200 typename enable_if_c<
201 is_vec<V>::value && vec_traits<V>::dim>=4,
202 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
203 _1W1( V & a )
204 {
205 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
206 }
207 template <class V>
208 BOOST_QVM_INLINE_TRIVIAL
209 typename enable_if_c<
210 is_vec<V>::value && vec_traits<V>::dim>=4,
211 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
212 _0W1( V const & a )
213 {
214 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
215 }
216 template <class V>
217 BOOST_QVM_INLINE_TRIVIAL
218 typename enable_if_c<
219 is_vec<V>::value && vec_traits<V>::dim>=4,
220 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
221 _0W1( V & a )
222 {
223 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
224 }
225 template <class V>
226 BOOST_QVM_INLINE_TRIVIAL
227 typename enable_if_c<
228 is_vec<V>::value && vec_traits<V>::dim>=4,
229 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
230 WW1( V const & a )
231 {
232 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
233 }
234 template <class V>
235 BOOST_QVM_INLINE_TRIVIAL
236 typename enable_if_c<
237 is_vec<V>::value && vec_traits<V>::dim>=4,
238 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
239 WW1( V & a )
240 {
241 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
242 }
243 template <class V>
244 BOOST_QVM_INLINE_TRIVIAL
245 typename enable_if_c<
246 is_vec<V>::value && vec_traits<V>::dim>=4,
247 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
248 ZW1( V const & a )
249 {
250 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
251 }
252 template <class V>
253 BOOST_QVM_INLINE_TRIVIAL
254 typename enable_if_c<
255 is_vec<V>::value && vec_traits<V>::dim>=4,
256 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
257 ZW1( V & a )
258 {
259 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
260 }
261 template <class V>
262 BOOST_QVM_INLINE_TRIVIAL
263 typename enable_if_c<
264 is_vec<V>::value && vec_traits<V>::dim>=4,
265 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
266 YW1( V const & a )
267 {
268 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
269 }
270 template <class V>
271 BOOST_QVM_INLINE_TRIVIAL
272 typename enable_if_c<
273 is_vec<V>::value && vec_traits<V>::dim>=4,
274 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
275 YW1( V & a )
276 {
277 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
278 }
279 template <class V>
280 BOOST_QVM_INLINE_TRIVIAL
281 typename enable_if_c<
282 is_vec<V>::value && vec_traits<V>::dim>=4,
283 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
284 XW1( V const & a )
285 {
286 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
287 }
288 template <class V>
289 BOOST_QVM_INLINE_TRIVIAL
290 typename enable_if_c<
291 is_vec<V>::value && vec_traits<V>::dim>=4,
292 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
293 XW1( V & a )
294 {
295 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
296 }
297 template <class V>
298 BOOST_QVM_INLINE_TRIVIAL
299 typename enable_if_c<
300 is_vec<V>::value && vec_traits<V>::dim>=3,
301 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
302 _1Z1( V const & a )
303 {
304 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
305 }
306 template <class V>
307 BOOST_QVM_INLINE_TRIVIAL
308 typename enable_if_c<
309 is_vec<V>::value && vec_traits<V>::dim>=3,
310 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
311 _1Z1( V & a )
312 {
313 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
314 }
315 template <class V>
316 BOOST_QVM_INLINE_TRIVIAL
317 typename enable_if_c<
318 is_vec<V>::value && vec_traits<V>::dim>=3,
319 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
320 _0Z1( V const & a )
321 {
322 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
323 }
324 template <class V>
325 BOOST_QVM_INLINE_TRIVIAL
326 typename enable_if_c<
327 is_vec<V>::value && vec_traits<V>::dim>=3,
328 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
329 _0Z1( V & a )
330 {
331 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
332 }
333 template <class V>
334 BOOST_QVM_INLINE_TRIVIAL
335 typename enable_if_c<
336 is_vec<V>::value && vec_traits<V>::dim>=4,
337 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
338 WZ1( V const & a )
339 {
340 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
341 }
342 template <class V>
343 BOOST_QVM_INLINE_TRIVIAL
344 typename enable_if_c<
345 is_vec<V>::value && vec_traits<V>::dim>=4,
346 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
347 WZ1( V & a )
348 {
349 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
350 }
351 template <class V>
352 BOOST_QVM_INLINE_TRIVIAL
353 typename enable_if_c<
354 is_vec<V>::value && vec_traits<V>::dim>=3,
355 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
356 ZZ1( V const & a )
357 {
358 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
359 }
360 template <class V>
361 BOOST_QVM_INLINE_TRIVIAL
362 typename enable_if_c<
363 is_vec<V>::value && vec_traits<V>::dim>=3,
364 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
365 ZZ1( V & a )
366 {
367 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
368 }
369 template <class V>
370 BOOST_QVM_INLINE_TRIVIAL
371 typename enable_if_c<
372 is_vec<V>::value && vec_traits<V>::dim>=3,
373 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
374 YZ1( V const & a )
375 {
376 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
377 }
378 template <class V>
379 BOOST_QVM_INLINE_TRIVIAL
380 typename enable_if_c<
381 is_vec<V>::value && vec_traits<V>::dim>=3,
382 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
383 YZ1( V & a )
384 {
385 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
386 }
387 template <class V>
388 BOOST_QVM_INLINE_TRIVIAL
389 typename enable_if_c<
390 is_vec<V>::value && vec_traits<V>::dim>=3,
391 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
392 XZ1( V const & a )
393 {
394 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
395 }
396 template <class V>
397 BOOST_QVM_INLINE_TRIVIAL
398 typename enable_if_c<
399 is_vec<V>::value && vec_traits<V>::dim>=3,
400 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
401 XZ1( V & a )
402 {
403 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
404 }
405 template <class V>
406 BOOST_QVM_INLINE_TRIVIAL
407 typename enable_if_c<
408 is_vec<V>::value && vec_traits<V>::dim>=2,
409 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
410 _1Y1( V const & a )
411 {
412 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
413 }
414 template <class V>
415 BOOST_QVM_INLINE_TRIVIAL
416 typename enable_if_c<
417 is_vec<V>::value && vec_traits<V>::dim>=2,
418 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
419 _1Y1( V & a )
420 {
421 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
422 }
423 template <class V>
424 BOOST_QVM_INLINE_TRIVIAL
425 typename enable_if_c<
426 is_vec<V>::value && vec_traits<V>::dim>=2,
427 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
428 _0Y1( V const & a )
429 {
430 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
431 }
432 template <class V>
433 BOOST_QVM_INLINE_TRIVIAL
434 typename enable_if_c<
435 is_vec<V>::value && vec_traits<V>::dim>=2,
436 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
437 _0Y1( V & a )
438 {
439 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
440 }
441 template <class V>
442 BOOST_QVM_INLINE_TRIVIAL
443 typename enable_if_c<
444 is_vec<V>::value && vec_traits<V>::dim>=4,
445 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
446 WY1( V const & a )
447 {
448 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
449 }
450 template <class V>
451 BOOST_QVM_INLINE_TRIVIAL
452 typename enable_if_c<
453 is_vec<V>::value && vec_traits<V>::dim>=4,
454 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
455 WY1( V & a )
456 {
457 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
458 }
459 template <class V>
460 BOOST_QVM_INLINE_TRIVIAL
461 typename enable_if_c<
462 is_vec<V>::value && vec_traits<V>::dim>=3,
463 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
464 ZY1( V const & a )
465 {
466 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
467 }
468 template <class V>
469 BOOST_QVM_INLINE_TRIVIAL
470 typename enable_if_c<
471 is_vec<V>::value && vec_traits<V>::dim>=3,
472 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
473 ZY1( V & a )
474 {
475 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
476 }
477 template <class V>
478 BOOST_QVM_INLINE_TRIVIAL
479 typename enable_if_c<
480 is_vec<V>::value && vec_traits<V>::dim>=2,
481 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
482 YY1( V const & a )
483 {
484 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
485 }
486 template <class V>
487 BOOST_QVM_INLINE_TRIVIAL
488 typename enable_if_c<
489 is_vec<V>::value && vec_traits<V>::dim>=2,
490 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
491 YY1( V & a )
492 {
493 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
494 }
495 template <class V>
496 BOOST_QVM_INLINE_TRIVIAL
497 typename enable_if_c<
498 is_vec<V>::value && vec_traits<V>::dim>=2,
499 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
500 XY1( V const & a )
501 {
502 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
503 }
504 template <class V>
505 BOOST_QVM_INLINE_TRIVIAL
506 typename enable_if_c<
507 is_vec<V>::value && vec_traits<V>::dim>=2,
508 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
509 XY1( V & a )
510 {
511 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
512 }
513 template <class V>
514 BOOST_QVM_INLINE_TRIVIAL
515 typename enable_if_c<
516 is_vec<V>::value && vec_traits<V>::dim>=1,
517 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
518 _1X1( V const & a )
519 {
520 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
521 }
522 template <class V>
523 BOOST_QVM_INLINE_TRIVIAL
524 typename enable_if_c<
525 is_vec<V>::value && vec_traits<V>::dim>=1,
526 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
527 _1X1( V & a )
528 {
529 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
530 }
531 template <class V>
532 BOOST_QVM_INLINE_TRIVIAL
533 typename enable_if_c<
534 is_vec<V>::value && vec_traits<V>::dim>=1,
535 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
536 _0X1( V const & a )
537 {
538 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
539 }
540 template <class V>
541 BOOST_QVM_INLINE_TRIVIAL
542 typename enable_if_c<
543 is_vec<V>::value && vec_traits<V>::dim>=1,
544 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
545 _0X1( V & a )
546 {
547 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
548 }
549 template <class V>
550 BOOST_QVM_INLINE_TRIVIAL
551 typename enable_if_c<
552 is_vec<V>::value && vec_traits<V>::dim>=4,
553 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
554 WX1( V const & a )
555 {
556 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
557 }
558 template <class V>
559 BOOST_QVM_INLINE_TRIVIAL
560 typename enable_if_c<
561 is_vec<V>::value && vec_traits<V>::dim>=4,
562 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
563 WX1( V & a )
564 {
565 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
566 }
567 template <class V>
568 BOOST_QVM_INLINE_TRIVIAL
569 typename enable_if_c<
570 is_vec<V>::value && vec_traits<V>::dim>=3,
571 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
572 ZX1( V const & a )
573 {
574 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
575 }
576 template <class V>
577 BOOST_QVM_INLINE_TRIVIAL
578 typename enable_if_c<
579 is_vec<V>::value && vec_traits<V>::dim>=3,
580 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
581 ZX1( V & a )
582 {
583 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
584 }
585 template <class V>
586 BOOST_QVM_INLINE_TRIVIAL
587 typename enable_if_c<
588 is_vec<V>::value && vec_traits<V>::dim>=2,
589 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
590 YX1( V const & a )
591 {
592 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
593 }
594 template <class V>
595 BOOST_QVM_INLINE_TRIVIAL
596 typename enable_if_c<
597 is_vec<V>::value && vec_traits<V>::dim>=2,
598 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
599 YX1( V & a )
600 {
601 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
602 }
603 template <class V>
604 BOOST_QVM_INLINE_TRIVIAL
605 typename enable_if_c<
606 is_vec<V>::value && vec_traits<V>::dim>=1,
607 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
608 XX1( V const & a )
609 {
610 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
611 }
612 template <class V>
613 BOOST_QVM_INLINE_TRIVIAL
614 typename enable_if_c<
615 is_vec<V>::value && vec_traits<V>::dim>=1,
616 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
617 XX1( V & a )
618 {
619 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
620 }
621 BOOST_QVM_INLINE_TRIVIAL
622 qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &
623 _110()
624 {
625 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
626 }
627 BOOST_QVM_INLINE_TRIVIAL
628 qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &
629 _010()
630 {
631 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
632 }
633 template <class V>
634 BOOST_QVM_INLINE_TRIVIAL
635 typename enable_if_c<
636 is_vec<V>::value && vec_traits<V>::dim>=4,
637 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
638 W10( V const & a )
639 {
640 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
641 }
642 template <class V>
643 BOOST_QVM_INLINE_TRIVIAL
644 typename enable_if_c<
645 is_vec<V>::value && vec_traits<V>::dim>=4,
646 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
647 W10( V & a )
648 {
649 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
650 }
651 template <class V>
652 BOOST_QVM_INLINE_TRIVIAL
653 typename enable_if_c<
654 is_vec<V>::value && vec_traits<V>::dim>=3,
655 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
656 Z10( V const & a )
657 {
658 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
659 }
660 template <class V>
661 BOOST_QVM_INLINE_TRIVIAL
662 typename enable_if_c<
663 is_vec<V>::value && vec_traits<V>::dim>=3,
664 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
665 Z10( V & a )
666 {
667 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
668 }
669 template <class V>
670 BOOST_QVM_INLINE_TRIVIAL
671 typename enable_if_c<
672 is_vec<V>::value && vec_traits<V>::dim>=2,
673 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
674 Y10( V const & a )
675 {
676 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
677 }
678 template <class V>
679 BOOST_QVM_INLINE_TRIVIAL
680 typename enable_if_c<
681 is_vec<V>::value && vec_traits<V>::dim>=2,
682 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
683 Y10( V & a )
684 {
685 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
686 }
687 template <class V>
688 BOOST_QVM_INLINE_TRIVIAL
689 typename enable_if_c<
690 is_vec<V>::value && vec_traits<V>::dim>=1,
691 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
692 X10( V const & a )
693 {
694 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
695 }
696 template <class V>
697 BOOST_QVM_INLINE_TRIVIAL
698 typename enable_if_c<
699 is_vec<V>::value && vec_traits<V>::dim>=1,
700 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
701 X10( V & a )
702 {
703 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
704 }
705 BOOST_QVM_INLINE_TRIVIAL
706 qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &
707 _100()
708 {
709 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
710 }
711 BOOST_QVM_INLINE_TRIVIAL
712 qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &
713 _000()
714 {
715 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
716 }
717 template <class V>
718 BOOST_QVM_INLINE_TRIVIAL
719 typename enable_if_c<
720 is_vec<V>::value && vec_traits<V>::dim>=4,
721 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
722 W00( V const & a )
723 {
724 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
725 }
726 template <class V>
727 BOOST_QVM_INLINE_TRIVIAL
728 typename enable_if_c<
729 is_vec<V>::value && vec_traits<V>::dim>=4,
730 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
731 W00( V & a )
732 {
733 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
734 }
735 template <class V>
736 BOOST_QVM_INLINE_TRIVIAL
737 typename enable_if_c<
738 is_vec<V>::value && vec_traits<V>::dim>=3,
739 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
740 Z00( V const & a )
741 {
742 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
743 }
744 template <class V>
745 BOOST_QVM_INLINE_TRIVIAL
746 typename enable_if_c<
747 is_vec<V>::value && vec_traits<V>::dim>=3,
748 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
749 Z00( V & a )
750 {
751 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
752 }
753 template <class V>
754 BOOST_QVM_INLINE_TRIVIAL
755 typename enable_if_c<
756 is_vec<V>::value && vec_traits<V>::dim>=2,
757 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
758 Y00( V const & a )
759 {
760 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
761 }
762 template <class V>
763 BOOST_QVM_INLINE_TRIVIAL
764 typename enable_if_c<
765 is_vec<V>::value && vec_traits<V>::dim>=2,
766 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
767 Y00( V & a )
768 {
769 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
770 }
771 template <class V>
772 BOOST_QVM_INLINE_TRIVIAL
773 typename enable_if_c<
774 is_vec<V>::value && vec_traits<V>::dim>=1,
775 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
776 X00( V const & a )
777 {
778 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
779 }
780 template <class V>
781 BOOST_QVM_INLINE_TRIVIAL
782 typename enable_if_c<
783 is_vec<V>::value && vec_traits<V>::dim>=1,
784 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
785 X00( V & a )
786 {
787 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
788 }
789 template <class V>
790 BOOST_QVM_INLINE_TRIVIAL
791 typename enable_if_c<
792 is_vec<V>::value && vec_traits<V>::dim>=4,
793 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
794 _1W0( V const & a )
795 {
796 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
797 }
798 template <class V>
799 BOOST_QVM_INLINE_TRIVIAL
800 typename enable_if_c<
801 is_vec<V>::value && vec_traits<V>::dim>=4,
802 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
803 _1W0( V & a )
804 {
805 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
806 }
807 template <class V>
808 BOOST_QVM_INLINE_TRIVIAL
809 typename enable_if_c<
810 is_vec<V>::value && vec_traits<V>::dim>=4,
811 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
812 _0W0( V const & a )
813 {
814 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
815 }
816 template <class V>
817 BOOST_QVM_INLINE_TRIVIAL
818 typename enable_if_c<
819 is_vec<V>::value && vec_traits<V>::dim>=4,
820 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
821 _0W0( V & a )
822 {
823 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
824 }
825 template <class V>
826 BOOST_QVM_INLINE_TRIVIAL
827 typename enable_if_c<
828 is_vec<V>::value && vec_traits<V>::dim>=4,
829 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
830 WW0( V const & a )
831 {
832 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
833 }
834 template <class V>
835 BOOST_QVM_INLINE_TRIVIAL
836 typename enable_if_c<
837 is_vec<V>::value && vec_traits<V>::dim>=4,
838 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
839 WW0( V & a )
840 {
841 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
842 }
843 template <class V>
844 BOOST_QVM_INLINE_TRIVIAL
845 typename enable_if_c<
846 is_vec<V>::value && vec_traits<V>::dim>=4,
847 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
848 ZW0( V const & a )
849 {
850 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
851 }
852 template <class V>
853 BOOST_QVM_INLINE_TRIVIAL
854 typename enable_if_c<
855 is_vec<V>::value && vec_traits<V>::dim>=4,
856 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
857 ZW0( V & a )
858 {
859 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
860 }
861 template <class V>
862 BOOST_QVM_INLINE_TRIVIAL
863 typename enable_if_c<
864 is_vec<V>::value && vec_traits<V>::dim>=4,
865 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
866 YW0( V const & a )
867 {
868 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
869 }
870 template <class V>
871 BOOST_QVM_INLINE_TRIVIAL
872 typename enable_if_c<
873 is_vec<V>::value && vec_traits<V>::dim>=4,
874 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
875 YW0( V & a )
876 {
877 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
878 }
879 template <class V>
880 BOOST_QVM_INLINE_TRIVIAL
881 typename enable_if_c<
882 is_vec<V>::value && vec_traits<V>::dim>=4,
883 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
884 XW0( V const & a )
885 {
886 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
887 }
888 template <class V>
889 BOOST_QVM_INLINE_TRIVIAL
890 typename enable_if_c<
891 is_vec<V>::value && vec_traits<V>::dim>=4,
892 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
893 XW0( V & a )
894 {
895 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
896 }
897 template <class V>
898 BOOST_QVM_INLINE_TRIVIAL
899 typename enable_if_c<
900 is_vec<V>::value && vec_traits<V>::dim>=3,
901 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
902 _1Z0( V const & a )
903 {
904 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
905 }
906 template <class V>
907 BOOST_QVM_INLINE_TRIVIAL
908 typename enable_if_c<
909 is_vec<V>::value && vec_traits<V>::dim>=3,
910 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
911 _1Z0( V & a )
912 {
913 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
914 }
915 template <class V>
916 BOOST_QVM_INLINE_TRIVIAL
917 typename enable_if_c<
918 is_vec<V>::value && vec_traits<V>::dim>=3,
919 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
920 _0Z0( V const & a )
921 {
922 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
923 }
924 template <class V>
925 BOOST_QVM_INLINE_TRIVIAL
926 typename enable_if_c<
927 is_vec<V>::value && vec_traits<V>::dim>=3,
928 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
929 _0Z0( V & a )
930 {
931 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
932 }
933 template <class V>
934 BOOST_QVM_INLINE_TRIVIAL
935 typename enable_if_c<
936 is_vec<V>::value && vec_traits<V>::dim>=4,
937 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
938 WZ0( V const & a )
939 {
940 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
941 }
942 template <class V>
943 BOOST_QVM_INLINE_TRIVIAL
944 typename enable_if_c<
945 is_vec<V>::value && vec_traits<V>::dim>=4,
946 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
947 WZ0( V & a )
948 {
949 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
950 }
951 template <class V>
952 BOOST_QVM_INLINE_TRIVIAL
953 typename enable_if_c<
954 is_vec<V>::value && vec_traits<V>::dim>=3,
955 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
956 ZZ0( V const & a )
957 {
958 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
959 }
960 template <class V>
961 BOOST_QVM_INLINE_TRIVIAL
962 typename enable_if_c<
963 is_vec<V>::value && vec_traits<V>::dim>=3,
964 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
965 ZZ0( V & a )
966 {
967 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
968 }
969 template <class V>
970 BOOST_QVM_INLINE_TRIVIAL
971 typename enable_if_c<
972 is_vec<V>::value && vec_traits<V>::dim>=3,
973 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
974 YZ0( V const & a )
975 {
976 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
977 }
978 template <class V>
979 BOOST_QVM_INLINE_TRIVIAL
980 typename enable_if_c<
981 is_vec<V>::value && vec_traits<V>::dim>=3,
982 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
983 YZ0( V & a )
984 {
985 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
986 }
987 template <class V>
988 BOOST_QVM_INLINE_TRIVIAL
989 typename enable_if_c<
990 is_vec<V>::value && vec_traits<V>::dim>=3,
991 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
992 XZ0( V const & a )
993 {
994 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
995 }
996 template <class V>
997 BOOST_QVM_INLINE_TRIVIAL
998 typename enable_if_c<
999 is_vec<V>::value && vec_traits<V>::dim>=3,
1000 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
1001 XZ0( V & a )
1002 {
1003 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1004 }
1005 template <class V>
1006 BOOST_QVM_INLINE_TRIVIAL
1007 typename enable_if_c<
1008 is_vec<V>::value && vec_traits<V>::dim>=2,
1009 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1010 _1Y0( V const & a )
1011 {
1012 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1013 }
1014 template <class V>
1015 BOOST_QVM_INLINE_TRIVIAL
1016 typename enable_if_c<
1017 is_vec<V>::value && vec_traits<V>::dim>=2,
1018 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
1019 _1Y0( V & a )
1020 {
1021 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1022 }
1023 template <class V>
1024 BOOST_QVM_INLINE_TRIVIAL
1025 typename enable_if_c<
1026 is_vec<V>::value && vec_traits<V>::dim>=2,
1027 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1028 _0Y0( V const & a )
1029 {
1030 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1031 }
1032 template <class V>
1033 BOOST_QVM_INLINE_TRIVIAL
1034 typename enable_if_c<
1035 is_vec<V>::value && vec_traits<V>::dim>=2,
1036 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
1037 _0Y0( V & a )
1038 {
1039 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1040 }
1041 template <class V>
1042 BOOST_QVM_INLINE_TRIVIAL
1043 typename enable_if_c<
1044 is_vec<V>::value && vec_traits<V>::dim>=4,
1045 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1046 WY0( V const & a )
1047 {
1048 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1049 }
1050 template <class V>
1051 BOOST_QVM_INLINE_TRIVIAL
1052 typename enable_if_c<
1053 is_vec<V>::value && vec_traits<V>::dim>=4,
1054 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
1055 WY0( V & a )
1056 {
1057 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1058 }
1059 template <class V>
1060 BOOST_QVM_INLINE_TRIVIAL
1061 typename enable_if_c<
1062 is_vec<V>::value && vec_traits<V>::dim>=3,
1063 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1064 ZY0( V const & a )
1065 {
1066 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1067 }
1068 template <class V>
1069 BOOST_QVM_INLINE_TRIVIAL
1070 typename enable_if_c<
1071 is_vec<V>::value && vec_traits<V>::dim>=3,
1072 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
1073 ZY0( V & a )
1074 {
1075 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1076 }
1077 template <class V>
1078 BOOST_QVM_INLINE_TRIVIAL
1079 typename enable_if_c<
1080 is_vec<V>::value && vec_traits<V>::dim>=2,
1081 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1082 YY0( V const & a )
1083 {
1084 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1085 }
1086 template <class V>
1087 BOOST_QVM_INLINE_TRIVIAL
1088 typename enable_if_c<
1089 is_vec<V>::value && vec_traits<V>::dim>=2,
1090 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
1091 YY0( V & a )
1092 {
1093 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1094 }
1095 template <class V>
1096 BOOST_QVM_INLINE_TRIVIAL
1097 typename enable_if_c<
1098 is_vec<V>::value && vec_traits<V>::dim>=2,
1099 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1100 XY0( V const & a )
1101 {
1102 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1103 }
1104 template <class V>
1105 BOOST_QVM_INLINE_TRIVIAL
1106 typename enable_if_c<
1107 is_vec<V>::value && vec_traits<V>::dim>=2,
1108 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
1109 XY0( V & a )
1110 {
1111 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1112 }
1113 template <class V>
1114 BOOST_QVM_INLINE_TRIVIAL
1115 typename enable_if_c<
1116 is_vec<V>::value && vec_traits<V>::dim>=1,
1117 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1118 _1X0( V const & a )
1119 {
1120 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1121 }
1122 template <class V>
1123 BOOST_QVM_INLINE_TRIVIAL
1124 typename enable_if_c<
1125 is_vec<V>::value && vec_traits<V>::dim>=1,
1126 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
1127 _1X0( V & a )
1128 {
1129 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1130 }
1131 template <class V>
1132 BOOST_QVM_INLINE_TRIVIAL
1133 typename enable_if_c<
1134 is_vec<V>::value && vec_traits<V>::dim>=1,
1135 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1136 _0X0( V const & a )
1137 {
1138 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1139 }
1140 template <class V>
1141 BOOST_QVM_INLINE_TRIVIAL
1142 typename enable_if_c<
1143 is_vec<V>::value && vec_traits<V>::dim>=1,
1144 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
1145 _0X0( V & a )
1146 {
1147 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1148 }
1149 template <class V>
1150 BOOST_QVM_INLINE_TRIVIAL
1151 typename enable_if_c<
1152 is_vec<V>::value && vec_traits<V>::dim>=4,
1153 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1154 WX0( V const & a )
1155 {
1156 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1157 }
1158 template <class V>
1159 BOOST_QVM_INLINE_TRIVIAL
1160 typename enable_if_c<
1161 is_vec<V>::value && vec_traits<V>::dim>=4,
1162 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
1163 WX0( V & a )
1164 {
1165 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1166 }
1167 template <class V>
1168 BOOST_QVM_INLINE_TRIVIAL
1169 typename enable_if_c<
1170 is_vec<V>::value && vec_traits<V>::dim>=3,
1171 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1172 ZX0( V const & a )
1173 {
1174 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1175 }
1176 template <class V>
1177 BOOST_QVM_INLINE_TRIVIAL
1178 typename enable_if_c<
1179 is_vec<V>::value && vec_traits<V>::dim>=3,
1180 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
1181 ZX0( V & a )
1182 {
1183 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1184 }
1185 template <class V>
1186 BOOST_QVM_INLINE_TRIVIAL
1187 typename enable_if_c<
1188 is_vec<V>::value && vec_traits<V>::dim>=2,
1189 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1190 YX0( V const & a )
1191 {
1192 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1193 }
1194 template <class V>
1195 BOOST_QVM_INLINE_TRIVIAL
1196 typename enable_if_c<
1197 is_vec<V>::value && vec_traits<V>::dim>=2,
1198 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
1199 YX0( V & a )
1200 {
1201 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1202 }
1203 template <class V>
1204 BOOST_QVM_INLINE_TRIVIAL
1205 typename enable_if_c<
1206 is_vec<V>::value && vec_traits<V>::dim>=1,
1207 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
1208 XX0( V const & a )
1209 {
1210 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
1211 }
1212 template <class V>
1213 BOOST_QVM_INLINE_TRIVIAL
1214 typename enable_if_c<
1215 is_vec<V>::value && vec_traits<V>::dim>=1,
1216 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
1217 XX0( V & a )
1218 {
1219 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
1220 }
1221 template <class V>
1222 BOOST_QVM_INLINE_TRIVIAL
1223 typename enable_if_c<
1224 is_vec<V>::value && vec_traits<V>::dim>=4,
1225 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1226 _11W( V const & a )
1227 {
1228 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1229 }
1230 template <class V>
1231 BOOST_QVM_INLINE_TRIVIAL
1232 typename enable_if_c<
1233 is_vec<V>::value && vec_traits<V>::dim>=4,
1234 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
1235 _11W( V & a )
1236 {
1237 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1238 }
1239 template <class V>
1240 BOOST_QVM_INLINE_TRIVIAL
1241 typename enable_if_c<
1242 is_vec<V>::value && vec_traits<V>::dim>=4,
1243 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1244 _01W( V const & a )
1245 {
1246 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1247 }
1248 template <class V>
1249 BOOST_QVM_INLINE_TRIVIAL
1250 typename enable_if_c<
1251 is_vec<V>::value && vec_traits<V>::dim>=4,
1252 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
1253 _01W( V & a )
1254 {
1255 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1256 }
1257 template <class V>
1258 BOOST_QVM_INLINE_TRIVIAL
1259 typename enable_if_c<
1260 is_vec<V>::value && vec_traits<V>::dim>=4,
1261 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1262 W1W( V const & a )
1263 {
1264 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1265 }
1266 template <class V>
1267 BOOST_QVM_INLINE_TRIVIAL
1268 typename enable_if_c<
1269 is_vec<V>::value && vec_traits<V>::dim>=4,
1270 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
1271 W1W( V & a )
1272 {
1273 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1274 }
1275 template <class V>
1276 BOOST_QVM_INLINE_TRIVIAL
1277 typename enable_if_c<
1278 is_vec<V>::value && vec_traits<V>::dim>=4,
1279 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1280 Z1W( V const & a )
1281 {
1282 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1283 }
1284 template <class V>
1285 BOOST_QVM_INLINE_TRIVIAL
1286 typename enable_if_c<
1287 is_vec<V>::value && vec_traits<V>::dim>=4,
1288 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
1289 Z1W( V & a )
1290 {
1291 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1292 }
1293 template <class V>
1294 BOOST_QVM_INLINE_TRIVIAL
1295 typename enable_if_c<
1296 is_vec<V>::value && vec_traits<V>::dim>=4,
1297 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1298 Y1W( V const & a )
1299 {
1300 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1301 }
1302 template <class V>
1303 BOOST_QVM_INLINE_TRIVIAL
1304 typename enable_if_c<
1305 is_vec<V>::value && vec_traits<V>::dim>=4,
1306 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
1307 Y1W( V & a )
1308 {
1309 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1310 }
1311 template <class V>
1312 BOOST_QVM_INLINE_TRIVIAL
1313 typename enable_if_c<
1314 is_vec<V>::value && vec_traits<V>::dim>=4,
1315 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1316 X1W( V const & a )
1317 {
1318 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1319 }
1320 template <class V>
1321 BOOST_QVM_INLINE_TRIVIAL
1322 typename enable_if_c<
1323 is_vec<V>::value && vec_traits<V>::dim>=4,
1324 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
1325 X1W( V & a )
1326 {
1327 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1328 }
1329 template <class V>
1330 BOOST_QVM_INLINE_TRIVIAL
1331 typename enable_if_c<
1332 is_vec<V>::value && vec_traits<V>::dim>=4,
1333 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1334 _10W( V const & a )
1335 {
1336 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1337 }
1338 template <class V>
1339 BOOST_QVM_INLINE_TRIVIAL
1340 typename enable_if_c<
1341 is_vec<V>::value && vec_traits<V>::dim>=4,
1342 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
1343 _10W( V & a )
1344 {
1345 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1346 }
1347 template <class V>
1348 BOOST_QVM_INLINE_TRIVIAL
1349 typename enable_if_c<
1350 is_vec<V>::value && vec_traits<V>::dim>=4,
1351 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1352 _00W( V const & a )
1353 {
1354 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1355 }
1356 template <class V>
1357 BOOST_QVM_INLINE_TRIVIAL
1358 typename enable_if_c<
1359 is_vec<V>::value && vec_traits<V>::dim>=4,
1360 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
1361 _00W( V & a )
1362 {
1363 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1364 }
1365 template <class V>
1366 BOOST_QVM_INLINE_TRIVIAL
1367 typename enable_if_c<
1368 is_vec<V>::value && vec_traits<V>::dim>=4,
1369 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1370 W0W( V const & a )
1371 {
1372 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1373 }
1374 template <class V>
1375 BOOST_QVM_INLINE_TRIVIAL
1376 typename enable_if_c<
1377 is_vec<V>::value && vec_traits<V>::dim>=4,
1378 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
1379 W0W( V & a )
1380 {
1381 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1382 }
1383 template <class V>
1384 BOOST_QVM_INLINE_TRIVIAL
1385 typename enable_if_c<
1386 is_vec<V>::value && vec_traits<V>::dim>=4,
1387 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1388 Z0W( V const & a )
1389 {
1390 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1391 }
1392 template <class V>
1393 BOOST_QVM_INLINE_TRIVIAL
1394 typename enable_if_c<
1395 is_vec<V>::value && vec_traits<V>::dim>=4,
1396 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
1397 Z0W( V & a )
1398 {
1399 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1400 }
1401 template <class V>
1402 BOOST_QVM_INLINE_TRIVIAL
1403 typename enable_if_c<
1404 is_vec<V>::value && vec_traits<V>::dim>=4,
1405 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1406 Y0W( V const & a )
1407 {
1408 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1409 }
1410 template <class V>
1411 BOOST_QVM_INLINE_TRIVIAL
1412 typename enable_if_c<
1413 is_vec<V>::value && vec_traits<V>::dim>=4,
1414 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
1415 Y0W( V & a )
1416 {
1417 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1418 }
1419 template <class V>
1420 BOOST_QVM_INLINE_TRIVIAL
1421 typename enable_if_c<
1422 is_vec<V>::value && vec_traits<V>::dim>=4,
1423 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1424 X0W( V const & a )
1425 {
1426 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1427 }
1428 template <class V>
1429 BOOST_QVM_INLINE_TRIVIAL
1430 typename enable_if_c<
1431 is_vec<V>::value && vec_traits<V>::dim>=4,
1432 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
1433 X0W( V & a )
1434 {
1435 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1436 }
1437 template <class V>
1438 BOOST_QVM_INLINE_TRIVIAL
1439 typename enable_if_c<
1440 is_vec<V>::value && vec_traits<V>::dim>=4,
1441 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
1442 _1WW( V const & a )
1443 {
1444 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1445 }
1446 template <class V>
1447 BOOST_QVM_INLINE_TRIVIAL
1448 typename enable_if_c<
1449 is_vec<V>::value && vec_traits<V>::dim>=4,
1450 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
1451 _1WW( V & a )
1452 {
1453 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
1454 }
1455 template <class V>
1456 BOOST_QVM_INLINE_TRIVIAL
1457 typename enable_if_c<
1458 is_vec<V>::value && vec_traits<V>::dim>=4,
1459 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
1460 _0WW( V const & a )
1461 {
1462 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1463 }
1464 template <class V>
1465 BOOST_QVM_INLINE_TRIVIAL
1466 typename enable_if_c<
1467 is_vec<V>::value && vec_traits<V>::dim>=4,
1468 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
1469 _0WW( V & a )
1470 {
1471 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
1472 }
1473 template <class V>
1474 BOOST_QVM_INLINE_TRIVIAL
1475 typename enable_if_c<
1476 is_vec<V>::value && vec_traits<V>::dim>=4,
1477 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
1478 WWW( V const & a )
1479 {
1480 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1481 }
1482 template <class V>
1483 BOOST_QVM_INLINE_TRIVIAL
1484 typename enable_if_c<
1485 is_vec<V>::value && vec_traits<V>::dim>=4,
1486 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
1487 WWW( V & a )
1488 {
1489 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
1490 }
1491 template <class V>
1492 BOOST_QVM_INLINE_TRIVIAL
1493 typename enable_if_c<
1494 is_vec<V>::value && vec_traits<V>::dim>=4,
1495 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
1496 ZWW( V const & a )
1497 {
1498 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1499 }
1500 template <class V>
1501 BOOST_QVM_INLINE_TRIVIAL
1502 typename enable_if_c<
1503 is_vec<V>::value && vec_traits<V>::dim>=4,
1504 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
1505 ZWW( V & a )
1506 {
1507 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
1508 }
1509 template <class V>
1510 BOOST_QVM_INLINE_TRIVIAL
1511 typename enable_if_c<
1512 is_vec<V>::value && vec_traits<V>::dim>=4,
1513 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
1514 YWW( V const & a )
1515 {
1516 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1517 }
1518 template <class V>
1519 BOOST_QVM_INLINE_TRIVIAL
1520 typename enable_if_c<
1521 is_vec<V>::value && vec_traits<V>::dim>=4,
1522 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
1523 YWW( V & a )
1524 {
1525 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
1526 }
1527 template <class V>
1528 BOOST_QVM_INLINE_TRIVIAL
1529 typename enable_if_c<
1530 is_vec<V>::value && vec_traits<V>::dim>=4,
1531 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
1532 XWW( V const & a )
1533 {
1534 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1535 }
1536 template <class V>
1537 BOOST_QVM_INLINE_TRIVIAL
1538 typename enable_if_c<
1539 is_vec<V>::value && vec_traits<V>::dim>=4,
1540 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
1541 XWW( V & a )
1542 {
1543 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
1544 }
1545 template <class V>
1546 BOOST_QVM_INLINE_TRIVIAL
1547 typename enable_if_c<
1548 is_vec<V>::value && vec_traits<V>::dim>=4,
1549 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1550 _1ZW( V const & a )
1551 {
1552 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1553 }
1554 template <class V>
1555 BOOST_QVM_INLINE_TRIVIAL
1556 typename enable_if_c<
1557 is_vec<V>::value && vec_traits<V>::dim>=4,
1558 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
1559 _1ZW( V & a )
1560 {
1561 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1562 }
1563 template <class V>
1564 BOOST_QVM_INLINE_TRIVIAL
1565 typename enable_if_c<
1566 is_vec<V>::value && vec_traits<V>::dim>=4,
1567 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1568 _0ZW( V const & a )
1569 {
1570 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1571 }
1572 template <class V>
1573 BOOST_QVM_INLINE_TRIVIAL
1574 typename enable_if_c<
1575 is_vec<V>::value && vec_traits<V>::dim>=4,
1576 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
1577 _0ZW( V & a )
1578 {
1579 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1580 }
1581 template <class V>
1582 BOOST_QVM_INLINE_TRIVIAL
1583 typename enable_if_c<
1584 is_vec<V>::value && vec_traits<V>::dim>=4,
1585 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1586 WZW( V const & a )
1587 {
1588 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1589 }
1590 template <class V>
1591 BOOST_QVM_INLINE_TRIVIAL
1592 typename enable_if_c<
1593 is_vec<V>::value && vec_traits<V>::dim>=4,
1594 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
1595 WZW( V & a )
1596 {
1597 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1598 }
1599 template <class V>
1600 BOOST_QVM_INLINE_TRIVIAL
1601 typename enable_if_c<
1602 is_vec<V>::value && vec_traits<V>::dim>=4,
1603 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1604 ZZW( V const & a )
1605 {
1606 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1607 }
1608 template <class V>
1609 BOOST_QVM_INLINE_TRIVIAL
1610 typename enable_if_c<
1611 is_vec<V>::value && vec_traits<V>::dim>=4,
1612 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
1613 ZZW( V & a )
1614 {
1615 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1616 }
1617 template <class V>
1618 BOOST_QVM_INLINE_TRIVIAL
1619 typename enable_if_c<
1620 is_vec<V>::value && vec_traits<V>::dim>=4,
1621 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1622 YZW( V const & a )
1623 {
1624 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1625 }
1626 template <class V>
1627 BOOST_QVM_INLINE_TRIVIAL
1628 typename enable_if_c<
1629 is_vec<V>::value && vec_traits<V>::dim>=4,
1630 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
1631 YZW( V & a )
1632 {
1633 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1634 }
1635 template <class V>
1636 BOOST_QVM_INLINE_TRIVIAL
1637 typename enable_if_c<
1638 is_vec<V>::value && vec_traits<V>::dim>=4,
1639 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
1640 XZW( V const & a )
1641 {
1642 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1643 }
1644 template <class V>
1645 BOOST_QVM_INLINE_TRIVIAL
1646 typename enable_if_c<
1647 is_vec<V>::value && vec_traits<V>::dim>=4,
1648 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
1649 XZW( V & a )
1650 {
1651 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
1652 }
1653 template <class V>
1654 BOOST_QVM_INLINE_TRIVIAL
1655 typename enable_if_c<
1656 is_vec<V>::value && vec_traits<V>::dim>=4,
1657 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1658 _1YW( V const & a )
1659 {
1660 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1661 }
1662 template <class V>
1663 BOOST_QVM_INLINE_TRIVIAL
1664 typename enable_if_c<
1665 is_vec<V>::value && vec_traits<V>::dim>=4,
1666 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
1667 _1YW( V & a )
1668 {
1669 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1670 }
1671 template <class V>
1672 BOOST_QVM_INLINE_TRIVIAL
1673 typename enable_if_c<
1674 is_vec<V>::value && vec_traits<V>::dim>=4,
1675 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1676 _0YW( V const & a )
1677 {
1678 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1679 }
1680 template <class V>
1681 BOOST_QVM_INLINE_TRIVIAL
1682 typename enable_if_c<
1683 is_vec<V>::value && vec_traits<V>::dim>=4,
1684 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
1685 _0YW( V & a )
1686 {
1687 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1688 }
1689 template <class V>
1690 BOOST_QVM_INLINE_TRIVIAL
1691 typename enable_if_c<
1692 is_vec<V>::value && vec_traits<V>::dim>=4,
1693 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1694 WYW( V const & a )
1695 {
1696 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1697 }
1698 template <class V>
1699 BOOST_QVM_INLINE_TRIVIAL
1700 typename enable_if_c<
1701 is_vec<V>::value && vec_traits<V>::dim>=4,
1702 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
1703 WYW( V & a )
1704 {
1705 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1706 }
1707 template <class V>
1708 BOOST_QVM_INLINE_TRIVIAL
1709 typename enable_if_c<
1710 is_vec<V>::value && vec_traits<V>::dim>=4,
1711 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1712 ZYW( V const & a )
1713 {
1714 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1715 }
1716 template <class V>
1717 BOOST_QVM_INLINE_TRIVIAL
1718 typename enable_if_c<
1719 is_vec<V>::value && vec_traits<V>::dim>=4,
1720 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
1721 ZYW( V & a )
1722 {
1723 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1724 }
1725 template <class V>
1726 BOOST_QVM_INLINE_TRIVIAL
1727 typename enable_if_c<
1728 is_vec<V>::value && vec_traits<V>::dim>=4,
1729 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1730 YYW( V const & a )
1731 {
1732 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1733 }
1734 template <class V>
1735 BOOST_QVM_INLINE_TRIVIAL
1736 typename enable_if_c<
1737 is_vec<V>::value && vec_traits<V>::dim>=4,
1738 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
1739 YYW( V & a )
1740 {
1741 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1742 }
1743 template <class V>
1744 BOOST_QVM_INLINE_TRIVIAL
1745 typename enable_if_c<
1746 is_vec<V>::value && vec_traits<V>::dim>=4,
1747 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
1748 XYW( V const & a )
1749 {
1750 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1751 }
1752 template <class V>
1753 BOOST_QVM_INLINE_TRIVIAL
1754 typename enable_if_c<
1755 is_vec<V>::value && vec_traits<V>::dim>=4,
1756 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
1757 XYW( V & a )
1758 {
1759 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
1760 }
1761 template <class V>
1762 BOOST_QVM_INLINE_TRIVIAL
1763 typename enable_if_c<
1764 is_vec<V>::value && vec_traits<V>::dim>=4,
1765 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
1766 _1XW( V const & a )
1767 {
1768 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1769 }
1770 template <class V>
1771 BOOST_QVM_INLINE_TRIVIAL
1772 typename enable_if_c<
1773 is_vec<V>::value && vec_traits<V>::dim>=4,
1774 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
1775 _1XW( V & a )
1776 {
1777 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
1778 }
1779 template <class V>
1780 BOOST_QVM_INLINE_TRIVIAL
1781 typename enable_if_c<
1782 is_vec<V>::value && vec_traits<V>::dim>=4,
1783 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
1784 _0XW( V const & a )
1785 {
1786 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1787 }
1788 template <class V>
1789 BOOST_QVM_INLINE_TRIVIAL
1790 typename enable_if_c<
1791 is_vec<V>::value && vec_traits<V>::dim>=4,
1792 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
1793 _0XW( V & a )
1794 {
1795 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
1796 }
1797 template <class V>
1798 BOOST_QVM_INLINE_TRIVIAL
1799 typename enable_if_c<
1800 is_vec<V>::value && vec_traits<V>::dim>=4,
1801 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
1802 WXW( V const & a )
1803 {
1804 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1805 }
1806 template <class V>
1807 BOOST_QVM_INLINE_TRIVIAL
1808 typename enable_if_c<
1809 is_vec<V>::value && vec_traits<V>::dim>=4,
1810 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
1811 WXW( V & a )
1812 {
1813 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
1814 }
1815 template <class V>
1816 BOOST_QVM_INLINE_TRIVIAL
1817 typename enable_if_c<
1818 is_vec<V>::value && vec_traits<V>::dim>=4,
1819 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
1820 ZXW( V const & a )
1821 {
1822 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1823 }
1824 template <class V>
1825 BOOST_QVM_INLINE_TRIVIAL
1826 typename enable_if_c<
1827 is_vec<V>::value && vec_traits<V>::dim>=4,
1828 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
1829 ZXW( V & a )
1830 {
1831 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
1832 }
1833 template <class V>
1834 BOOST_QVM_INLINE_TRIVIAL
1835 typename enable_if_c<
1836 is_vec<V>::value && vec_traits<V>::dim>=4,
1837 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
1838 YXW( V const & a )
1839 {
1840 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1841 }
1842 template <class V>
1843 BOOST_QVM_INLINE_TRIVIAL
1844 typename enable_if_c<
1845 is_vec<V>::value && vec_traits<V>::dim>=4,
1846 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
1847 YXW( V & a )
1848 {
1849 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
1850 }
1851 template <class V>
1852 BOOST_QVM_INLINE_TRIVIAL
1853 typename enable_if_c<
1854 is_vec<V>::value && vec_traits<V>::dim>=4,
1855 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
1856 XXW( V const & a )
1857 {
1858 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
1859 }
1860 template <class V>
1861 BOOST_QVM_INLINE_TRIVIAL
1862 typename enable_if_c<
1863 is_vec<V>::value && vec_traits<V>::dim>=4,
1864 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
1865 XXW( V & a )
1866 {
1867 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
1868 }
1869 template <class V>
1870 BOOST_QVM_INLINE_TRIVIAL
1871 typename enable_if_c<
1872 is_vec<V>::value && vec_traits<V>::dim>=3,
1873 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
1874 _11Z( V const & a )
1875 {
1876 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1877 }
1878 template <class V>
1879 BOOST_QVM_INLINE_TRIVIAL
1880 typename enable_if_c<
1881 is_vec<V>::value && vec_traits<V>::dim>=3,
1882 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
1883 _11Z( V & a )
1884 {
1885 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
1886 }
1887 template <class V>
1888 BOOST_QVM_INLINE_TRIVIAL
1889 typename enable_if_c<
1890 is_vec<V>::value && vec_traits<V>::dim>=3,
1891 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
1892 _01Z( V const & a )
1893 {
1894 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1895 }
1896 template <class V>
1897 BOOST_QVM_INLINE_TRIVIAL
1898 typename enable_if_c<
1899 is_vec<V>::value && vec_traits<V>::dim>=3,
1900 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
1901 _01Z( V & a )
1902 {
1903 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
1904 }
1905 template <class V>
1906 BOOST_QVM_INLINE_TRIVIAL
1907 typename enable_if_c<
1908 is_vec<V>::value && vec_traits<V>::dim>=4,
1909 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
1910 W1Z( V const & a )
1911 {
1912 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1913 }
1914 template <class V>
1915 BOOST_QVM_INLINE_TRIVIAL
1916 typename enable_if_c<
1917 is_vec<V>::value && vec_traits<V>::dim>=4,
1918 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
1919 W1Z( V & a )
1920 {
1921 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
1922 }
1923 template <class V>
1924 BOOST_QVM_INLINE_TRIVIAL
1925 typename enable_if_c<
1926 is_vec<V>::value && vec_traits<V>::dim>=3,
1927 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
1928 Z1Z( V const & a )
1929 {
1930 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1931 }
1932 template <class V>
1933 BOOST_QVM_INLINE_TRIVIAL
1934 typename enable_if_c<
1935 is_vec<V>::value && vec_traits<V>::dim>=3,
1936 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
1937 Z1Z( V & a )
1938 {
1939 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
1940 }
1941 template <class V>
1942 BOOST_QVM_INLINE_TRIVIAL
1943 typename enable_if_c<
1944 is_vec<V>::value && vec_traits<V>::dim>=3,
1945 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
1946 Y1Z( V const & a )
1947 {
1948 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1949 }
1950 template <class V>
1951 BOOST_QVM_INLINE_TRIVIAL
1952 typename enable_if_c<
1953 is_vec<V>::value && vec_traits<V>::dim>=3,
1954 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
1955 Y1Z( V & a )
1956 {
1957 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
1958 }
1959 template <class V>
1960 BOOST_QVM_INLINE_TRIVIAL
1961 typename enable_if_c<
1962 is_vec<V>::value && vec_traits<V>::dim>=3,
1963 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
1964 X1Z( V const & a )
1965 {
1966 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1967 }
1968 template <class V>
1969 BOOST_QVM_INLINE_TRIVIAL
1970 typename enable_if_c<
1971 is_vec<V>::value && vec_traits<V>::dim>=3,
1972 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
1973 X1Z( V & a )
1974 {
1975 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
1976 }
1977 template <class V>
1978 BOOST_QVM_INLINE_TRIVIAL
1979 typename enable_if_c<
1980 is_vec<V>::value && vec_traits<V>::dim>=3,
1981 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
1982 _10Z( V const & a )
1983 {
1984 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
1985 }
1986 template <class V>
1987 BOOST_QVM_INLINE_TRIVIAL
1988 typename enable_if_c<
1989 is_vec<V>::value && vec_traits<V>::dim>=3,
1990 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
1991 _10Z( V & a )
1992 {
1993 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
1994 }
1995 template <class V>
1996 BOOST_QVM_INLINE_TRIVIAL
1997 typename enable_if_c<
1998 is_vec<V>::value && vec_traits<V>::dim>=3,
1999 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2000 _00Z( V const & a )
2001 {
2002 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2003 }
2004 template <class V>
2005 BOOST_QVM_INLINE_TRIVIAL
2006 typename enable_if_c<
2007 is_vec<V>::value && vec_traits<V>::dim>=3,
2008 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
2009 _00Z( V & a )
2010 {
2011 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2012 }
2013 template <class V>
2014 BOOST_QVM_INLINE_TRIVIAL
2015 typename enable_if_c<
2016 is_vec<V>::value && vec_traits<V>::dim>=4,
2017 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2018 W0Z( V const & a )
2019 {
2020 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2021 }
2022 template <class V>
2023 BOOST_QVM_INLINE_TRIVIAL
2024 typename enable_if_c<
2025 is_vec<V>::value && vec_traits<V>::dim>=4,
2026 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
2027 W0Z( V & a )
2028 {
2029 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2030 }
2031 template <class V>
2032 BOOST_QVM_INLINE_TRIVIAL
2033 typename enable_if_c<
2034 is_vec<V>::value && vec_traits<V>::dim>=3,
2035 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2036 Z0Z( V const & a )
2037 {
2038 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2039 }
2040 template <class V>
2041 BOOST_QVM_INLINE_TRIVIAL
2042 typename enable_if_c<
2043 is_vec<V>::value && vec_traits<V>::dim>=3,
2044 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
2045 Z0Z( V & a )
2046 {
2047 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2048 }
2049 template <class V>
2050 BOOST_QVM_INLINE_TRIVIAL
2051 typename enable_if_c<
2052 is_vec<V>::value && vec_traits<V>::dim>=3,
2053 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2054 Y0Z( V const & a )
2055 {
2056 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2057 }
2058 template <class V>
2059 BOOST_QVM_INLINE_TRIVIAL
2060 typename enable_if_c<
2061 is_vec<V>::value && vec_traits<V>::dim>=3,
2062 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
2063 Y0Z( V & a )
2064 {
2065 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2066 }
2067 template <class V>
2068 BOOST_QVM_INLINE_TRIVIAL
2069 typename enable_if_c<
2070 is_vec<V>::value && vec_traits<V>::dim>=3,
2071 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2072 X0Z( V const & a )
2073 {
2074 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2075 }
2076 template <class V>
2077 BOOST_QVM_INLINE_TRIVIAL
2078 typename enable_if_c<
2079 is_vec<V>::value && vec_traits<V>::dim>=3,
2080 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
2081 X0Z( V & a )
2082 {
2083 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2084 }
2085 template <class V>
2086 BOOST_QVM_INLINE_TRIVIAL
2087 typename enable_if_c<
2088 is_vec<V>::value && vec_traits<V>::dim>=4,
2089 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
2090 _1WZ( V const & a )
2091 {
2092 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2093 }
2094 template <class V>
2095 BOOST_QVM_INLINE_TRIVIAL
2096 typename enable_if_c<
2097 is_vec<V>::value && vec_traits<V>::dim>=4,
2098 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
2099 _1WZ( V & a )
2100 {
2101 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
2102 }
2103 template <class V>
2104 BOOST_QVM_INLINE_TRIVIAL
2105 typename enable_if_c<
2106 is_vec<V>::value && vec_traits<V>::dim>=4,
2107 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
2108 _0WZ( V const & a )
2109 {
2110 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2111 }
2112 template <class V>
2113 BOOST_QVM_INLINE_TRIVIAL
2114 typename enable_if_c<
2115 is_vec<V>::value && vec_traits<V>::dim>=4,
2116 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
2117 _0WZ( V & a )
2118 {
2119 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
2120 }
2121 template <class V>
2122 BOOST_QVM_INLINE_TRIVIAL
2123 typename enable_if_c<
2124 is_vec<V>::value && vec_traits<V>::dim>=4,
2125 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
2126 WWZ( V const & a )
2127 {
2128 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2129 }
2130 template <class V>
2131 BOOST_QVM_INLINE_TRIVIAL
2132 typename enable_if_c<
2133 is_vec<V>::value && vec_traits<V>::dim>=4,
2134 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
2135 WWZ( V & a )
2136 {
2137 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
2138 }
2139 template <class V>
2140 BOOST_QVM_INLINE_TRIVIAL
2141 typename enable_if_c<
2142 is_vec<V>::value && vec_traits<V>::dim>=4,
2143 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
2144 ZWZ( V const & a )
2145 {
2146 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2147 }
2148 template <class V>
2149 BOOST_QVM_INLINE_TRIVIAL
2150 typename enable_if_c<
2151 is_vec<V>::value && vec_traits<V>::dim>=4,
2152 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
2153 ZWZ( V & a )
2154 {
2155 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
2156 }
2157 template <class V>
2158 BOOST_QVM_INLINE_TRIVIAL
2159 typename enable_if_c<
2160 is_vec<V>::value && vec_traits<V>::dim>=4,
2161 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
2162 YWZ( V const & a )
2163 {
2164 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2165 }
2166 template <class V>
2167 BOOST_QVM_INLINE_TRIVIAL
2168 typename enable_if_c<
2169 is_vec<V>::value && vec_traits<V>::dim>=4,
2170 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
2171 YWZ( V & a )
2172 {
2173 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
2174 }
2175 template <class V>
2176 BOOST_QVM_INLINE_TRIVIAL
2177 typename enable_if_c<
2178 is_vec<V>::value && vec_traits<V>::dim>=4,
2179 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
2180 XWZ( V const & a )
2181 {
2182 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2183 }
2184 template <class V>
2185 BOOST_QVM_INLINE_TRIVIAL
2186 typename enable_if_c<
2187 is_vec<V>::value && vec_traits<V>::dim>=4,
2188 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
2189 XWZ( V & a )
2190 {
2191 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
2192 }
2193 template <class V>
2194 BOOST_QVM_INLINE_TRIVIAL
2195 typename enable_if_c<
2196 is_vec<V>::value && vec_traits<V>::dim>=3,
2197 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
2198 _1ZZ( V const & a )
2199 {
2200 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2201 }
2202 template <class V>
2203 BOOST_QVM_INLINE_TRIVIAL
2204 typename enable_if_c<
2205 is_vec<V>::value && vec_traits<V>::dim>=3,
2206 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
2207 _1ZZ( V & a )
2208 {
2209 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
2210 }
2211 template <class V>
2212 BOOST_QVM_INLINE_TRIVIAL
2213 typename enable_if_c<
2214 is_vec<V>::value && vec_traits<V>::dim>=3,
2215 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
2216 _0ZZ( V const & a )
2217 {
2218 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2219 }
2220 template <class V>
2221 BOOST_QVM_INLINE_TRIVIAL
2222 typename enable_if_c<
2223 is_vec<V>::value && vec_traits<V>::dim>=3,
2224 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
2225 _0ZZ( V & a )
2226 {
2227 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
2228 }
2229 template <class V>
2230 BOOST_QVM_INLINE_TRIVIAL
2231 typename enable_if_c<
2232 is_vec<V>::value && vec_traits<V>::dim>=4,
2233 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
2234 WZZ( V const & a )
2235 {
2236 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2237 }
2238 template <class V>
2239 BOOST_QVM_INLINE_TRIVIAL
2240 typename enable_if_c<
2241 is_vec<V>::value && vec_traits<V>::dim>=4,
2242 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
2243 WZZ( V & a )
2244 {
2245 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
2246 }
2247 template <class V>
2248 BOOST_QVM_INLINE_TRIVIAL
2249 typename enable_if_c<
2250 is_vec<V>::value && vec_traits<V>::dim>=3,
2251 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
2252 ZZZ( V const & a )
2253 {
2254 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2255 }
2256 template <class V>
2257 BOOST_QVM_INLINE_TRIVIAL
2258 typename enable_if_c<
2259 is_vec<V>::value && vec_traits<V>::dim>=3,
2260 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
2261 ZZZ( V & a )
2262 {
2263 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
2264 }
2265 template <class V>
2266 BOOST_QVM_INLINE_TRIVIAL
2267 typename enable_if_c<
2268 is_vec<V>::value && vec_traits<V>::dim>=3,
2269 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
2270 YZZ( V const & a )
2271 {
2272 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2273 }
2274 template <class V>
2275 BOOST_QVM_INLINE_TRIVIAL
2276 typename enable_if_c<
2277 is_vec<V>::value && vec_traits<V>::dim>=3,
2278 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
2279 YZZ( V & a )
2280 {
2281 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
2282 }
2283 template <class V>
2284 BOOST_QVM_INLINE_TRIVIAL
2285 typename enable_if_c<
2286 is_vec<V>::value && vec_traits<V>::dim>=3,
2287 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
2288 XZZ( V const & a )
2289 {
2290 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2291 }
2292 template <class V>
2293 BOOST_QVM_INLINE_TRIVIAL
2294 typename enable_if_c<
2295 is_vec<V>::value && vec_traits<V>::dim>=3,
2296 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
2297 XZZ( V & a )
2298 {
2299 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
2300 }
2301 template <class V>
2302 BOOST_QVM_INLINE_TRIVIAL
2303 typename enable_if_c<
2304 is_vec<V>::value && vec_traits<V>::dim>=3,
2305 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2306 _1YZ( V const & a )
2307 {
2308 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2309 }
2310 template <class V>
2311 BOOST_QVM_INLINE_TRIVIAL
2312 typename enable_if_c<
2313 is_vec<V>::value && vec_traits<V>::dim>=3,
2314 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
2315 _1YZ( V & a )
2316 {
2317 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2318 }
2319 template <class V>
2320 BOOST_QVM_INLINE_TRIVIAL
2321 typename enable_if_c<
2322 is_vec<V>::value && vec_traits<V>::dim>=3,
2323 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2324 _0YZ( V const & a )
2325 {
2326 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2327 }
2328 template <class V>
2329 BOOST_QVM_INLINE_TRIVIAL
2330 typename enable_if_c<
2331 is_vec<V>::value && vec_traits<V>::dim>=3,
2332 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
2333 _0YZ( V & a )
2334 {
2335 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2336 }
2337 template <class V>
2338 BOOST_QVM_INLINE_TRIVIAL
2339 typename enable_if_c<
2340 is_vec<V>::value && vec_traits<V>::dim>=4,
2341 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2342 WYZ( V const & a )
2343 {
2344 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2345 }
2346 template <class V>
2347 BOOST_QVM_INLINE_TRIVIAL
2348 typename enable_if_c<
2349 is_vec<V>::value && vec_traits<V>::dim>=4,
2350 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
2351 WYZ( V & a )
2352 {
2353 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2354 }
2355 template <class V>
2356 BOOST_QVM_INLINE_TRIVIAL
2357 typename enable_if_c<
2358 is_vec<V>::value && vec_traits<V>::dim>=3,
2359 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2360 ZYZ( V const & a )
2361 {
2362 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2363 }
2364 template <class V>
2365 BOOST_QVM_INLINE_TRIVIAL
2366 typename enable_if_c<
2367 is_vec<V>::value && vec_traits<V>::dim>=3,
2368 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
2369 ZYZ( V & a )
2370 {
2371 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2372 }
2373 template <class V>
2374 BOOST_QVM_INLINE_TRIVIAL
2375 typename enable_if_c<
2376 is_vec<V>::value && vec_traits<V>::dim>=3,
2377 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2378 YYZ( V const & a )
2379 {
2380 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2381 }
2382 template <class V>
2383 BOOST_QVM_INLINE_TRIVIAL
2384 typename enable_if_c<
2385 is_vec<V>::value && vec_traits<V>::dim>=3,
2386 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
2387 YYZ( V & a )
2388 {
2389 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2390 }
2391 template <class V>
2392 BOOST_QVM_INLINE_TRIVIAL
2393 typename enable_if_c<
2394 is_vec<V>::value && vec_traits<V>::dim>=3,
2395 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
2396 XYZ( V const & a )
2397 {
2398 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2399 }
2400 template <class V>
2401 BOOST_QVM_INLINE_TRIVIAL
2402 typename enable_if_c<
2403 is_vec<V>::value && vec_traits<V>::dim>=3,
2404 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
2405 XYZ( V & a )
2406 {
2407 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
2408 }
2409 template <class V>
2410 BOOST_QVM_INLINE_TRIVIAL
2411 typename enable_if_c<
2412 is_vec<V>::value && vec_traits<V>::dim>=3,
2413 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
2414 _1XZ( V const & a )
2415 {
2416 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2417 }
2418 template <class V>
2419 BOOST_QVM_INLINE_TRIVIAL
2420 typename enable_if_c<
2421 is_vec<V>::value && vec_traits<V>::dim>=3,
2422 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
2423 _1XZ( V & a )
2424 {
2425 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
2426 }
2427 template <class V>
2428 BOOST_QVM_INLINE_TRIVIAL
2429 typename enable_if_c<
2430 is_vec<V>::value && vec_traits<V>::dim>=3,
2431 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
2432 _0XZ( V const & a )
2433 {
2434 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2435 }
2436 template <class V>
2437 BOOST_QVM_INLINE_TRIVIAL
2438 typename enable_if_c<
2439 is_vec<V>::value && vec_traits<V>::dim>=3,
2440 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
2441 _0XZ( V & a )
2442 {
2443 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
2444 }
2445 template <class V>
2446 BOOST_QVM_INLINE_TRIVIAL
2447 typename enable_if_c<
2448 is_vec<V>::value && vec_traits<V>::dim>=4,
2449 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
2450 WXZ( V const & a )
2451 {
2452 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2453 }
2454 template <class V>
2455 BOOST_QVM_INLINE_TRIVIAL
2456 typename enable_if_c<
2457 is_vec<V>::value && vec_traits<V>::dim>=4,
2458 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
2459 WXZ( V & a )
2460 {
2461 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
2462 }
2463 template <class V>
2464 BOOST_QVM_INLINE_TRIVIAL
2465 typename enable_if_c<
2466 is_vec<V>::value && vec_traits<V>::dim>=3,
2467 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
2468 ZXZ( V const & a )
2469 {
2470 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2471 }
2472 template <class V>
2473 BOOST_QVM_INLINE_TRIVIAL
2474 typename enable_if_c<
2475 is_vec<V>::value && vec_traits<V>::dim>=3,
2476 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
2477 ZXZ( V & a )
2478 {
2479 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
2480 }
2481 template <class V>
2482 BOOST_QVM_INLINE_TRIVIAL
2483 typename enable_if_c<
2484 is_vec<V>::value && vec_traits<V>::dim>=3,
2485 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
2486 YXZ( V const & a )
2487 {
2488 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2489 }
2490 template <class V>
2491 BOOST_QVM_INLINE_TRIVIAL
2492 typename enable_if_c<
2493 is_vec<V>::value && vec_traits<V>::dim>=3,
2494 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
2495 YXZ( V & a )
2496 {
2497 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
2498 }
2499 template <class V>
2500 BOOST_QVM_INLINE_TRIVIAL
2501 typename enable_if_c<
2502 is_vec<V>::value && vec_traits<V>::dim>=3,
2503 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
2504 XXZ( V const & a )
2505 {
2506 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
2507 }
2508 template <class V>
2509 BOOST_QVM_INLINE_TRIVIAL
2510 typename enable_if_c<
2511 is_vec<V>::value && vec_traits<V>::dim>=3,
2512 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
2513 XXZ( V & a )
2514 {
2515 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
2516 }
2517 template <class V>
2518 BOOST_QVM_INLINE_TRIVIAL
2519 typename enable_if_c<
2520 is_vec<V>::value && vec_traits<V>::dim>=2,
2521 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2522 _11Y( V const & a )
2523 {
2524 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2525 }
2526 template <class V>
2527 BOOST_QVM_INLINE_TRIVIAL
2528 typename enable_if_c<
2529 is_vec<V>::value && vec_traits<V>::dim>=2,
2530 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
2531 _11Y( V & a )
2532 {
2533 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2534 }
2535 template <class V>
2536 BOOST_QVM_INLINE_TRIVIAL
2537 typename enable_if_c<
2538 is_vec<V>::value && vec_traits<V>::dim>=2,
2539 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2540 _01Y( V const & a )
2541 {
2542 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2543 }
2544 template <class V>
2545 BOOST_QVM_INLINE_TRIVIAL
2546 typename enable_if_c<
2547 is_vec<V>::value && vec_traits<V>::dim>=2,
2548 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
2549 _01Y( V & a )
2550 {
2551 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2552 }
2553 template <class V>
2554 BOOST_QVM_INLINE_TRIVIAL
2555 typename enable_if_c<
2556 is_vec<V>::value && vec_traits<V>::dim>=4,
2557 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2558 W1Y( V const & a )
2559 {
2560 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2561 }
2562 template <class V>
2563 BOOST_QVM_INLINE_TRIVIAL
2564 typename enable_if_c<
2565 is_vec<V>::value && vec_traits<V>::dim>=4,
2566 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
2567 W1Y( V & a )
2568 {
2569 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2570 }
2571 template <class V>
2572 BOOST_QVM_INLINE_TRIVIAL
2573 typename enable_if_c<
2574 is_vec<V>::value && vec_traits<V>::dim>=3,
2575 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2576 Z1Y( V const & a )
2577 {
2578 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2579 }
2580 template <class V>
2581 BOOST_QVM_INLINE_TRIVIAL
2582 typename enable_if_c<
2583 is_vec<V>::value && vec_traits<V>::dim>=3,
2584 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
2585 Z1Y( V & a )
2586 {
2587 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2588 }
2589 template <class V>
2590 BOOST_QVM_INLINE_TRIVIAL
2591 typename enable_if_c<
2592 is_vec<V>::value && vec_traits<V>::dim>=2,
2593 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2594 Y1Y( V const & a )
2595 {
2596 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2597 }
2598 template <class V>
2599 BOOST_QVM_INLINE_TRIVIAL
2600 typename enable_if_c<
2601 is_vec<V>::value && vec_traits<V>::dim>=2,
2602 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
2603 Y1Y( V & a )
2604 {
2605 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2606 }
2607 template <class V>
2608 BOOST_QVM_INLINE_TRIVIAL
2609 typename enable_if_c<
2610 is_vec<V>::value && vec_traits<V>::dim>=2,
2611 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2612 X1Y( V const & a )
2613 {
2614 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2615 }
2616 template <class V>
2617 BOOST_QVM_INLINE_TRIVIAL
2618 typename enable_if_c<
2619 is_vec<V>::value && vec_traits<V>::dim>=2,
2620 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
2621 X1Y( V & a )
2622 {
2623 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2624 }
2625 template <class V>
2626 BOOST_QVM_INLINE_TRIVIAL
2627 typename enable_if_c<
2628 is_vec<V>::value && vec_traits<V>::dim>=2,
2629 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2630 _10Y( V const & a )
2631 {
2632 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2633 }
2634 template <class V>
2635 BOOST_QVM_INLINE_TRIVIAL
2636 typename enable_if_c<
2637 is_vec<V>::value && vec_traits<V>::dim>=2,
2638 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
2639 _10Y( V & a )
2640 {
2641 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2642 }
2643 template <class V>
2644 BOOST_QVM_INLINE_TRIVIAL
2645 typename enable_if_c<
2646 is_vec<V>::value && vec_traits<V>::dim>=2,
2647 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2648 _00Y( V const & a )
2649 {
2650 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2651 }
2652 template <class V>
2653 BOOST_QVM_INLINE_TRIVIAL
2654 typename enable_if_c<
2655 is_vec<V>::value && vec_traits<V>::dim>=2,
2656 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
2657 _00Y( V & a )
2658 {
2659 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2660 }
2661 template <class V>
2662 BOOST_QVM_INLINE_TRIVIAL
2663 typename enable_if_c<
2664 is_vec<V>::value && vec_traits<V>::dim>=4,
2665 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2666 W0Y( V const & a )
2667 {
2668 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2669 }
2670 template <class V>
2671 BOOST_QVM_INLINE_TRIVIAL
2672 typename enable_if_c<
2673 is_vec<V>::value && vec_traits<V>::dim>=4,
2674 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
2675 W0Y( V & a )
2676 {
2677 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2678 }
2679 template <class V>
2680 BOOST_QVM_INLINE_TRIVIAL
2681 typename enable_if_c<
2682 is_vec<V>::value && vec_traits<V>::dim>=3,
2683 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2684 Z0Y( V const & a )
2685 {
2686 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2687 }
2688 template <class V>
2689 BOOST_QVM_INLINE_TRIVIAL
2690 typename enable_if_c<
2691 is_vec<V>::value && vec_traits<V>::dim>=3,
2692 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
2693 Z0Y( V & a )
2694 {
2695 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2696 }
2697 template <class V>
2698 BOOST_QVM_INLINE_TRIVIAL
2699 typename enable_if_c<
2700 is_vec<V>::value && vec_traits<V>::dim>=2,
2701 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2702 Y0Y( V const & a )
2703 {
2704 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2705 }
2706 template <class V>
2707 BOOST_QVM_INLINE_TRIVIAL
2708 typename enable_if_c<
2709 is_vec<V>::value && vec_traits<V>::dim>=2,
2710 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
2711 Y0Y( V & a )
2712 {
2713 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2714 }
2715 template <class V>
2716 BOOST_QVM_INLINE_TRIVIAL
2717 typename enable_if_c<
2718 is_vec<V>::value && vec_traits<V>::dim>=2,
2719 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2720 X0Y( V const & a )
2721 {
2722 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2723 }
2724 template <class V>
2725 BOOST_QVM_INLINE_TRIVIAL
2726 typename enable_if_c<
2727 is_vec<V>::value && vec_traits<V>::dim>=2,
2728 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
2729 X0Y( V & a )
2730 {
2731 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2732 }
2733 template <class V>
2734 BOOST_QVM_INLINE_TRIVIAL
2735 typename enable_if_c<
2736 is_vec<V>::value && vec_traits<V>::dim>=4,
2737 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
2738 _1WY( V const & a )
2739 {
2740 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2741 }
2742 template <class V>
2743 BOOST_QVM_INLINE_TRIVIAL
2744 typename enable_if_c<
2745 is_vec<V>::value && vec_traits<V>::dim>=4,
2746 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
2747 _1WY( V & a )
2748 {
2749 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
2750 }
2751 template <class V>
2752 BOOST_QVM_INLINE_TRIVIAL
2753 typename enable_if_c<
2754 is_vec<V>::value && vec_traits<V>::dim>=4,
2755 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
2756 _0WY( V const & a )
2757 {
2758 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2759 }
2760 template <class V>
2761 BOOST_QVM_INLINE_TRIVIAL
2762 typename enable_if_c<
2763 is_vec<V>::value && vec_traits<V>::dim>=4,
2764 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
2765 _0WY( V & a )
2766 {
2767 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
2768 }
2769 template <class V>
2770 BOOST_QVM_INLINE_TRIVIAL
2771 typename enable_if_c<
2772 is_vec<V>::value && vec_traits<V>::dim>=4,
2773 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
2774 WWY( V const & a )
2775 {
2776 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2777 }
2778 template <class V>
2779 BOOST_QVM_INLINE_TRIVIAL
2780 typename enable_if_c<
2781 is_vec<V>::value && vec_traits<V>::dim>=4,
2782 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
2783 WWY( V & a )
2784 {
2785 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
2786 }
2787 template <class V>
2788 BOOST_QVM_INLINE_TRIVIAL
2789 typename enable_if_c<
2790 is_vec<V>::value && vec_traits<V>::dim>=4,
2791 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
2792 ZWY( V const & a )
2793 {
2794 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2795 }
2796 template <class V>
2797 BOOST_QVM_INLINE_TRIVIAL
2798 typename enable_if_c<
2799 is_vec<V>::value && vec_traits<V>::dim>=4,
2800 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
2801 ZWY( V & a )
2802 {
2803 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
2804 }
2805 template <class V>
2806 BOOST_QVM_INLINE_TRIVIAL
2807 typename enable_if_c<
2808 is_vec<V>::value && vec_traits<V>::dim>=4,
2809 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
2810 YWY( V const & a )
2811 {
2812 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2813 }
2814 template <class V>
2815 BOOST_QVM_INLINE_TRIVIAL
2816 typename enable_if_c<
2817 is_vec<V>::value && vec_traits<V>::dim>=4,
2818 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
2819 YWY( V & a )
2820 {
2821 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
2822 }
2823 template <class V>
2824 BOOST_QVM_INLINE_TRIVIAL
2825 typename enable_if_c<
2826 is_vec<V>::value && vec_traits<V>::dim>=4,
2827 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
2828 XWY( V const & a )
2829 {
2830 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2831 }
2832 template <class V>
2833 BOOST_QVM_INLINE_TRIVIAL
2834 typename enable_if_c<
2835 is_vec<V>::value && vec_traits<V>::dim>=4,
2836 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
2837 XWY( V & a )
2838 {
2839 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
2840 }
2841 template <class V>
2842 BOOST_QVM_INLINE_TRIVIAL
2843 typename enable_if_c<
2844 is_vec<V>::value && vec_traits<V>::dim>=3,
2845 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2846 _1ZY( V const & a )
2847 {
2848 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2849 }
2850 template <class V>
2851 BOOST_QVM_INLINE_TRIVIAL
2852 typename enable_if_c<
2853 is_vec<V>::value && vec_traits<V>::dim>=3,
2854 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
2855 _1ZY( V & a )
2856 {
2857 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2858 }
2859 template <class V>
2860 BOOST_QVM_INLINE_TRIVIAL
2861 typename enable_if_c<
2862 is_vec<V>::value && vec_traits<V>::dim>=3,
2863 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2864 _0ZY( V const & a )
2865 {
2866 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2867 }
2868 template <class V>
2869 BOOST_QVM_INLINE_TRIVIAL
2870 typename enable_if_c<
2871 is_vec<V>::value && vec_traits<V>::dim>=3,
2872 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
2873 _0ZY( V & a )
2874 {
2875 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2876 }
2877 template <class V>
2878 BOOST_QVM_INLINE_TRIVIAL
2879 typename enable_if_c<
2880 is_vec<V>::value && vec_traits<V>::dim>=4,
2881 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2882 WZY( V const & a )
2883 {
2884 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2885 }
2886 template <class V>
2887 BOOST_QVM_INLINE_TRIVIAL
2888 typename enable_if_c<
2889 is_vec<V>::value && vec_traits<V>::dim>=4,
2890 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
2891 WZY( V & a )
2892 {
2893 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2894 }
2895 template <class V>
2896 BOOST_QVM_INLINE_TRIVIAL
2897 typename enable_if_c<
2898 is_vec<V>::value && vec_traits<V>::dim>=3,
2899 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2900 ZZY( V const & a )
2901 {
2902 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2903 }
2904 template <class V>
2905 BOOST_QVM_INLINE_TRIVIAL
2906 typename enable_if_c<
2907 is_vec<V>::value && vec_traits<V>::dim>=3,
2908 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
2909 ZZY( V & a )
2910 {
2911 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2912 }
2913 template <class V>
2914 BOOST_QVM_INLINE_TRIVIAL
2915 typename enable_if_c<
2916 is_vec<V>::value && vec_traits<V>::dim>=3,
2917 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2918 YZY( V const & a )
2919 {
2920 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2921 }
2922 template <class V>
2923 BOOST_QVM_INLINE_TRIVIAL
2924 typename enable_if_c<
2925 is_vec<V>::value && vec_traits<V>::dim>=3,
2926 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
2927 YZY( V & a )
2928 {
2929 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2930 }
2931 template <class V>
2932 BOOST_QVM_INLINE_TRIVIAL
2933 typename enable_if_c<
2934 is_vec<V>::value && vec_traits<V>::dim>=3,
2935 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
2936 XZY( V const & a )
2937 {
2938 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2939 }
2940 template <class V>
2941 BOOST_QVM_INLINE_TRIVIAL
2942 typename enable_if_c<
2943 is_vec<V>::value && vec_traits<V>::dim>=3,
2944 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
2945 XZY( V & a )
2946 {
2947 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
2948 }
2949 template <class V>
2950 BOOST_QVM_INLINE_TRIVIAL
2951 typename enable_if_c<
2952 is_vec<V>::value && vec_traits<V>::dim>=2,
2953 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2954 _1YY( V const & a )
2955 {
2956 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2957 }
2958 template <class V>
2959 BOOST_QVM_INLINE_TRIVIAL
2960 typename enable_if_c<
2961 is_vec<V>::value && vec_traits<V>::dim>=2,
2962 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
2963 _1YY( V & a )
2964 {
2965 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2966 }
2967 template <class V>
2968 BOOST_QVM_INLINE_TRIVIAL
2969 typename enable_if_c<
2970 is_vec<V>::value && vec_traits<V>::dim>=2,
2971 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2972 _0YY( V const & a )
2973 {
2974 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2975 }
2976 template <class V>
2977 BOOST_QVM_INLINE_TRIVIAL
2978 typename enable_if_c<
2979 is_vec<V>::value && vec_traits<V>::dim>=2,
2980 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
2981 _0YY( V & a )
2982 {
2983 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
2984 }
2985 template <class V>
2986 BOOST_QVM_INLINE_TRIVIAL
2987 typename enable_if_c<
2988 is_vec<V>::value && vec_traits<V>::dim>=4,
2989 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
2990 WYY( V const & a )
2991 {
2992 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
2993 }
2994 template <class V>
2995 BOOST_QVM_INLINE_TRIVIAL
2996 typename enable_if_c<
2997 is_vec<V>::value && vec_traits<V>::dim>=4,
2998 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
2999 WYY( V & a )
3000 {
3001 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
3002 }
3003 template <class V>
3004 BOOST_QVM_INLINE_TRIVIAL
3005 typename enable_if_c<
3006 is_vec<V>::value && vec_traits<V>::dim>=3,
3007 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
3008 ZYY( V const & a )
3009 {
3010 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3011 }
3012 template <class V>
3013 BOOST_QVM_INLINE_TRIVIAL
3014 typename enable_if_c<
3015 is_vec<V>::value && vec_traits<V>::dim>=3,
3016 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
3017 ZYY( V & a )
3018 {
3019 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
3020 }
3021 template <class V>
3022 BOOST_QVM_INLINE_TRIVIAL
3023 typename enable_if_c<
3024 is_vec<V>::value && vec_traits<V>::dim>=2,
3025 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
3026 YYY( V const & a )
3027 {
3028 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3029 }
3030 template <class V>
3031 BOOST_QVM_INLINE_TRIVIAL
3032 typename enable_if_c<
3033 is_vec<V>::value && vec_traits<V>::dim>=2,
3034 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
3035 YYY( V & a )
3036 {
3037 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
3038 }
3039 template <class V>
3040 BOOST_QVM_INLINE_TRIVIAL
3041 typename enable_if_c<
3042 is_vec<V>::value && vec_traits<V>::dim>=2,
3043 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
3044 XYY( V const & a )
3045 {
3046 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3047 }
3048 template <class V>
3049 BOOST_QVM_INLINE_TRIVIAL
3050 typename enable_if_c<
3051 is_vec<V>::value && vec_traits<V>::dim>=2,
3052 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
3053 XYY( V & a )
3054 {
3055 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
3056 }
3057 template <class V>
3058 BOOST_QVM_INLINE_TRIVIAL
3059 typename enable_if_c<
3060 is_vec<V>::value && vec_traits<V>::dim>=2,
3061 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
3062 _1XY( V const & a )
3063 {
3064 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3065 }
3066 template <class V>
3067 BOOST_QVM_INLINE_TRIVIAL
3068 typename enable_if_c<
3069 is_vec<V>::value && vec_traits<V>::dim>=2,
3070 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
3071 _1XY( V & a )
3072 {
3073 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
3074 }
3075 template <class V>
3076 BOOST_QVM_INLINE_TRIVIAL
3077 typename enable_if_c<
3078 is_vec<V>::value && vec_traits<V>::dim>=2,
3079 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
3080 _0XY( V const & a )
3081 {
3082 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3083 }
3084 template <class V>
3085 BOOST_QVM_INLINE_TRIVIAL
3086 typename enable_if_c<
3087 is_vec<V>::value && vec_traits<V>::dim>=2,
3088 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
3089 _0XY( V & a )
3090 {
3091 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
3092 }
3093 template <class V>
3094 BOOST_QVM_INLINE_TRIVIAL
3095 typename enable_if_c<
3096 is_vec<V>::value && vec_traits<V>::dim>=4,
3097 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
3098 WXY( V const & a )
3099 {
3100 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3101 }
3102 template <class V>
3103 BOOST_QVM_INLINE_TRIVIAL
3104 typename enable_if_c<
3105 is_vec<V>::value && vec_traits<V>::dim>=4,
3106 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
3107 WXY( V & a )
3108 {
3109 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
3110 }
3111 template <class V>
3112 BOOST_QVM_INLINE_TRIVIAL
3113 typename enable_if_c<
3114 is_vec<V>::value && vec_traits<V>::dim>=3,
3115 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
3116 ZXY( V const & a )
3117 {
3118 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3119 }
3120 template <class V>
3121 BOOST_QVM_INLINE_TRIVIAL
3122 typename enable_if_c<
3123 is_vec<V>::value && vec_traits<V>::dim>=3,
3124 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
3125 ZXY( V & a )
3126 {
3127 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
3128 }
3129 template <class V>
3130 BOOST_QVM_INLINE_TRIVIAL
3131 typename enable_if_c<
3132 is_vec<V>::value && vec_traits<V>::dim>=2,
3133 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
3134 YXY( V const & a )
3135 {
3136 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3137 }
3138 template <class V>
3139 BOOST_QVM_INLINE_TRIVIAL
3140 typename enable_if_c<
3141 is_vec<V>::value && vec_traits<V>::dim>=2,
3142 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
3143 YXY( V & a )
3144 {
3145 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
3146 }
3147 template <class V>
3148 BOOST_QVM_INLINE_TRIVIAL
3149 typename enable_if_c<
3150 is_vec<V>::value && vec_traits<V>::dim>=2,
3151 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
3152 XXY( V const & a )
3153 {
3154 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
3155 }
3156 template <class V>
3157 BOOST_QVM_INLINE_TRIVIAL
3158 typename enable_if_c<
3159 is_vec<V>::value && vec_traits<V>::dim>=2,
3160 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
3161 XXY( V & a )
3162 {
3163 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
3164 }
3165 template <class V>
3166 BOOST_QVM_INLINE_TRIVIAL
3167 typename enable_if_c<
3168 is_vec<V>::value && vec_traits<V>::dim>=1,
3169 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3170 _11X( V const & a )
3171 {
3172 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3173 }
3174 template <class V>
3175 BOOST_QVM_INLINE_TRIVIAL
3176 typename enable_if_c<
3177 is_vec<V>::value && vec_traits<V>::dim>=1,
3178 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
3179 _11X( V & a )
3180 {
3181 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3182 }
3183 template <class V>
3184 BOOST_QVM_INLINE_TRIVIAL
3185 typename enable_if_c<
3186 is_vec<V>::value && vec_traits<V>::dim>=1,
3187 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3188 _01X( V const & a )
3189 {
3190 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3191 }
3192 template <class V>
3193 BOOST_QVM_INLINE_TRIVIAL
3194 typename enable_if_c<
3195 is_vec<V>::value && vec_traits<V>::dim>=1,
3196 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
3197 _01X( V & a )
3198 {
3199 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3200 }
3201 template <class V>
3202 BOOST_QVM_INLINE_TRIVIAL
3203 typename enable_if_c<
3204 is_vec<V>::value && vec_traits<V>::dim>=4,
3205 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3206 W1X( V const & a )
3207 {
3208 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3209 }
3210 template <class V>
3211 BOOST_QVM_INLINE_TRIVIAL
3212 typename enable_if_c<
3213 is_vec<V>::value && vec_traits<V>::dim>=4,
3214 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
3215 W1X( V & a )
3216 {
3217 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3218 }
3219 template <class V>
3220 BOOST_QVM_INLINE_TRIVIAL
3221 typename enable_if_c<
3222 is_vec<V>::value && vec_traits<V>::dim>=3,
3223 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3224 Z1X( V const & a )
3225 {
3226 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3227 }
3228 template <class V>
3229 BOOST_QVM_INLINE_TRIVIAL
3230 typename enable_if_c<
3231 is_vec<V>::value && vec_traits<V>::dim>=3,
3232 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
3233 Z1X( V & a )
3234 {
3235 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3236 }
3237 template <class V>
3238 BOOST_QVM_INLINE_TRIVIAL
3239 typename enable_if_c<
3240 is_vec<V>::value && vec_traits<V>::dim>=2,
3241 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3242 Y1X( V const & a )
3243 {
3244 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3245 }
3246 template <class V>
3247 BOOST_QVM_INLINE_TRIVIAL
3248 typename enable_if_c<
3249 is_vec<V>::value && vec_traits<V>::dim>=2,
3250 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
3251 Y1X( V & a )
3252 {
3253 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3254 }
3255 template <class V>
3256 BOOST_QVM_INLINE_TRIVIAL
3257 typename enable_if_c<
3258 is_vec<V>::value && vec_traits<V>::dim>=1,
3259 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3260 X1X( V const & a )
3261 {
3262 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3263 }
3264 template <class V>
3265 BOOST_QVM_INLINE_TRIVIAL
3266 typename enable_if_c<
3267 is_vec<V>::value && vec_traits<V>::dim>=1,
3268 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
3269 X1X( V & a )
3270 {
3271 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3272 }
3273 template <class V>
3274 BOOST_QVM_INLINE_TRIVIAL
3275 typename enable_if_c<
3276 is_vec<V>::value && vec_traits<V>::dim>=1,
3277 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3278 _10X( V const & a )
3279 {
3280 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3281 }
3282 template <class V>
3283 BOOST_QVM_INLINE_TRIVIAL
3284 typename enable_if_c<
3285 is_vec<V>::value && vec_traits<V>::dim>=1,
3286 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
3287 _10X( V & a )
3288 {
3289 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3290 }
3291 template <class V>
3292 BOOST_QVM_INLINE_TRIVIAL
3293 typename enable_if_c<
3294 is_vec<V>::value && vec_traits<V>::dim>=1,
3295 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3296 _00X( V const & a )
3297 {
3298 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3299 }
3300 template <class V>
3301 BOOST_QVM_INLINE_TRIVIAL
3302 typename enable_if_c<
3303 is_vec<V>::value && vec_traits<V>::dim>=1,
3304 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
3305 _00X( V & a )
3306 {
3307 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3308 }
3309 template <class V>
3310 BOOST_QVM_INLINE_TRIVIAL
3311 typename enable_if_c<
3312 is_vec<V>::value && vec_traits<V>::dim>=4,
3313 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3314 W0X( V const & a )
3315 {
3316 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3317 }
3318 template <class V>
3319 BOOST_QVM_INLINE_TRIVIAL
3320 typename enable_if_c<
3321 is_vec<V>::value && vec_traits<V>::dim>=4,
3322 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
3323 W0X( V & a )
3324 {
3325 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3326 }
3327 template <class V>
3328 BOOST_QVM_INLINE_TRIVIAL
3329 typename enable_if_c<
3330 is_vec<V>::value && vec_traits<V>::dim>=3,
3331 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3332 Z0X( V const & a )
3333 {
3334 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3335 }
3336 template <class V>
3337 BOOST_QVM_INLINE_TRIVIAL
3338 typename enable_if_c<
3339 is_vec<V>::value && vec_traits<V>::dim>=3,
3340 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
3341 Z0X( V & a )
3342 {
3343 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3344 }
3345 template <class V>
3346 BOOST_QVM_INLINE_TRIVIAL
3347 typename enable_if_c<
3348 is_vec<V>::value && vec_traits<V>::dim>=2,
3349 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3350 Y0X( V const & a )
3351 {
3352 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3353 }
3354 template <class V>
3355 BOOST_QVM_INLINE_TRIVIAL
3356 typename enable_if_c<
3357 is_vec<V>::value && vec_traits<V>::dim>=2,
3358 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
3359 Y0X( V & a )
3360 {
3361 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3362 }
3363 template <class V>
3364 BOOST_QVM_INLINE_TRIVIAL
3365 typename enable_if_c<
3366 is_vec<V>::value && vec_traits<V>::dim>=1,
3367 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3368 X0X( V const & a )
3369 {
3370 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3371 }
3372 template <class V>
3373 BOOST_QVM_INLINE_TRIVIAL
3374 typename enable_if_c<
3375 is_vec<V>::value && vec_traits<V>::dim>=1,
3376 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
3377 X0X( V & a )
3378 {
3379 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3380 }
3381 template <class V>
3382 BOOST_QVM_INLINE_TRIVIAL
3383 typename enable_if_c<
3384 is_vec<V>::value && vec_traits<V>::dim>=4,
3385 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
3386 _1WX( V const & a )
3387 {
3388 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3389 }
3390 template <class V>
3391 BOOST_QVM_INLINE_TRIVIAL
3392 typename enable_if_c<
3393 is_vec<V>::value && vec_traits<V>::dim>=4,
3394 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
3395 _1WX( V & a )
3396 {
3397 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
3398 }
3399 template <class V>
3400 BOOST_QVM_INLINE_TRIVIAL
3401 typename enable_if_c<
3402 is_vec<V>::value && vec_traits<V>::dim>=4,
3403 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
3404 _0WX( V const & a )
3405 {
3406 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3407 }
3408 template <class V>
3409 BOOST_QVM_INLINE_TRIVIAL
3410 typename enable_if_c<
3411 is_vec<V>::value && vec_traits<V>::dim>=4,
3412 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
3413 _0WX( V & a )
3414 {
3415 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
3416 }
3417 template <class V>
3418 BOOST_QVM_INLINE_TRIVIAL
3419 typename enable_if_c<
3420 is_vec<V>::value && vec_traits<V>::dim>=4,
3421 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
3422 WWX( V const & a )
3423 {
3424 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3425 }
3426 template <class V>
3427 BOOST_QVM_INLINE_TRIVIAL
3428 typename enable_if_c<
3429 is_vec<V>::value && vec_traits<V>::dim>=4,
3430 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
3431 WWX( V & a )
3432 {
3433 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
3434 }
3435 template <class V>
3436 BOOST_QVM_INLINE_TRIVIAL
3437 typename enable_if_c<
3438 is_vec<V>::value && vec_traits<V>::dim>=4,
3439 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
3440 ZWX( V const & a )
3441 {
3442 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3443 }
3444 template <class V>
3445 BOOST_QVM_INLINE_TRIVIAL
3446 typename enable_if_c<
3447 is_vec<V>::value && vec_traits<V>::dim>=4,
3448 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
3449 ZWX( V & a )
3450 {
3451 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
3452 }
3453 template <class V>
3454 BOOST_QVM_INLINE_TRIVIAL
3455 typename enable_if_c<
3456 is_vec<V>::value && vec_traits<V>::dim>=4,
3457 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
3458 YWX( V const & a )
3459 {
3460 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3461 }
3462 template <class V>
3463 BOOST_QVM_INLINE_TRIVIAL
3464 typename enable_if_c<
3465 is_vec<V>::value && vec_traits<V>::dim>=4,
3466 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
3467 YWX( V & a )
3468 {
3469 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
3470 }
3471 template <class V>
3472 BOOST_QVM_INLINE_TRIVIAL
3473 typename enable_if_c<
3474 is_vec<V>::value && vec_traits<V>::dim>=4,
3475 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
3476 XWX( V const & a )
3477 {
3478 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3479 }
3480 template <class V>
3481 BOOST_QVM_INLINE_TRIVIAL
3482 typename enable_if_c<
3483 is_vec<V>::value && vec_traits<V>::dim>=4,
3484 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
3485 XWX( V & a )
3486 {
3487 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
3488 }
3489 template <class V>
3490 BOOST_QVM_INLINE_TRIVIAL
3491 typename enable_if_c<
3492 is_vec<V>::value && vec_traits<V>::dim>=3,
3493 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3494 _1ZX( V const & a )
3495 {
3496 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3497 }
3498 template <class V>
3499 BOOST_QVM_INLINE_TRIVIAL
3500 typename enable_if_c<
3501 is_vec<V>::value && vec_traits<V>::dim>=3,
3502 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
3503 _1ZX( V & a )
3504 {
3505 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3506 }
3507 template <class V>
3508 BOOST_QVM_INLINE_TRIVIAL
3509 typename enable_if_c<
3510 is_vec<V>::value && vec_traits<V>::dim>=3,
3511 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3512 _0ZX( V const & a )
3513 {
3514 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3515 }
3516 template <class V>
3517 BOOST_QVM_INLINE_TRIVIAL
3518 typename enable_if_c<
3519 is_vec<V>::value && vec_traits<V>::dim>=3,
3520 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
3521 _0ZX( V & a )
3522 {
3523 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3524 }
3525 template <class V>
3526 BOOST_QVM_INLINE_TRIVIAL
3527 typename enable_if_c<
3528 is_vec<V>::value && vec_traits<V>::dim>=4,
3529 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3530 WZX( V const & a )
3531 {
3532 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3533 }
3534 template <class V>
3535 BOOST_QVM_INLINE_TRIVIAL
3536 typename enable_if_c<
3537 is_vec<V>::value && vec_traits<V>::dim>=4,
3538 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
3539 WZX( V & a )
3540 {
3541 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3542 }
3543 template <class V>
3544 BOOST_QVM_INLINE_TRIVIAL
3545 typename enable_if_c<
3546 is_vec<V>::value && vec_traits<V>::dim>=3,
3547 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3548 ZZX( V const & a )
3549 {
3550 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3551 }
3552 template <class V>
3553 BOOST_QVM_INLINE_TRIVIAL
3554 typename enable_if_c<
3555 is_vec<V>::value && vec_traits<V>::dim>=3,
3556 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
3557 ZZX( V & a )
3558 {
3559 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3560 }
3561 template <class V>
3562 BOOST_QVM_INLINE_TRIVIAL
3563 typename enable_if_c<
3564 is_vec<V>::value && vec_traits<V>::dim>=3,
3565 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3566 YZX( V const & a )
3567 {
3568 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3569 }
3570 template <class V>
3571 BOOST_QVM_INLINE_TRIVIAL
3572 typename enable_if_c<
3573 is_vec<V>::value && vec_traits<V>::dim>=3,
3574 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
3575 YZX( V & a )
3576 {
3577 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3578 }
3579 template <class V>
3580 BOOST_QVM_INLINE_TRIVIAL
3581 typename enable_if_c<
3582 is_vec<V>::value && vec_traits<V>::dim>=3,
3583 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
3584 XZX( V const & a )
3585 {
3586 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3587 }
3588 template <class V>
3589 BOOST_QVM_INLINE_TRIVIAL
3590 typename enable_if_c<
3591 is_vec<V>::value && vec_traits<V>::dim>=3,
3592 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
3593 XZX( V & a )
3594 {
3595 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
3596 }
3597 template <class V>
3598 BOOST_QVM_INLINE_TRIVIAL
3599 typename enable_if_c<
3600 is_vec<V>::value && vec_traits<V>::dim>=2,
3601 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3602 _1YX( V const & a )
3603 {
3604 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3605 }
3606 template <class V>
3607 BOOST_QVM_INLINE_TRIVIAL
3608 typename enable_if_c<
3609 is_vec<V>::value && vec_traits<V>::dim>=2,
3610 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
3611 _1YX( V & a )
3612 {
3613 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3614 }
3615 template <class V>
3616 BOOST_QVM_INLINE_TRIVIAL
3617 typename enable_if_c<
3618 is_vec<V>::value && vec_traits<V>::dim>=2,
3619 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3620 _0YX( V const & a )
3621 {
3622 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3623 }
3624 template <class V>
3625 BOOST_QVM_INLINE_TRIVIAL
3626 typename enable_if_c<
3627 is_vec<V>::value && vec_traits<V>::dim>=2,
3628 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
3629 _0YX( V & a )
3630 {
3631 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3632 }
3633 template <class V>
3634 BOOST_QVM_INLINE_TRIVIAL
3635 typename enable_if_c<
3636 is_vec<V>::value && vec_traits<V>::dim>=4,
3637 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3638 WYX( V const & a )
3639 {
3640 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3641 }
3642 template <class V>
3643 BOOST_QVM_INLINE_TRIVIAL
3644 typename enable_if_c<
3645 is_vec<V>::value && vec_traits<V>::dim>=4,
3646 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
3647 WYX( V & a )
3648 {
3649 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3650 }
3651 template <class V>
3652 BOOST_QVM_INLINE_TRIVIAL
3653 typename enable_if_c<
3654 is_vec<V>::value && vec_traits<V>::dim>=3,
3655 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3656 ZYX( V const & a )
3657 {
3658 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3659 }
3660 template <class V>
3661 BOOST_QVM_INLINE_TRIVIAL
3662 typename enable_if_c<
3663 is_vec<V>::value && vec_traits<V>::dim>=3,
3664 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
3665 ZYX( V & a )
3666 {
3667 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3668 }
3669 template <class V>
3670 BOOST_QVM_INLINE_TRIVIAL
3671 typename enable_if_c<
3672 is_vec<V>::value && vec_traits<V>::dim>=2,
3673 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3674 YYX( V const & a )
3675 {
3676 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3677 }
3678 template <class V>
3679 BOOST_QVM_INLINE_TRIVIAL
3680 typename enable_if_c<
3681 is_vec<V>::value && vec_traits<V>::dim>=2,
3682 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
3683 YYX( V & a )
3684 {
3685 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3686 }
3687 template <class V>
3688 BOOST_QVM_INLINE_TRIVIAL
3689 typename enable_if_c<
3690 is_vec<V>::value && vec_traits<V>::dim>=2,
3691 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
3692 XYX( V const & a )
3693 {
3694 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3695 }
3696 template <class V>
3697 BOOST_QVM_INLINE_TRIVIAL
3698 typename enable_if_c<
3699 is_vec<V>::value && vec_traits<V>::dim>=2,
3700 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
3701 XYX( V & a )
3702 {
3703 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
3704 }
3705 template <class V>
3706 BOOST_QVM_INLINE_TRIVIAL
3707 typename enable_if_c<
3708 is_vec<V>::value && vec_traits<V>::dim>=1,
3709 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
3710 _1XX( V const & a )
3711 {
3712 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3713 }
3714 template <class V>
3715 BOOST_QVM_INLINE_TRIVIAL
3716 typename enable_if_c<
3717 is_vec<V>::value && vec_traits<V>::dim>=1,
3718 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
3719 _1XX( V & a )
3720 {
3721 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
3722 }
3723 template <class V>
3724 BOOST_QVM_INLINE_TRIVIAL
3725 typename enable_if_c<
3726 is_vec<V>::value && vec_traits<V>::dim>=1,
3727 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
3728 _0XX( V const & a )
3729 {
3730 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3731 }
3732 template <class V>
3733 BOOST_QVM_INLINE_TRIVIAL
3734 typename enable_if_c<
3735 is_vec<V>::value && vec_traits<V>::dim>=1,
3736 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
3737 _0XX( V & a )
3738 {
3739 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
3740 }
3741 template <class V>
3742 BOOST_QVM_INLINE_TRIVIAL
3743 typename enable_if_c<
3744 is_vec<V>::value && vec_traits<V>::dim>=4,
3745 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
3746 WXX( V const & a )
3747 {
3748 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3749 }
3750 template <class V>
3751 BOOST_QVM_INLINE_TRIVIAL
3752 typename enable_if_c<
3753 is_vec<V>::value && vec_traits<V>::dim>=4,
3754 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
3755 WXX( V & a )
3756 {
3757 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
3758 }
3759 template <class V>
3760 BOOST_QVM_INLINE_TRIVIAL
3761 typename enable_if_c<
3762 is_vec<V>::value && vec_traits<V>::dim>=3,
3763 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
3764 ZXX( V const & a )
3765 {
3766 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3767 }
3768 template <class V>
3769 BOOST_QVM_INLINE_TRIVIAL
3770 typename enable_if_c<
3771 is_vec<V>::value && vec_traits<V>::dim>=3,
3772 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
3773 ZXX( V & a )
3774 {
3775 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
3776 }
3777 template <class V>
3778 BOOST_QVM_INLINE_TRIVIAL
3779 typename enable_if_c<
3780 is_vec<V>::value && vec_traits<V>::dim>=2,
3781 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
3782 YXX( V const & a )
3783 {
3784 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3785 }
3786 template <class V>
3787 BOOST_QVM_INLINE_TRIVIAL
3788 typename enable_if_c<
3789 is_vec<V>::value && vec_traits<V>::dim>=2,
3790 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
3791 YXX( V & a )
3792 {
3793 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
3794 }
3795 template <class V>
3796 BOOST_QVM_INLINE_TRIVIAL
3797 typename enable_if_c<
3798 is_vec<V>::value && vec_traits<V>::dim>=1,
3799 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
3800 XXX( V const & a )
3801 {
3802 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
3803 }
3804 template <class V>
3805 BOOST_QVM_INLINE_TRIVIAL
3806 typename enable_if_c<
3807 is_vec<V>::value && vec_traits<V>::dim>=1,
3808 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
3809 XXX( V & a )
3810 {
3811 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
3812 }
3813 }
3814 }
3815
3816 #endif