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