]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/qvm/gen/swizzle3.hpp
bump version to 18.2.2-pve1
[ceph.git] / ceph / src / boost / boost / qvm / gen / swizzle3.hpp
1 #ifndef BOOST_QVM_GEN_SWIZZLE3_HPP_INCLUDED
2 #define BOOST_QVM_GEN_SWIZZLE3_HPP_INCLUDED
3
4 // Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc.
5
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)
8
9 // This file was generated by a program. Do not edit manually.
10
11 #include <boost/qvm/detail/swizzle_traits.hpp>
12 #include <boost/qvm/enable_if.hpp>
13 #include <boost/qvm/inline.hpp>
14
15 namespace boost { namespace qvm {
16
17 BOOST_QVM_INLINE_TRIVIAL
18 qvm_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 }
23 BOOST_QVM_INLINE_TRIVIAL
24 qvm_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 }
29 template <class V>
30 BOOST_QVM_INLINE_TRIVIAL
31 typename 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
34 W11( 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 }
38 template <class V>
39 BOOST_QVM_INLINE_TRIVIAL
40 typename 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
43 W11( 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 }
47 template <class V>
48 BOOST_QVM_INLINE_TRIVIAL
49 typename 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
52 Z11( 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 }
56 template <class V>
57 BOOST_QVM_INLINE_TRIVIAL
58 typename 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
61 Z11( 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 }
65 template <class V>
66 BOOST_QVM_INLINE_TRIVIAL
67 typename 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
70 Y11( 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 }
74 template <class V>
75 BOOST_QVM_INLINE_TRIVIAL
76 typename 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
79 Y11( 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 }
83 template <class V>
84 BOOST_QVM_INLINE_TRIVIAL
85 typename 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
88 X11( 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 }
92 template <class S>
93 BOOST_QVM_INLINE_TRIVIAL
94 typename 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
97 X11( 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 }
101 template <class V>
102 BOOST_QVM_INLINE_TRIVIAL
103 typename 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
106 X11( 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 }
110 template <class S>
111 BOOST_QVM_INLINE_TRIVIAL
112 typename 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
115 X11( 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 }
119 BOOST_QVM_INLINE_TRIVIAL
120 qvm_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 }
125 BOOST_QVM_INLINE_TRIVIAL
126 qvm_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 }
131 template <class V>
132 BOOST_QVM_INLINE_TRIVIAL
133 typename 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
136 W01( 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 }
140 template <class V>
141 BOOST_QVM_INLINE_TRIVIAL
142 typename 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
145 W01( 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 }
149 template <class V>
150 BOOST_QVM_INLINE_TRIVIAL
151 typename 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
154 Z01( 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 }
158 template <class V>
159 BOOST_QVM_INLINE_TRIVIAL
160 typename 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
163 Z01( 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 }
167 template <class V>
168 BOOST_QVM_INLINE_TRIVIAL
169 typename 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
172 Y01( 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 }
176 template <class V>
177 BOOST_QVM_INLINE_TRIVIAL
178 typename 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
181 Y01( 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 }
185 template <class V>
186 BOOST_QVM_INLINE_TRIVIAL
187 typename 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
190 X01( 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 }
194 template <class S>
195 BOOST_QVM_INLINE_TRIVIAL
196 typename 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
199 X01( 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 }
203 template <class V>
204 BOOST_QVM_INLINE_TRIVIAL
205 typename 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
208 X01( 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 }
212 template <class S>
213 BOOST_QVM_INLINE_TRIVIAL
214 typename 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
217 X01( 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 }
221 template <class V>
222 BOOST_QVM_INLINE_TRIVIAL
223 typename 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 }
230 template <class V>
231 BOOST_QVM_INLINE_TRIVIAL
232 typename 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 }
239 template <class V>
240 BOOST_QVM_INLINE_TRIVIAL
241 typename 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 }
248 template <class V>
249 BOOST_QVM_INLINE_TRIVIAL
250 typename 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 }
257 template <class V>
258 BOOST_QVM_INLINE_TRIVIAL
259 typename 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
262 WW1( 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 }
266 template <class V>
267 BOOST_QVM_INLINE_TRIVIAL
268 typename 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
271 WW1( 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 }
275 template <class V>
276 BOOST_QVM_INLINE_TRIVIAL
277 typename 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
280 ZW1( 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 }
284 template <class V>
285 BOOST_QVM_INLINE_TRIVIAL
286 typename 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
289 ZW1( 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 }
293 template <class V>
294 BOOST_QVM_INLINE_TRIVIAL
295 typename 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
298 YW1( 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 }
302 template <class V>
303 BOOST_QVM_INLINE_TRIVIAL
304 typename 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
307 YW1( 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 }
311 template <class V>
312 BOOST_QVM_INLINE_TRIVIAL
313 typename 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
316 XW1( 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 }
320 template <class V>
321 BOOST_QVM_INLINE_TRIVIAL
322 typename 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
325 XW1( 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 }
329 template <class V>
330 BOOST_QVM_INLINE_TRIVIAL
331 typename 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 }
338 template <class V>
339 BOOST_QVM_INLINE_TRIVIAL
340 typename 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 }
347 template <class V>
348 BOOST_QVM_INLINE_TRIVIAL
349 typename 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 }
356 template <class V>
357 BOOST_QVM_INLINE_TRIVIAL
358 typename 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 }
365 template <class V>
366 BOOST_QVM_INLINE_TRIVIAL
367 typename 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
370 WZ1( 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 }
374 template <class V>
375 BOOST_QVM_INLINE_TRIVIAL
376 typename 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
379 WZ1( 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 }
383 template <class V>
384 BOOST_QVM_INLINE_TRIVIAL
385 typename 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
388 ZZ1( 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 }
392 template <class V>
393 BOOST_QVM_INLINE_TRIVIAL
394 typename 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
397 ZZ1( 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 }
401 template <class V>
402 BOOST_QVM_INLINE_TRIVIAL
403 typename 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
406 YZ1( 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 }
410 template <class V>
411 BOOST_QVM_INLINE_TRIVIAL
412 typename 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
415 YZ1( 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 }
419 template <class V>
420 BOOST_QVM_INLINE_TRIVIAL
421 typename 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
424 XZ1( 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 }
428 template <class V>
429 BOOST_QVM_INLINE_TRIVIAL
430 typename 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
433 XZ1( 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 }
437 template <class V>
438 BOOST_QVM_INLINE_TRIVIAL
439 typename 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 }
446 template <class V>
447 BOOST_QVM_INLINE_TRIVIAL
448 typename 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 }
455 template <class V>
456 BOOST_QVM_INLINE_TRIVIAL
457 typename 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 }
464 template <class V>
465 BOOST_QVM_INLINE_TRIVIAL
466 typename 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 }
473 template <class V>
474 BOOST_QVM_INLINE_TRIVIAL
475 typename 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
478 WY1( 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 }
482 template <class V>
483 BOOST_QVM_INLINE_TRIVIAL
484 typename 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
487 WY1( 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 }
491 template <class V>
492 BOOST_QVM_INLINE_TRIVIAL
493 typename 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
496 ZY1( 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 }
500 template <class V>
501 BOOST_QVM_INLINE_TRIVIAL
502 typename 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
505 ZY1( 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 }
509 template <class V>
510 BOOST_QVM_INLINE_TRIVIAL
511 typename 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
514 YY1( 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 }
518 template <class V>
519 BOOST_QVM_INLINE_TRIVIAL
520 typename 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
523 YY1( 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 }
527 template <class V>
528 BOOST_QVM_INLINE_TRIVIAL
529 typename 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
532 XY1( 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 }
536 template <class V>
537 BOOST_QVM_INLINE_TRIVIAL
538 typename 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
541 XY1( 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 }
545 template <class V>
546 BOOST_QVM_INLINE_TRIVIAL
547 typename 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 }
554 template <class S>
555 BOOST_QVM_INLINE_TRIVIAL
556 typename 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 }
563 template <class V>
564 BOOST_QVM_INLINE_TRIVIAL
565 typename 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 }
572 template <class S>
573 BOOST_QVM_INLINE_TRIVIAL
574 typename 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 }
581 template <class V>
582 BOOST_QVM_INLINE_TRIVIAL
583 typename 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 }
590 template <class S>
591 BOOST_QVM_INLINE_TRIVIAL
592 typename 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 }
599 template <class V>
600 BOOST_QVM_INLINE_TRIVIAL
601 typename 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 }
608 template <class S>
609 BOOST_QVM_INLINE_TRIVIAL
610 typename 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 }
617 template <class V>
618 BOOST_QVM_INLINE_TRIVIAL
619 typename 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
622 WX1( 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 }
626 template <class V>
627 BOOST_QVM_INLINE_TRIVIAL
628 typename 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
631 WX1( 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 }
635 template <class V>
636 BOOST_QVM_INLINE_TRIVIAL
637 typename 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
640 ZX1( 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 }
644 template <class V>
645 BOOST_QVM_INLINE_TRIVIAL
646 typename 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
649 ZX1( 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 }
653 template <class V>
654 BOOST_QVM_INLINE_TRIVIAL
655 typename 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
658 YX1( 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 }
662 template <class V>
663 BOOST_QVM_INLINE_TRIVIAL
664 typename 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
667 YX1( 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 }
671 template <class V>
672 BOOST_QVM_INLINE_TRIVIAL
673 typename 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
676 XX1( 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 }
680 template <class S>
681 BOOST_QVM_INLINE_TRIVIAL
682 typename 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
685 XX1( 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 }
689 template <class V>
690 BOOST_QVM_INLINE_TRIVIAL
691 typename 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
694 XX1( 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 }
698 template <class S>
699 BOOST_QVM_INLINE_TRIVIAL
700 typename 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
703 XX1( 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 }
707 BOOST_QVM_INLINE_TRIVIAL
708 qvm_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 }
713 BOOST_QVM_INLINE_TRIVIAL
714 qvm_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 }
719 template <class V>
720 BOOST_QVM_INLINE_TRIVIAL
721 typename 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
724 W10( 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 }
728 template <class V>
729 BOOST_QVM_INLINE_TRIVIAL
730 typename 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
733 W10( 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 }
737 template <class V>
738 BOOST_QVM_INLINE_TRIVIAL
739 typename 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
742 Z10( 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 }
746 template <class V>
747 BOOST_QVM_INLINE_TRIVIAL
748 typename 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
751 Z10( 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 }
755 template <class V>
756 BOOST_QVM_INLINE_TRIVIAL
757 typename 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
760 Y10( 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 }
764 template <class V>
765 BOOST_QVM_INLINE_TRIVIAL
766 typename 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
769 Y10( 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 }
773 template <class V>
774 BOOST_QVM_INLINE_TRIVIAL
775 typename 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
778 X10( 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 }
782 template <class S>
783 BOOST_QVM_INLINE_TRIVIAL
784 typename 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
787 X10( 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 }
791 template <class V>
792 BOOST_QVM_INLINE_TRIVIAL
793 typename 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
796 X10( 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 }
800 template <class S>
801 BOOST_QVM_INLINE_TRIVIAL
802 typename 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
805 X10( 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 }
809 BOOST_QVM_INLINE_TRIVIAL
810 qvm_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 }
815 BOOST_QVM_INLINE_TRIVIAL
816 qvm_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 }
821 template <class V>
822 BOOST_QVM_INLINE_TRIVIAL
823 typename 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
826 W00( 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 }
830 template <class V>
831 BOOST_QVM_INLINE_TRIVIAL
832 typename 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
835 W00( 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 }
839 template <class V>
840 BOOST_QVM_INLINE_TRIVIAL
841 typename 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
844 Z00( 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 }
848 template <class V>
849 BOOST_QVM_INLINE_TRIVIAL
850 typename 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
853 Z00( 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 }
857 template <class V>
858 BOOST_QVM_INLINE_TRIVIAL
859 typename 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
862 Y00( 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 }
866 template <class V>
867 BOOST_QVM_INLINE_TRIVIAL
868 typename 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
871 Y00( 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 }
875 template <class V>
876 BOOST_QVM_INLINE_TRIVIAL
877 typename 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
880 X00( 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 }
884 template <class S>
885 BOOST_QVM_INLINE_TRIVIAL
886 typename 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
889 X00( 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 }
893 template <class V>
894 BOOST_QVM_INLINE_TRIVIAL
895 typename 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
898 X00( 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 }
902 template <class S>
903 BOOST_QVM_INLINE_TRIVIAL
904 typename 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
907 X00( 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 }
911 template <class V>
912 BOOST_QVM_INLINE_TRIVIAL
913 typename 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 }
920 template <class V>
921 BOOST_QVM_INLINE_TRIVIAL
922 typename 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 }
929 template <class V>
930 BOOST_QVM_INLINE_TRIVIAL
931 typename 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 }
938 template <class V>
939 BOOST_QVM_INLINE_TRIVIAL
940 typename 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 }
947 template <class V>
948 BOOST_QVM_INLINE_TRIVIAL
949 typename 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
952 WW0( 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 }
956 template <class V>
957 BOOST_QVM_INLINE_TRIVIAL
958 typename 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
961 WW0( 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 }
965 template <class V>
966 BOOST_QVM_INLINE_TRIVIAL
967 typename 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
970 ZW0( 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 }
974 template <class V>
975 BOOST_QVM_INLINE_TRIVIAL
976 typename 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
979 ZW0( 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 }
983 template <class V>
984 BOOST_QVM_INLINE_TRIVIAL
985 typename 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
988 YW0( 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 }
992 template <class V>
993 BOOST_QVM_INLINE_TRIVIAL
994 typename 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
997 YW0( 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 }
1001 template <class V>
1002 BOOST_QVM_INLINE_TRIVIAL
1003 typename 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
1006 XW0( 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 }
1010 template <class V>
1011 BOOST_QVM_INLINE_TRIVIAL
1012 typename 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
1015 XW0( 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 }
1019 template <class V>
1020 BOOST_QVM_INLINE_TRIVIAL
1021 typename 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 }
1028 template <class V>
1029 BOOST_QVM_INLINE_TRIVIAL
1030 typename 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 }
1037 template <class V>
1038 BOOST_QVM_INLINE_TRIVIAL
1039 typename 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 }
1046 template <class V>
1047 BOOST_QVM_INLINE_TRIVIAL
1048 typename 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 }
1055 template <class V>
1056 BOOST_QVM_INLINE_TRIVIAL
1057 typename 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
1060 WZ0( 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 }
1064 template <class V>
1065 BOOST_QVM_INLINE_TRIVIAL
1066 typename 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
1069 WZ0( 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 }
1073 template <class V>
1074 BOOST_QVM_INLINE_TRIVIAL
1075 typename 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
1078 ZZ0( 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 }
1082 template <class V>
1083 BOOST_QVM_INLINE_TRIVIAL
1084 typename 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
1087 ZZ0( 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 }
1091 template <class V>
1092 BOOST_QVM_INLINE_TRIVIAL
1093 typename 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
1096 YZ0( 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 }
1100 template <class V>
1101 BOOST_QVM_INLINE_TRIVIAL
1102 typename 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
1105 YZ0( 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 }
1109 template <class V>
1110 BOOST_QVM_INLINE_TRIVIAL
1111 typename 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
1114 XZ0( 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 }
1118 template <class V>
1119 BOOST_QVM_INLINE_TRIVIAL
1120 typename 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
1123 XZ0( 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 }
1127 template <class V>
1128 BOOST_QVM_INLINE_TRIVIAL
1129 typename 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 }
1136 template <class V>
1137 BOOST_QVM_INLINE_TRIVIAL
1138 typename 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 }
1145 template <class V>
1146 BOOST_QVM_INLINE_TRIVIAL
1147 typename 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 }
1154 template <class V>
1155 BOOST_QVM_INLINE_TRIVIAL
1156 typename 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 }
1163 template <class V>
1164 BOOST_QVM_INLINE_TRIVIAL
1165 typename 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
1168 WY0( 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 }
1172 template <class V>
1173 BOOST_QVM_INLINE_TRIVIAL
1174 typename 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
1177 WY0( 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 }
1181 template <class V>
1182 BOOST_QVM_INLINE_TRIVIAL
1183 typename 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
1186 ZY0( 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 }
1190 template <class V>
1191 BOOST_QVM_INLINE_TRIVIAL
1192 typename 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
1195 ZY0( 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 }
1199 template <class V>
1200 BOOST_QVM_INLINE_TRIVIAL
1201 typename 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
1204 YY0( 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 }
1208 template <class V>
1209 BOOST_QVM_INLINE_TRIVIAL
1210 typename 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
1213 YY0( 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 }
1217 template <class V>
1218 BOOST_QVM_INLINE_TRIVIAL
1219 typename 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
1222 XY0( 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 }
1226 template <class V>
1227 BOOST_QVM_INLINE_TRIVIAL
1228 typename 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
1231 XY0( 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 }
1235 template <class V>
1236 BOOST_QVM_INLINE_TRIVIAL
1237 typename 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 }
1244 template <class S>
1245 BOOST_QVM_INLINE_TRIVIAL
1246 typename 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 }
1253 template <class V>
1254 BOOST_QVM_INLINE_TRIVIAL
1255 typename 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 }
1262 template <class S>
1263 BOOST_QVM_INLINE_TRIVIAL
1264 typename 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 }
1271 template <class V>
1272 BOOST_QVM_INLINE_TRIVIAL
1273 typename 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 }
1280 template <class S>
1281 BOOST_QVM_INLINE_TRIVIAL
1282 typename 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 }
1289 template <class V>
1290 BOOST_QVM_INLINE_TRIVIAL
1291 typename 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 }
1298 template <class S>
1299 BOOST_QVM_INLINE_TRIVIAL
1300 typename 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 }
1307 template <class V>
1308 BOOST_QVM_INLINE_TRIVIAL
1309 typename 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
1312 WX0( 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 }
1316 template <class V>
1317 BOOST_QVM_INLINE_TRIVIAL
1318 typename 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
1321 WX0( 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 }
1325 template <class V>
1326 BOOST_QVM_INLINE_TRIVIAL
1327 typename 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
1330 ZX0( 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 }
1334 template <class V>
1335 BOOST_QVM_INLINE_TRIVIAL
1336 typename 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
1339 ZX0( 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 }
1343 template <class V>
1344 BOOST_QVM_INLINE_TRIVIAL
1345 typename 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
1348 YX0( 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 }
1352 template <class V>
1353 BOOST_QVM_INLINE_TRIVIAL
1354 typename 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
1357 YX0( 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 }
1361 template <class V>
1362 BOOST_QVM_INLINE_TRIVIAL
1363 typename 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
1366 XX0( 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 }
1370 template <class S>
1371 BOOST_QVM_INLINE_TRIVIAL
1372 typename 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
1375 XX0( 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 }
1379 template <class V>
1380 BOOST_QVM_INLINE_TRIVIAL
1381 typename 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
1384 XX0( 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 }
1388 template <class S>
1389 BOOST_QVM_INLINE_TRIVIAL
1390 typename 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
1393 XX0( 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 }
1397 template <class V>
1398 BOOST_QVM_INLINE_TRIVIAL
1399 typename 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 }
1406 template <class V>
1407 BOOST_QVM_INLINE_TRIVIAL
1408 typename 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 }
1415 template <class V>
1416 BOOST_QVM_INLINE_TRIVIAL
1417 typename 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 }
1424 template <class V>
1425 BOOST_QVM_INLINE_TRIVIAL
1426 typename 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 }
1433 template <class V>
1434 BOOST_QVM_INLINE_TRIVIAL
1435 typename 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
1438 W1W( 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 }
1442 template <class V>
1443 BOOST_QVM_INLINE_TRIVIAL
1444 typename 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
1447 W1W( 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 }
1451 template <class V>
1452 BOOST_QVM_INLINE_TRIVIAL
1453 typename 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
1456 Z1W( 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 }
1460 template <class V>
1461 BOOST_QVM_INLINE_TRIVIAL
1462 typename 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
1465 Z1W( 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 }
1469 template <class V>
1470 BOOST_QVM_INLINE_TRIVIAL
1471 typename 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
1474 Y1W( 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 }
1478 template <class V>
1479 BOOST_QVM_INLINE_TRIVIAL
1480 typename 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
1483 Y1W( 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 }
1487 template <class V>
1488 BOOST_QVM_INLINE_TRIVIAL
1489 typename 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
1492 X1W( 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 }
1496 template <class V>
1497 BOOST_QVM_INLINE_TRIVIAL
1498 typename 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
1501 X1W( 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 }
1505 template <class V>
1506 BOOST_QVM_INLINE_TRIVIAL
1507 typename 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 }
1514 template <class V>
1515 BOOST_QVM_INLINE_TRIVIAL
1516 typename 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 }
1523 template <class V>
1524 BOOST_QVM_INLINE_TRIVIAL
1525 typename 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 }
1532 template <class V>
1533 BOOST_QVM_INLINE_TRIVIAL
1534 typename 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 }
1541 template <class V>
1542 BOOST_QVM_INLINE_TRIVIAL
1543 typename 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
1546 W0W( 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 }
1550 template <class V>
1551 BOOST_QVM_INLINE_TRIVIAL
1552 typename 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
1555 W0W( 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 }
1559 template <class V>
1560 BOOST_QVM_INLINE_TRIVIAL
1561 typename 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
1564 Z0W( 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 }
1568 template <class V>
1569 BOOST_QVM_INLINE_TRIVIAL
1570 typename 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
1573 Z0W( 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 }
1577 template <class V>
1578 BOOST_QVM_INLINE_TRIVIAL
1579 typename 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
1582 Y0W( 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 }
1586 template <class V>
1587 BOOST_QVM_INLINE_TRIVIAL
1588 typename 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
1591 Y0W( 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 }
1595 template <class V>
1596 BOOST_QVM_INLINE_TRIVIAL
1597 typename 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
1600 X0W( 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 }
1604 template <class V>
1605 BOOST_QVM_INLINE_TRIVIAL
1606 typename 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
1609 X0W( 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 }
1613 template <class V>
1614 BOOST_QVM_INLINE_TRIVIAL
1615 typename 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 }
1622 template <class V>
1623 BOOST_QVM_INLINE_TRIVIAL
1624 typename 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 }
1631 template <class V>
1632 BOOST_QVM_INLINE_TRIVIAL
1633 typename 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 }
1640 template <class V>
1641 BOOST_QVM_INLINE_TRIVIAL
1642 typename 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 }
1649 template <class V>
1650 BOOST_QVM_INLINE_TRIVIAL
1651 typename 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
1654 WWW( 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 }
1658 template <class V>
1659 BOOST_QVM_INLINE_TRIVIAL
1660 typename 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
1663 WWW( 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 }
1667 template <class V>
1668 BOOST_QVM_INLINE_TRIVIAL
1669 typename 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
1672 ZWW( 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 }
1676 template <class V>
1677 BOOST_QVM_INLINE_TRIVIAL
1678 typename 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
1681 ZWW( 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 }
1685 template <class V>
1686 BOOST_QVM_INLINE_TRIVIAL
1687 typename 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
1690 YWW( 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 }
1694 template <class V>
1695 BOOST_QVM_INLINE_TRIVIAL
1696 typename 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
1699 YWW( 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 }
1703 template <class V>
1704 BOOST_QVM_INLINE_TRIVIAL
1705 typename 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
1708 XWW( 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 }
1712 template <class V>
1713 BOOST_QVM_INLINE_TRIVIAL
1714 typename 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
1717 XWW( 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 }
1721 template <class V>
1722 BOOST_QVM_INLINE_TRIVIAL
1723 typename 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 }
1730 template <class V>
1731 BOOST_QVM_INLINE_TRIVIAL
1732 typename 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 }
1739 template <class V>
1740 BOOST_QVM_INLINE_TRIVIAL
1741 typename 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 }
1748 template <class V>
1749 BOOST_QVM_INLINE_TRIVIAL
1750 typename 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 }
1757 template <class V>
1758 BOOST_QVM_INLINE_TRIVIAL
1759 typename 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
1762 WZW( 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 }
1766 template <class V>
1767 BOOST_QVM_INLINE_TRIVIAL
1768 typename 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
1771 WZW( 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 }
1775 template <class V>
1776 BOOST_QVM_INLINE_TRIVIAL
1777 typename 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
1780 ZZW( 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 }
1784 template <class V>
1785 BOOST_QVM_INLINE_TRIVIAL
1786 typename 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
1789 ZZW( 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 }
1793 template <class V>
1794 BOOST_QVM_INLINE_TRIVIAL
1795 typename 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
1798 YZW( 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 }
1802 template <class V>
1803 BOOST_QVM_INLINE_TRIVIAL
1804 typename 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
1807 YZW( 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 }
1811 template <class V>
1812 BOOST_QVM_INLINE_TRIVIAL
1813 typename 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
1816 XZW( 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 }
1820 template <class V>
1821 BOOST_QVM_INLINE_TRIVIAL
1822 typename 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
1825 XZW( 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 }
1829 template <class V>
1830 BOOST_QVM_INLINE_TRIVIAL
1831 typename 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 }
1838 template <class V>
1839 BOOST_QVM_INLINE_TRIVIAL
1840 typename 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 }
1847 template <class V>
1848 BOOST_QVM_INLINE_TRIVIAL
1849 typename 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 }
1856 template <class V>
1857 BOOST_QVM_INLINE_TRIVIAL
1858 typename 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 }
1865 template <class V>
1866 BOOST_QVM_INLINE_TRIVIAL
1867 typename 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
1870 WYW( 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 }
1874 template <class V>
1875 BOOST_QVM_INLINE_TRIVIAL
1876 typename 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
1879 WYW( 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 }
1883 template <class V>
1884 BOOST_QVM_INLINE_TRIVIAL
1885 typename 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
1888 ZYW( 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 }
1892 template <class V>
1893 BOOST_QVM_INLINE_TRIVIAL
1894 typename 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
1897 ZYW( 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 }
1901 template <class V>
1902 BOOST_QVM_INLINE_TRIVIAL
1903 typename 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
1906 YYW( 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 }
1910 template <class V>
1911 BOOST_QVM_INLINE_TRIVIAL
1912 typename 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
1915 YYW( 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 }
1919 template <class V>
1920 BOOST_QVM_INLINE_TRIVIAL
1921 typename 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
1924 XYW( 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 }
1928 template <class V>
1929 BOOST_QVM_INLINE_TRIVIAL
1930 typename 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
1933 XYW( 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 }
1937 template <class V>
1938 BOOST_QVM_INLINE_TRIVIAL
1939 typename 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 }
1946 template <class V>
1947 BOOST_QVM_INLINE_TRIVIAL
1948 typename 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 }
1955 template <class V>
1956 BOOST_QVM_INLINE_TRIVIAL
1957 typename 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 }
1964 template <class V>
1965 BOOST_QVM_INLINE_TRIVIAL
1966 typename 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 }
1973 template <class V>
1974 BOOST_QVM_INLINE_TRIVIAL
1975 typename 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
1978 WXW( 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 }
1982 template <class V>
1983 BOOST_QVM_INLINE_TRIVIAL
1984 typename 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
1987 WXW( 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 }
1991 template <class V>
1992 BOOST_QVM_INLINE_TRIVIAL
1993 typename 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
1996 ZXW( 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 }
2000 template <class V>
2001 BOOST_QVM_INLINE_TRIVIAL
2002 typename 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
2005 ZXW( 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 }
2009 template <class V>
2010 BOOST_QVM_INLINE_TRIVIAL
2011 typename 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
2014 YXW( 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 }
2018 template <class V>
2019 BOOST_QVM_INLINE_TRIVIAL
2020 typename 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
2023 YXW( 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 }
2027 template <class V>
2028 BOOST_QVM_INLINE_TRIVIAL
2029 typename 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
2032 XXW( 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 }
2036 template <class V>
2037 BOOST_QVM_INLINE_TRIVIAL
2038 typename 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
2041 XXW( 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 }
2045 template <class V>
2046 BOOST_QVM_INLINE_TRIVIAL
2047 typename 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 }
2054 template <class V>
2055 BOOST_QVM_INLINE_TRIVIAL
2056 typename 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 }
2063 template <class V>
2064 BOOST_QVM_INLINE_TRIVIAL
2065 typename 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 }
2072 template <class V>
2073 BOOST_QVM_INLINE_TRIVIAL
2074 typename 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 }
2081 template <class V>
2082 BOOST_QVM_INLINE_TRIVIAL
2083 typename 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
2086 W1Z( 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 }
2090 template <class V>
2091 BOOST_QVM_INLINE_TRIVIAL
2092 typename 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
2095 W1Z( 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 }
2099 template <class V>
2100 BOOST_QVM_INLINE_TRIVIAL
2101 typename 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
2104 Z1Z( 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 }
2108 template <class V>
2109 BOOST_QVM_INLINE_TRIVIAL
2110 typename 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
2113 Z1Z( 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 }
2117 template <class V>
2118 BOOST_QVM_INLINE_TRIVIAL
2119 typename 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
2122 Y1Z( 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 }
2126 template <class V>
2127 BOOST_QVM_INLINE_TRIVIAL
2128 typename 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
2131 Y1Z( 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 }
2135 template <class V>
2136 BOOST_QVM_INLINE_TRIVIAL
2137 typename 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
2140 X1Z( 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 }
2144 template <class V>
2145 BOOST_QVM_INLINE_TRIVIAL
2146 typename 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
2149 X1Z( 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 }
2153 template <class V>
2154 BOOST_QVM_INLINE_TRIVIAL
2155 typename 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 }
2162 template <class V>
2163 BOOST_QVM_INLINE_TRIVIAL
2164 typename 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 }
2171 template <class V>
2172 BOOST_QVM_INLINE_TRIVIAL
2173 typename 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 }
2180 template <class V>
2181 BOOST_QVM_INLINE_TRIVIAL
2182 typename 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 }
2189 template <class V>
2190 BOOST_QVM_INLINE_TRIVIAL
2191 typename 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
2194 W0Z( 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 }
2198 template <class V>
2199 BOOST_QVM_INLINE_TRIVIAL
2200 typename 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
2203 W0Z( 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 }
2207 template <class V>
2208 BOOST_QVM_INLINE_TRIVIAL
2209 typename 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
2212 Z0Z( 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 }
2216 template <class V>
2217 BOOST_QVM_INLINE_TRIVIAL
2218 typename 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
2221 Z0Z( 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 }
2225 template <class V>
2226 BOOST_QVM_INLINE_TRIVIAL
2227 typename 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
2230 Y0Z( 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 }
2234 template <class V>
2235 BOOST_QVM_INLINE_TRIVIAL
2236 typename 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
2239 Y0Z( 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 }
2243 template <class V>
2244 BOOST_QVM_INLINE_TRIVIAL
2245 typename 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
2248 X0Z( 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 }
2252 template <class V>
2253 BOOST_QVM_INLINE_TRIVIAL
2254 typename 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
2257 X0Z( 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 }
2261 template <class V>
2262 BOOST_QVM_INLINE_TRIVIAL
2263 typename 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 }
2270 template <class V>
2271 BOOST_QVM_INLINE_TRIVIAL
2272 typename 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 }
2279 template <class V>
2280 BOOST_QVM_INLINE_TRIVIAL
2281 typename 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 }
2288 template <class V>
2289 BOOST_QVM_INLINE_TRIVIAL
2290 typename 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 }
2297 template <class V>
2298 BOOST_QVM_INLINE_TRIVIAL
2299 typename 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
2302 WWZ( 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 }
2306 template <class V>
2307 BOOST_QVM_INLINE_TRIVIAL
2308 typename 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
2311 WWZ( 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 }
2315 template <class V>
2316 BOOST_QVM_INLINE_TRIVIAL
2317 typename 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
2320 ZWZ( 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 }
2324 template <class V>
2325 BOOST_QVM_INLINE_TRIVIAL
2326 typename 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
2329 ZWZ( 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 }
2333 template <class V>
2334 BOOST_QVM_INLINE_TRIVIAL
2335 typename 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
2338 YWZ( 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 }
2342 template <class V>
2343 BOOST_QVM_INLINE_TRIVIAL
2344 typename 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
2347 YWZ( 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 }
2351 template <class V>
2352 BOOST_QVM_INLINE_TRIVIAL
2353 typename 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
2356 XWZ( 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 }
2360 template <class V>
2361 BOOST_QVM_INLINE_TRIVIAL
2362 typename 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
2365 XWZ( 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 }
2369 template <class V>
2370 BOOST_QVM_INLINE_TRIVIAL
2371 typename 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 }
2378 template <class V>
2379 BOOST_QVM_INLINE_TRIVIAL
2380 typename 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 }
2387 template <class V>
2388 BOOST_QVM_INLINE_TRIVIAL
2389 typename 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 }
2396 template <class V>
2397 BOOST_QVM_INLINE_TRIVIAL
2398 typename 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 }
2405 template <class V>
2406 BOOST_QVM_INLINE_TRIVIAL
2407 typename 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
2410 WZZ( 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 }
2414 template <class V>
2415 BOOST_QVM_INLINE_TRIVIAL
2416 typename 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
2419 WZZ( 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 }
2423 template <class V>
2424 BOOST_QVM_INLINE_TRIVIAL
2425 typename 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
2428 ZZZ( 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 }
2432 template <class V>
2433 BOOST_QVM_INLINE_TRIVIAL
2434 typename 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
2437 ZZZ( 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 }
2441 template <class V>
2442 BOOST_QVM_INLINE_TRIVIAL
2443 typename 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
2446 YZZ( 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 }
2450 template <class V>
2451 BOOST_QVM_INLINE_TRIVIAL
2452 typename 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
2455 YZZ( 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 }
2459 template <class V>
2460 BOOST_QVM_INLINE_TRIVIAL
2461 typename 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
2464 XZZ( 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 }
2468 template <class V>
2469 BOOST_QVM_INLINE_TRIVIAL
2470 typename 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
2473 XZZ( 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 }
2477 template <class V>
2478 BOOST_QVM_INLINE_TRIVIAL
2479 typename 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 }
2486 template <class V>
2487 BOOST_QVM_INLINE_TRIVIAL
2488 typename 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 }
2495 template <class V>
2496 BOOST_QVM_INLINE_TRIVIAL
2497 typename 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 }
2504 template <class V>
2505 BOOST_QVM_INLINE_TRIVIAL
2506 typename 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 }
2513 template <class V>
2514 BOOST_QVM_INLINE_TRIVIAL
2515 typename 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
2518 WYZ( 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 }
2522 template <class V>
2523 BOOST_QVM_INLINE_TRIVIAL
2524 typename 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
2527 WYZ( 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 }
2531 template <class V>
2532 BOOST_QVM_INLINE_TRIVIAL
2533 typename 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
2536 ZYZ( 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 }
2540 template <class V>
2541 BOOST_QVM_INLINE_TRIVIAL
2542 typename 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
2545 ZYZ( 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 }
2549 template <class V>
2550 BOOST_QVM_INLINE_TRIVIAL
2551 typename 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
2554 YYZ( 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 }
2558 template <class V>
2559 BOOST_QVM_INLINE_TRIVIAL
2560 typename 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
2563 YYZ( 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 }
2567 template <class V>
2568 BOOST_QVM_INLINE_TRIVIAL
2569 typename 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
2572 XYZ( 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 }
2576 template <class V>
2577 BOOST_QVM_INLINE_TRIVIAL
2578 typename 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
2581 XYZ( 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 }
2585 template <class V>
2586 BOOST_QVM_INLINE_TRIVIAL
2587 typename 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 }
2594 template <class V>
2595 BOOST_QVM_INLINE_TRIVIAL
2596 typename 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 }
2603 template <class V>
2604 BOOST_QVM_INLINE_TRIVIAL
2605 typename 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 }
2612 template <class V>
2613 BOOST_QVM_INLINE_TRIVIAL
2614 typename 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 }
2621 template <class V>
2622 BOOST_QVM_INLINE_TRIVIAL
2623 typename 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
2626 WXZ( 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 }
2630 template <class V>
2631 BOOST_QVM_INLINE_TRIVIAL
2632 typename 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
2635 WXZ( 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 }
2639 template <class V>
2640 BOOST_QVM_INLINE_TRIVIAL
2641 typename 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
2644 ZXZ( 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 }
2648 template <class V>
2649 BOOST_QVM_INLINE_TRIVIAL
2650 typename 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
2653 ZXZ( 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 }
2657 template <class V>
2658 BOOST_QVM_INLINE_TRIVIAL
2659 typename 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
2662 YXZ( 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 }
2666 template <class V>
2667 BOOST_QVM_INLINE_TRIVIAL
2668 typename 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
2671 YXZ( 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 }
2675 template <class V>
2676 BOOST_QVM_INLINE_TRIVIAL
2677 typename 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
2680 XXZ( 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 }
2684 template <class V>
2685 BOOST_QVM_INLINE_TRIVIAL
2686 typename 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
2689 XXZ( 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 }
2693 template <class V>
2694 BOOST_QVM_INLINE_TRIVIAL
2695 typename 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 }
2702 template <class V>
2703 BOOST_QVM_INLINE_TRIVIAL
2704 typename 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 }
2711 template <class V>
2712 BOOST_QVM_INLINE_TRIVIAL
2713 typename 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 }
2720 template <class V>
2721 BOOST_QVM_INLINE_TRIVIAL
2722 typename 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 }
2729 template <class V>
2730 BOOST_QVM_INLINE_TRIVIAL
2731 typename 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
2734 W1Y( 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 }
2738 template <class V>
2739 BOOST_QVM_INLINE_TRIVIAL
2740 typename 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
2743 W1Y( 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 }
2747 template <class V>
2748 BOOST_QVM_INLINE_TRIVIAL
2749 typename 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
2752 Z1Y( 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 }
2756 template <class V>
2757 BOOST_QVM_INLINE_TRIVIAL
2758 typename 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
2761 Z1Y( 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 }
2765 template <class V>
2766 BOOST_QVM_INLINE_TRIVIAL
2767 typename 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
2770 Y1Y( 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 }
2774 template <class V>
2775 BOOST_QVM_INLINE_TRIVIAL
2776 typename 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
2779 Y1Y( 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 }
2783 template <class V>
2784 BOOST_QVM_INLINE_TRIVIAL
2785 typename 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
2788 X1Y( 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 }
2792 template <class V>
2793 BOOST_QVM_INLINE_TRIVIAL
2794 typename 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
2797 X1Y( 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 }
2801 template <class V>
2802 BOOST_QVM_INLINE_TRIVIAL
2803 typename 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 }
2810 template <class V>
2811 BOOST_QVM_INLINE_TRIVIAL
2812 typename 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 }
2819 template <class V>
2820 BOOST_QVM_INLINE_TRIVIAL
2821 typename 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 }
2828 template <class V>
2829 BOOST_QVM_INLINE_TRIVIAL
2830 typename 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 }
2837 template <class V>
2838 BOOST_QVM_INLINE_TRIVIAL
2839 typename 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
2842 W0Y( 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 }
2846 template <class V>
2847 BOOST_QVM_INLINE_TRIVIAL
2848 typename 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
2851 W0Y( 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 }
2855 template <class V>
2856 BOOST_QVM_INLINE_TRIVIAL
2857 typename 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
2860 Z0Y( 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 }
2864 template <class V>
2865 BOOST_QVM_INLINE_TRIVIAL
2866 typename 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
2869 Z0Y( 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 }
2873 template <class V>
2874 BOOST_QVM_INLINE_TRIVIAL
2875 typename 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
2878 Y0Y( 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 }
2882 template <class V>
2883 BOOST_QVM_INLINE_TRIVIAL
2884 typename 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
2887 Y0Y( 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 }
2891 template <class V>
2892 BOOST_QVM_INLINE_TRIVIAL
2893 typename 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
2896 X0Y( 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 }
2900 template <class V>
2901 BOOST_QVM_INLINE_TRIVIAL
2902 typename 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
2905 X0Y( 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 }
2909 template <class V>
2910 BOOST_QVM_INLINE_TRIVIAL
2911 typename 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 }
2918 template <class V>
2919 BOOST_QVM_INLINE_TRIVIAL
2920 typename 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 }
2927 template <class V>
2928 BOOST_QVM_INLINE_TRIVIAL
2929 typename 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 }
2936 template <class V>
2937 BOOST_QVM_INLINE_TRIVIAL
2938 typename 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 }
2945 template <class V>
2946 BOOST_QVM_INLINE_TRIVIAL
2947 typename 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
2950 WWY( 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 }
2954 template <class V>
2955 BOOST_QVM_INLINE_TRIVIAL
2956 typename 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
2959 WWY( 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 }
2963 template <class V>
2964 BOOST_QVM_INLINE_TRIVIAL
2965 typename 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
2968 ZWY( 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 }
2972 template <class V>
2973 BOOST_QVM_INLINE_TRIVIAL
2974 typename 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
2977 ZWY( 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 }
2981 template <class V>
2982 BOOST_QVM_INLINE_TRIVIAL
2983 typename 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
2986 YWY( 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 }
2990 template <class V>
2991 BOOST_QVM_INLINE_TRIVIAL
2992 typename 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
2995 YWY( 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 }
2999 template <class V>
3000 BOOST_QVM_INLINE_TRIVIAL
3001 typename 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
3004 XWY( 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 }
3008 template <class V>
3009 BOOST_QVM_INLINE_TRIVIAL
3010 typename 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
3013 XWY( 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 }
3017 template <class V>
3018 BOOST_QVM_INLINE_TRIVIAL
3019 typename 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 }
3026 template <class V>
3027 BOOST_QVM_INLINE_TRIVIAL
3028 typename 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 }
3035 template <class V>
3036 BOOST_QVM_INLINE_TRIVIAL
3037 typename 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 }
3044 template <class V>
3045 BOOST_QVM_INLINE_TRIVIAL
3046 typename 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 }
3053 template <class V>
3054 BOOST_QVM_INLINE_TRIVIAL
3055 typename 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
3058 WZY( 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 }
3062 template <class V>
3063 BOOST_QVM_INLINE_TRIVIAL
3064 typename 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
3067 WZY( 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 }
3071 template <class V>
3072 BOOST_QVM_INLINE_TRIVIAL
3073 typename 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
3076 ZZY( 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 }
3080 template <class V>
3081 BOOST_QVM_INLINE_TRIVIAL
3082 typename 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
3085 ZZY( 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 }
3089 template <class V>
3090 BOOST_QVM_INLINE_TRIVIAL
3091 typename 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
3094 YZY( 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 }
3098 template <class V>
3099 BOOST_QVM_INLINE_TRIVIAL
3100 typename 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
3103 YZY( 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 }
3107 template <class V>
3108 BOOST_QVM_INLINE_TRIVIAL
3109 typename 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
3112 XZY( 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 }
3116 template <class V>
3117 BOOST_QVM_INLINE_TRIVIAL
3118 typename 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
3121 XZY( 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 }
3125 template <class V>
3126 BOOST_QVM_INLINE_TRIVIAL
3127 typename 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 }
3134 template <class V>
3135 BOOST_QVM_INLINE_TRIVIAL
3136 typename 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 }
3143 template <class V>
3144 BOOST_QVM_INLINE_TRIVIAL
3145 typename 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 }
3152 template <class V>
3153 BOOST_QVM_INLINE_TRIVIAL
3154 typename 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 }
3161 template <class V>
3162 BOOST_QVM_INLINE_TRIVIAL
3163 typename 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
3166 WYY( 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 }
3170 template <class V>
3171 BOOST_QVM_INLINE_TRIVIAL
3172 typename 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
3175 WYY( 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 }
3179 template <class V>
3180 BOOST_QVM_INLINE_TRIVIAL
3181 typename 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
3184 ZYY( 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 }
3188 template <class V>
3189 BOOST_QVM_INLINE_TRIVIAL
3190 typename 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
3193 ZYY( 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 }
3197 template <class V>
3198 BOOST_QVM_INLINE_TRIVIAL
3199 typename 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
3202 YYY( 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 }
3206 template <class V>
3207 BOOST_QVM_INLINE_TRIVIAL
3208 typename 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
3211 YYY( 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 }
3215 template <class V>
3216 BOOST_QVM_INLINE_TRIVIAL
3217 typename 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
3220 XYY( 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 }
3224 template <class V>
3225 BOOST_QVM_INLINE_TRIVIAL
3226 typename 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
3229 XYY( 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 }
3233 template <class V>
3234 BOOST_QVM_INLINE_TRIVIAL
3235 typename 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 }
3242 template <class V>
3243 BOOST_QVM_INLINE_TRIVIAL
3244 typename 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 }
3251 template <class V>
3252 BOOST_QVM_INLINE_TRIVIAL
3253 typename 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 }
3260 template <class V>
3261 BOOST_QVM_INLINE_TRIVIAL
3262 typename 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 }
3269 template <class V>
3270 BOOST_QVM_INLINE_TRIVIAL
3271 typename 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
3274 WXY( 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 }
3278 template <class V>
3279 BOOST_QVM_INLINE_TRIVIAL
3280 typename 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
3283 WXY( 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 }
3287 template <class V>
3288 BOOST_QVM_INLINE_TRIVIAL
3289 typename 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
3292 ZXY( 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 }
3296 template <class V>
3297 BOOST_QVM_INLINE_TRIVIAL
3298 typename 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
3301 ZXY( 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 }
3305 template <class V>
3306 BOOST_QVM_INLINE_TRIVIAL
3307 typename 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
3310 YXY( 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 }
3314 template <class V>
3315 BOOST_QVM_INLINE_TRIVIAL
3316 typename 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
3319 YXY( 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 }
3323 template <class V>
3324 BOOST_QVM_INLINE_TRIVIAL
3325 typename 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
3328 XXY( 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 }
3332 template <class V>
3333 BOOST_QVM_INLINE_TRIVIAL
3334 typename 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
3337 XXY( 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 }
3341 template <class V>
3342 BOOST_QVM_INLINE_TRIVIAL
3343 typename 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 }
3350 template <class S>
3351 BOOST_QVM_INLINE_TRIVIAL
3352 typename 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 }
3359 template <class V>
3360 BOOST_QVM_INLINE_TRIVIAL
3361 typename 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 }
3368 template <class S>
3369 BOOST_QVM_INLINE_TRIVIAL
3370 typename 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 }
3377 template <class V>
3378 BOOST_QVM_INLINE_TRIVIAL
3379 typename 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 }
3386 template <class S>
3387 BOOST_QVM_INLINE_TRIVIAL
3388 typename 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 }
3395 template <class V>
3396 BOOST_QVM_INLINE_TRIVIAL
3397 typename 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 }
3404 template <class S>
3405 BOOST_QVM_INLINE_TRIVIAL
3406 typename 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 }
3413 template <class V>
3414 BOOST_QVM_INLINE_TRIVIAL
3415 typename 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
3418 W1X( 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 }
3422 template <class V>
3423 BOOST_QVM_INLINE_TRIVIAL
3424 typename 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
3427 W1X( 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 }
3431 template <class V>
3432 BOOST_QVM_INLINE_TRIVIAL
3433 typename 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
3436 Z1X( 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 }
3440 template <class V>
3441 BOOST_QVM_INLINE_TRIVIAL
3442 typename 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
3445 Z1X( 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 }
3449 template <class V>
3450 BOOST_QVM_INLINE_TRIVIAL
3451 typename 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
3454 Y1X( 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 }
3458 template <class V>
3459 BOOST_QVM_INLINE_TRIVIAL
3460 typename 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
3463 Y1X( 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 }
3467 template <class V>
3468 BOOST_QVM_INLINE_TRIVIAL
3469 typename 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
3472 X1X( 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 }
3476 template <class S>
3477 BOOST_QVM_INLINE_TRIVIAL
3478 typename 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
3481 X1X( 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 }
3485 template <class V>
3486 BOOST_QVM_INLINE_TRIVIAL
3487 typename 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
3490 X1X( 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 }
3494 template <class S>
3495 BOOST_QVM_INLINE_TRIVIAL
3496 typename 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
3499 X1X( 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 }
3503 template <class V>
3504 BOOST_QVM_INLINE_TRIVIAL
3505 typename 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 }
3512 template <class S>
3513 BOOST_QVM_INLINE_TRIVIAL
3514 typename 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 }
3521 template <class V>
3522 BOOST_QVM_INLINE_TRIVIAL
3523 typename 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 }
3530 template <class S>
3531 BOOST_QVM_INLINE_TRIVIAL
3532 typename 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 }
3539 template <class V>
3540 BOOST_QVM_INLINE_TRIVIAL
3541 typename 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 }
3548 template <class S>
3549 BOOST_QVM_INLINE_TRIVIAL
3550 typename 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 }
3557 template <class V>
3558 BOOST_QVM_INLINE_TRIVIAL
3559 typename 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 }
3566 template <class S>
3567 BOOST_QVM_INLINE_TRIVIAL
3568 typename 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 }
3575 template <class V>
3576 BOOST_QVM_INLINE_TRIVIAL
3577 typename 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
3580 W0X( 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 }
3584 template <class V>
3585 BOOST_QVM_INLINE_TRIVIAL
3586 typename 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
3589 W0X( 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 }
3593 template <class V>
3594 BOOST_QVM_INLINE_TRIVIAL
3595 typename 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
3598 Z0X( 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 }
3602 template <class V>
3603 BOOST_QVM_INLINE_TRIVIAL
3604 typename 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
3607 Z0X( 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 }
3611 template <class V>
3612 BOOST_QVM_INLINE_TRIVIAL
3613 typename 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
3616 Y0X( 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 }
3620 template <class V>
3621 BOOST_QVM_INLINE_TRIVIAL
3622 typename 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
3625 Y0X( 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 }
3629 template <class V>
3630 BOOST_QVM_INLINE_TRIVIAL
3631 typename 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
3634 X0X( 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 }
3638 template <class S>
3639 BOOST_QVM_INLINE_TRIVIAL
3640 typename 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
3643 X0X( 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 }
3647 template <class V>
3648 BOOST_QVM_INLINE_TRIVIAL
3649 typename 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
3652 X0X( 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 }
3656 template <class S>
3657 BOOST_QVM_INLINE_TRIVIAL
3658 typename 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
3661 X0X( 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 }
3665 template <class V>
3666 BOOST_QVM_INLINE_TRIVIAL
3667 typename 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 }
3674 template <class V>
3675 BOOST_QVM_INLINE_TRIVIAL
3676 typename 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 }
3683 template <class V>
3684 BOOST_QVM_INLINE_TRIVIAL
3685 typename 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 }
3692 template <class V>
3693 BOOST_QVM_INLINE_TRIVIAL
3694 typename 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 }
3701 template <class V>
3702 BOOST_QVM_INLINE_TRIVIAL
3703 typename 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
3706 WWX( 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 }
3710 template <class V>
3711 BOOST_QVM_INLINE_TRIVIAL
3712 typename 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
3715 WWX( 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 }
3719 template <class V>
3720 BOOST_QVM_INLINE_TRIVIAL
3721 typename 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
3724 ZWX( 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 }
3728 template <class V>
3729 BOOST_QVM_INLINE_TRIVIAL
3730 typename 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
3733 ZWX( 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 }
3737 template <class V>
3738 BOOST_QVM_INLINE_TRIVIAL
3739 typename 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
3742 YWX( 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 }
3746 template <class V>
3747 BOOST_QVM_INLINE_TRIVIAL
3748 typename 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
3751 YWX( 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 }
3755 template <class V>
3756 BOOST_QVM_INLINE_TRIVIAL
3757 typename 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
3760 XWX( 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 }
3764 template <class V>
3765 BOOST_QVM_INLINE_TRIVIAL
3766 typename 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
3769 XWX( 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 }
3773 template <class V>
3774 BOOST_QVM_INLINE_TRIVIAL
3775 typename 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 }
3782 template <class V>
3783 BOOST_QVM_INLINE_TRIVIAL
3784 typename 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 }
3791 template <class V>
3792 BOOST_QVM_INLINE_TRIVIAL
3793 typename 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 }
3800 template <class V>
3801 BOOST_QVM_INLINE_TRIVIAL
3802 typename 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 }
3809 template <class V>
3810 BOOST_QVM_INLINE_TRIVIAL
3811 typename 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
3814 WZX( 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 }
3818 template <class V>
3819 BOOST_QVM_INLINE_TRIVIAL
3820 typename 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
3823 WZX( 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 }
3827 template <class V>
3828 BOOST_QVM_INLINE_TRIVIAL
3829 typename 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
3832 ZZX( 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 }
3836 template <class V>
3837 BOOST_QVM_INLINE_TRIVIAL
3838 typename 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
3841 ZZX( 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 }
3845 template <class V>
3846 BOOST_QVM_INLINE_TRIVIAL
3847 typename 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
3850 YZX( 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 }
3854 template <class V>
3855 BOOST_QVM_INLINE_TRIVIAL
3856 typename 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
3859 YZX( 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 }
3863 template <class V>
3864 BOOST_QVM_INLINE_TRIVIAL
3865 typename 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
3868 XZX( 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 }
3872 template <class V>
3873 BOOST_QVM_INLINE_TRIVIAL
3874 typename 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
3877 XZX( 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 }
3881 template <class V>
3882 BOOST_QVM_INLINE_TRIVIAL
3883 typename 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 }
3890 template <class V>
3891 BOOST_QVM_INLINE_TRIVIAL
3892 typename 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 }
3899 template <class V>
3900 BOOST_QVM_INLINE_TRIVIAL
3901 typename 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 }
3908 template <class V>
3909 BOOST_QVM_INLINE_TRIVIAL
3910 typename 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 }
3917 template <class V>
3918 BOOST_QVM_INLINE_TRIVIAL
3919 typename 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
3922 WYX( 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 }
3926 template <class V>
3927 BOOST_QVM_INLINE_TRIVIAL
3928 typename 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
3931 WYX( 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 }
3935 template <class V>
3936 BOOST_QVM_INLINE_TRIVIAL
3937 typename 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
3940 ZYX( 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 }
3944 template <class V>
3945 BOOST_QVM_INLINE_TRIVIAL
3946 typename 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
3949 ZYX( 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 }
3953 template <class V>
3954 BOOST_QVM_INLINE_TRIVIAL
3955 typename 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
3958 YYX( 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 }
3962 template <class V>
3963 BOOST_QVM_INLINE_TRIVIAL
3964 typename 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
3967 YYX( 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 }
3971 template <class V>
3972 BOOST_QVM_INLINE_TRIVIAL
3973 typename 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
3976 XYX( 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 }
3980 template <class V>
3981 BOOST_QVM_INLINE_TRIVIAL
3982 typename 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
3985 XYX( 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 }
3989 template <class V>
3990 BOOST_QVM_INLINE_TRIVIAL
3991 typename 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 }
3998 template <class S>
3999 BOOST_QVM_INLINE_TRIVIAL
4000 typename 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 }
4007 template <class V>
4008 BOOST_QVM_INLINE_TRIVIAL
4009 typename 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 }
4016 template <class S>
4017 BOOST_QVM_INLINE_TRIVIAL
4018 typename 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 }
4025 template <class V>
4026 BOOST_QVM_INLINE_TRIVIAL
4027 typename 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 }
4034 template <class S>
4035 BOOST_QVM_INLINE_TRIVIAL
4036 typename 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 }
4043 template <class V>
4044 BOOST_QVM_INLINE_TRIVIAL
4045 typename 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 }
4052 template <class S>
4053 BOOST_QVM_INLINE_TRIVIAL
4054 typename 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 }
4061 template <class V>
4062 BOOST_QVM_INLINE_TRIVIAL
4063 typename 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
4066 WXX( 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 }
4070 template <class V>
4071 BOOST_QVM_INLINE_TRIVIAL
4072 typename 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
4075 WXX( 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 }
4079 template <class V>
4080 BOOST_QVM_INLINE_TRIVIAL
4081 typename 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
4084 ZXX( 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 }
4088 template <class V>
4089 BOOST_QVM_INLINE_TRIVIAL
4090 typename 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
4093 ZXX( 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 }
4097 template <class V>
4098 BOOST_QVM_INLINE_TRIVIAL
4099 typename 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
4102 YXX( 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 }
4106 template <class V>
4107 BOOST_QVM_INLINE_TRIVIAL
4108 typename 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
4111 YXX( 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 }
4115 template <class V>
4116 BOOST_QVM_INLINE_TRIVIAL
4117 typename 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
4120 XXX( 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 }
4124 template <class S>
4125 BOOST_QVM_INLINE_TRIVIAL
4126 typename 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
4129 XXX( 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 }
4133 template <class V>
4134 BOOST_QVM_INLINE_TRIVIAL
4135 typename 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
4138 XXX( 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 }
4142 template <class S>
4143 BOOST_QVM_INLINE_TRIVIAL
4144 typename 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
4147 XXX( 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);
4150 }
4151 } }
4152
4153 #endif