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