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