]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/qvm/gen/swizzle2.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / qvm / gen / swizzle2.hpp
CommitLineData
1e59de90
TL
1#ifndef BOOST_QVM_GEN_SWIZZLE2_HPP_INCLUDED
2#define BOOST_QVM_GEN_SWIZZLE2_HPP_INCLUDED
92f5a8d4 3
1e59de90 4// Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc.
92f5a8d4 5
1e59de90
TL
6// Distributed under the Boost Software License, Version 1.0. (See accompanying
7// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
92f5a8d4 8
1e59de90 9// This file was generated by a program. Do not edit manually.
92f5a8d4
TL
10
11#include <boost/qvm/detail/swizzle_traits.hpp>
12#include <boost/qvm/enable_if.hpp>
13#include <boost/qvm/inline.hpp>
14
1e59de90
TL
15namespace boost { namespace qvm {
16
17BOOST_QVM_INLINE_TRIVIAL
18qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const &
19_11()
20 {
21 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
22 }
23BOOST_QVM_INLINE_TRIVIAL
24qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const &
25_01()
26 {
27 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
28 }
29template <class V>
30BOOST_QVM_INLINE_TRIVIAL
31typename enable_if_c<
32 is_vec<V>::value && vec_traits<V>::dim>=4,
33 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>::type
34W1( V const & a )
35 {
36 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>(a);
37 }
38template <class V>
39BOOST_QVM_INLINE_TRIVIAL
40typename enable_if_c<
41 is_vec<V>::value && vec_traits<V>::dim>=4,
42 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>::type
43W1( V & a )
44 {
45 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>(a);
46 }
47template <class V>
48BOOST_QVM_INLINE_TRIVIAL
49typename enable_if_c<
50 is_vec<V>::value && vec_traits<V>::dim>=3,
51 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>::type
52Z1( V const & a )
53 {
54 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>(a);
55 }
56template <class V>
57BOOST_QVM_INLINE_TRIVIAL
58typename enable_if_c<
59 is_vec<V>::value && vec_traits<V>::dim>=3,
60 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>::type
61Z1( V & a )
62 {
63 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>(a);
64 }
65template <class V>
66BOOST_QVM_INLINE_TRIVIAL
67typename enable_if_c<
68 is_vec<V>::value && vec_traits<V>::dim>=2,
69 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>::type
70Y1( V const & a )
71 {
72 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>(a);
73 }
74template <class V>
75BOOST_QVM_INLINE_TRIVIAL
76typename enable_if_c<
77 is_vec<V>::value && vec_traits<V>::dim>=2,
78 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>::type
79Y1( V & a )
80 {
81 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>(a);
82 }
83template <class V>
84BOOST_QVM_INLINE_TRIVIAL
85typename enable_if_c<
86 is_vec<V>::value && vec_traits<V>::dim>=1,
87 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
88X1( V const & a )
89 {
90 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
91 }
92template <class S>
93BOOST_QVM_INLINE_TRIVIAL
94typename enable_if_c<
95 is_scalar<S>::value,
96 qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
97X1( S const & a )
98 {
99 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
100 }
101template <class V>
102BOOST_QVM_INLINE_TRIVIAL
103typename enable_if_c<
104 is_vec<V>::value && vec_traits<V>::dim>=1,
105 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
106X1( V & a )
107 {
108 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
109 }
110template <class S>
111BOOST_QVM_INLINE_TRIVIAL
112typename enable_if_c<
113 is_scalar<S>::value,
114 qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
115X1( S & a )
116 {
117 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
118 }
119BOOST_QVM_INLINE_TRIVIAL
120qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const &
121_10()
122 {
123 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
124 }
125BOOST_QVM_INLINE_TRIVIAL
126qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const &
127_00()
128 {
129 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
130 }
131template <class V>
132BOOST_QVM_INLINE_TRIVIAL
133typename enable_if_c<
134 is_vec<V>::value && vec_traits<V>::dim>=4,
135 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>::type
136W0( V const & a )
137 {
138 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>(a);
139 }
140template <class V>
141BOOST_QVM_INLINE_TRIVIAL
142typename enable_if_c<
143 is_vec<V>::value && vec_traits<V>::dim>=4,
144 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>::type
145W0( V & a )
146 {
147 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>(a);
148 }
149template <class V>
150BOOST_QVM_INLINE_TRIVIAL
151typename enable_if_c<
152 is_vec<V>::value && vec_traits<V>::dim>=3,
153 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>::type
154Z0( V const & a )
155 {
156 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>(a);
157 }
158template <class V>
159BOOST_QVM_INLINE_TRIVIAL
160typename enable_if_c<
161 is_vec<V>::value && vec_traits<V>::dim>=3,
162 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>::type
163Z0( V & a )
164 {
165 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>(a);
166 }
167template <class V>
168BOOST_QVM_INLINE_TRIVIAL
169typename enable_if_c<
170 is_vec<V>::value && vec_traits<V>::dim>=2,
171 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>::type
172Y0( V const & a )
173 {
174 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>(a);
175 }
176template <class V>
177BOOST_QVM_INLINE_TRIVIAL
178typename enable_if_c<
179 is_vec<V>::value && vec_traits<V>::dim>=2,
180 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>::type
181Y0( V & a )
182 {
183 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>(a);
184 }
185template <class V>
186BOOST_QVM_INLINE_TRIVIAL
187typename enable_if_c<
188 is_vec<V>::value && vec_traits<V>::dim>=1,
189 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
190X0( V const & a )
191 {
192 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
193 }
194template <class S>
195BOOST_QVM_INLINE_TRIVIAL
196typename enable_if_c<
197 is_scalar<S>::value,
198 qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
199X0( S const & a )
200 {
201 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
202 }
203template <class V>
204BOOST_QVM_INLINE_TRIVIAL
205typename enable_if_c<
206 is_vec<V>::value && vec_traits<V>::dim>=1,
207 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
208X0( V & a )
209 {
210 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
211 }
212template <class S>
213BOOST_QVM_INLINE_TRIVIAL
214typename enable_if_c<
215 is_scalar<S>::value,
216 qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
217X0( S & a )
218 {
219 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
220 }
221template <class V>
222BOOST_QVM_INLINE_TRIVIAL
223typename enable_if_c<
224 is_vec<V>::value && vec_traits<V>::dim>=4,
225 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>::type
226_1W( V const & a )
227 {
228 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>(a);
229 }
230template <class V>
231BOOST_QVM_INLINE_TRIVIAL
232typename enable_if_c<
233 is_vec<V>::value && vec_traits<V>::dim>=4,
234 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>::type
235_1W( V & a )
236 {
237 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>(a);
238 }
239template <class V>
240BOOST_QVM_INLINE_TRIVIAL
241typename enable_if_c<
242 is_vec<V>::value && vec_traits<V>::dim>=4,
243 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>::type
244_0W( V const & a )
245 {
246 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>(a);
247 }
248template <class V>
249BOOST_QVM_INLINE_TRIVIAL
250typename enable_if_c<
251 is_vec<V>::value && vec_traits<V>::dim>=4,
252 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>::type
253_0W( V & a )
254 {
255 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>(a);
256 }
257template <class V>
258BOOST_QVM_INLINE_TRIVIAL
259typename enable_if_c<
260 is_vec<V>::value && vec_traits<V>::dim>=4,
261 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>::type
262WW( V const & a )
263 {
264 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>(a);
265 }
266template <class V>
267BOOST_QVM_INLINE_TRIVIAL
268typename enable_if_c<
269 is_vec<V>::value && vec_traits<V>::dim>=4,
270 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>::type
271WW( V & a )
272 {
273 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>(a);
274 }
275template <class V>
276BOOST_QVM_INLINE_TRIVIAL
277typename enable_if_c<
278 is_vec<V>::value && vec_traits<V>::dim>=4,
279 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>::type
280ZW( V const & a )
281 {
282 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>(a);
283 }
284template <class V>
285BOOST_QVM_INLINE_TRIVIAL
286typename enable_if_c<
287 is_vec<V>::value && vec_traits<V>::dim>=4,
288 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>::type
289ZW( V & a )
290 {
291 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>(a);
292 }
293template <class V>
294BOOST_QVM_INLINE_TRIVIAL
295typename enable_if_c<
296 is_vec<V>::value && vec_traits<V>::dim>=4,
297 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>::type
298YW( V const & a )
299 {
300 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>(a);
301 }
302template <class V>
303BOOST_QVM_INLINE_TRIVIAL
304typename enable_if_c<
305 is_vec<V>::value && vec_traits<V>::dim>=4,
306 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>::type
307YW( V & a )
308 {
309 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>(a);
310 }
311template <class V>
312BOOST_QVM_INLINE_TRIVIAL
313typename enable_if_c<
314 is_vec<V>::value && vec_traits<V>::dim>=4,
315 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>::type
316XW( V const & a )
317 {
318 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>(a);
319 }
320template <class V>
321BOOST_QVM_INLINE_TRIVIAL
322typename enable_if_c<
323 is_vec<V>::value && vec_traits<V>::dim>=4,
324 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>::type
325XW( V & a )
326 {
327 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>(a);
328 }
329template <class V>
330BOOST_QVM_INLINE_TRIVIAL
331typename enable_if_c<
332 is_vec<V>::value && vec_traits<V>::dim>=3,
333 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>::type
334_1Z( V const & a )
335 {
336 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>(a);
337 }
338template <class V>
339BOOST_QVM_INLINE_TRIVIAL
340typename enable_if_c<
341 is_vec<V>::value && vec_traits<V>::dim>=3,
342 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>::type
343_1Z( V & a )
344 {
345 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>(a);
346 }
347template <class V>
348BOOST_QVM_INLINE_TRIVIAL
349typename enable_if_c<
350 is_vec<V>::value && vec_traits<V>::dim>=3,
351 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>::type
352_0Z( V const & a )
353 {
354 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>(a);
355 }
356template <class V>
357BOOST_QVM_INLINE_TRIVIAL
358typename enable_if_c<
359 is_vec<V>::value && vec_traits<V>::dim>=3,
360 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>::type
361_0Z( V & a )
362 {
363 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>(a);
364 }
365template <class V>
366BOOST_QVM_INLINE_TRIVIAL
367typename enable_if_c<
368 is_vec<V>::value && vec_traits<V>::dim>=4,
369 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>::type
370WZ( V const & a )
371 {
372 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>(a);
373 }
374template <class V>
375BOOST_QVM_INLINE_TRIVIAL
376typename enable_if_c<
377 is_vec<V>::value && vec_traits<V>::dim>=4,
378 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>::type
379WZ( V & a )
380 {
381 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>(a);
382 }
383template <class V>
384BOOST_QVM_INLINE_TRIVIAL
385typename enable_if_c<
386 is_vec<V>::value && vec_traits<V>::dim>=3,
387 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>::type
388ZZ( V const & a )
389 {
390 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>(a);
391 }
392template <class V>
393BOOST_QVM_INLINE_TRIVIAL
394typename enable_if_c<
395 is_vec<V>::value && vec_traits<V>::dim>=3,
396 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>::type
397ZZ( V & a )
398 {
399 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>(a);
400 }
401template <class V>
402BOOST_QVM_INLINE_TRIVIAL
403typename enable_if_c<
404 is_vec<V>::value && vec_traits<V>::dim>=3,
405 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>::type
406YZ( V const & a )
407 {
408 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>(a);
409 }
410template <class V>
411BOOST_QVM_INLINE_TRIVIAL
412typename enable_if_c<
413 is_vec<V>::value && vec_traits<V>::dim>=3,
414 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>::type
415YZ( V & a )
416 {
417 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>(a);
418 }
419template <class V>
420BOOST_QVM_INLINE_TRIVIAL
421typename enable_if_c<
422 is_vec<V>::value && vec_traits<V>::dim>=3,
423 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>::type
424XZ( V const & a )
425 {
426 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>(a);
427 }
428template <class V>
429BOOST_QVM_INLINE_TRIVIAL
430typename enable_if_c<
431 is_vec<V>::value && vec_traits<V>::dim>=3,
432 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>::type
433XZ( V & a )
434 {
435 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>(a);
436 }
437template <class V>
438BOOST_QVM_INLINE_TRIVIAL
439typename enable_if_c<
440 is_vec<V>::value && vec_traits<V>::dim>=2,
441 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>::type
442_1Y( V const & a )
443 {
444 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>(a);
445 }
446template <class V>
447BOOST_QVM_INLINE_TRIVIAL
448typename enable_if_c<
449 is_vec<V>::value && vec_traits<V>::dim>=2,
450 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>::type
451_1Y( V & a )
452 {
453 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>(a);
454 }
455template <class V>
456BOOST_QVM_INLINE_TRIVIAL
457typename enable_if_c<
458 is_vec<V>::value && vec_traits<V>::dim>=2,
459 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>::type
460_0Y( V const & a )
461 {
462 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>(a);
463 }
464template <class V>
465BOOST_QVM_INLINE_TRIVIAL
466typename enable_if_c<
467 is_vec<V>::value && vec_traits<V>::dim>=2,
468 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>::type
469_0Y( V & a )
470 {
471 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>(a);
472 }
473template <class V>
474BOOST_QVM_INLINE_TRIVIAL
475typename enable_if_c<
476 is_vec<V>::value && vec_traits<V>::dim>=4,
477 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>::type
478WY( V const & a )
479 {
480 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>(a);
481 }
482template <class V>
483BOOST_QVM_INLINE_TRIVIAL
484typename enable_if_c<
485 is_vec<V>::value && vec_traits<V>::dim>=4,
486 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>::type
487WY( V & a )
488 {
489 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>(a);
490 }
491template <class V>
492BOOST_QVM_INLINE_TRIVIAL
493typename enable_if_c<
494 is_vec<V>::value && vec_traits<V>::dim>=3,
495 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>::type
496ZY( V const & a )
497 {
498 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>(a);
499 }
500template <class V>
501BOOST_QVM_INLINE_TRIVIAL
502typename enable_if_c<
503 is_vec<V>::value && vec_traits<V>::dim>=3,
504 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>::type
505ZY( V & a )
506 {
507 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>(a);
508 }
509template <class V>
510BOOST_QVM_INLINE_TRIVIAL
511typename enable_if_c<
512 is_vec<V>::value && vec_traits<V>::dim>=2,
513 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>::type
514YY( V const & a )
515 {
516 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>(a);
517 }
518template <class V>
519BOOST_QVM_INLINE_TRIVIAL
520typename enable_if_c<
521 is_vec<V>::value && vec_traits<V>::dim>=2,
522 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>::type
523YY( V & a )
524 {
525 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>(a);
526 }
527template <class V>
528BOOST_QVM_INLINE_TRIVIAL
529typename enable_if_c<
530 is_vec<V>::value && vec_traits<V>::dim>=2,
531 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>::type
532XY( V const & a )
533 {
534 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>(a);
535 }
536template <class V>
537BOOST_QVM_INLINE_TRIVIAL
538typename enable_if_c<
539 is_vec<V>::value && vec_traits<V>::dim>=2,
540 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>::type
541XY( V & a )
542 {
543 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>(a);
544 }
545template <class V>
546BOOST_QVM_INLINE_TRIVIAL
547typename enable_if_c<
548 is_vec<V>::value && vec_traits<V>::dim>=1,
549 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
550_1X( V const & a )
551 {
552 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
553 }
554template <class S>
555BOOST_QVM_INLINE_TRIVIAL
556typename enable_if_c<
557 is_scalar<S>::value,
558 qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
559_1X( S const & a )
560 {
561 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
562 }
563template <class V>
564BOOST_QVM_INLINE_TRIVIAL
565typename enable_if_c<
566 is_vec<V>::value && vec_traits<V>::dim>=1,
567 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
568_1X( V & a )
569 {
570 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
571 }
572template <class S>
573BOOST_QVM_INLINE_TRIVIAL
574typename enable_if_c<
575 is_scalar<S>::value,
576 qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
577_1X( S & a )
578 {
579 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
580 }
581template <class V>
582BOOST_QVM_INLINE_TRIVIAL
583typename enable_if_c<
584 is_vec<V>::value && vec_traits<V>::dim>=1,
585 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
586_0X( V const & a )
587 {
588 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
589 }
590template <class S>
591BOOST_QVM_INLINE_TRIVIAL
592typename enable_if_c<
593 is_scalar<S>::value,
594 qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
595_0X( S const & a )
596 {
597 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
598 }
599template <class V>
600BOOST_QVM_INLINE_TRIVIAL
601typename enable_if_c<
602 is_vec<V>::value && vec_traits<V>::dim>=1,
603 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
604_0X( V & a )
605 {
606 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
607 }
608template <class S>
609BOOST_QVM_INLINE_TRIVIAL
610typename enable_if_c<
611 is_scalar<S>::value,
612 qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
613_0X( S & a )
614 {
615 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
616 }
617template <class V>
618BOOST_QVM_INLINE_TRIVIAL
619typename enable_if_c<
620 is_vec<V>::value && vec_traits<V>::dim>=4,
621 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>::type
622WX( V const & a )
623 {
624 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>(a);
625 }
626template <class V>
627BOOST_QVM_INLINE_TRIVIAL
628typename enable_if_c<
629 is_vec<V>::value && vec_traits<V>::dim>=4,
630 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>::type
631WX( V & a )
632 {
633 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>(a);
634 }
635template <class V>
636BOOST_QVM_INLINE_TRIVIAL
637typename enable_if_c<
638 is_vec<V>::value && vec_traits<V>::dim>=3,
639 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>::type
640ZX( V const & a )
641 {
642 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>(a);
643 }
644template <class V>
645BOOST_QVM_INLINE_TRIVIAL
646typename enable_if_c<
647 is_vec<V>::value && vec_traits<V>::dim>=3,
648 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>::type
649ZX( V & a )
650 {
651 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>(a);
652 }
653template <class V>
654BOOST_QVM_INLINE_TRIVIAL
655typename enable_if_c<
656 is_vec<V>::value && vec_traits<V>::dim>=2,
657 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>::type
658YX( V const & a )
659 {
660 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>(a);
661 }
662template <class V>
663BOOST_QVM_INLINE_TRIVIAL
664typename enable_if_c<
665 is_vec<V>::value && vec_traits<V>::dim>=2,
666 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>::type
667YX( V & a )
668 {
669 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>(a);
670 }
671template <class V>
672BOOST_QVM_INLINE_TRIVIAL
673typename enable_if_c<
674 is_vec<V>::value && vec_traits<V>::dim>=1,
675 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
676XX( V const & a )
677 {
678 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
679 }
680template <class S>
681BOOST_QVM_INLINE_TRIVIAL
682typename enable_if_c<
683 is_scalar<S>::value,
684 qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
685XX( S const & a )
686 {
687 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
688 }
689template <class V>
690BOOST_QVM_INLINE_TRIVIAL
691typename enable_if_c<
692 is_vec<V>::value && vec_traits<V>::dim>=1,
693 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
694XX( V & a )
695 {
696 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
697 }
698template <class S>
699BOOST_QVM_INLINE_TRIVIAL
700typename enable_if_c<
701 is_scalar<S>::value,
702 qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
703XX( S & a )
704 {
705 return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
92f5a8d4 706 }
1e59de90 707} }
92f5a8d4
TL
708
709#endif