//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_QVM_F445D3D828CEBF5C560593D97278A59 #define BOOST_QVM_F445D3D828CEBF5C560593D97278A59 //This file was generated by a program. Do not edit manually. #include #include #include namespace boost { namespace qvm { BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1111() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0111() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W111( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W111( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z111( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z111( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y111( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y111( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X111( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X111( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X111( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X111( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1011() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0011() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W011( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W011( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z011( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z011( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y011( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y011( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X011( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X011( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X011( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X011( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1X11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1X11( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1X11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1X11( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0X11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0X11( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0X11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0X11( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XX11( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XX11( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XX11( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XX11( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1101() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0101() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W101( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W101( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z101( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z101( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y101( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y101( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X101( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X101( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X101( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X101( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1001() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0001() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W001( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W001( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z001( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z001( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y001( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y001( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X001( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X001( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X001( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X001( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1X01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1X01( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1X01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1X01( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0X01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0X01( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0X01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0X01( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XX01( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XX01( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XX01( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XX01( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0W1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0W1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXW1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXW1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0Z1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0Z1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXZ1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXZ1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _11Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _11Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _01Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _01Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X1Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X1Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _10Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _10Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _00Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _00Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X0Y1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X0Y1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1XY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1XY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0XY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0XY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XXY1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XXY1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _11X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _11X1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _11X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _11X1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _01X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _01X1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _01X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _01X1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X1X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X1X1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X1X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X1X1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _10X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _10X1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _10X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _10X1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _00X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _00X1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _00X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _00X1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X0X1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X0X1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X0X1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X0X1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1XX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1XX1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1XX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1XX1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0XX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0XX1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0XX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0XX1( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XXX1( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XXX1( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XXX1( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XXX1( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1110() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0110() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W110( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W110( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z110( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z110( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y110( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y110( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X110( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X110( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X110( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X110( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1010() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0010() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W010( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W010( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z010( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z010( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y010( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y010( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X010( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X010( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X010( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X010( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1X10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1X10( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1X10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1X10( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0X10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0X10( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0X10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0X10( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XX10( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XX10( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XX10( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XX10( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1100() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0100() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W100( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W100( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z100( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z100( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y100( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y100( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X100( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X100( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X100( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X100( S & a ) { return reinterpret_cast > > > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _1000() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > > > const & _0000() { return *reinterpret_cast > > > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W000( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W000( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z000( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z000( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y000( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y000( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X000( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X000( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X000( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X000( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1X00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1X00( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1X00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1X00( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0X00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0X00( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0X00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0X00( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XX00( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XX00( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XX00( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XX00( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0W0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0W0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXW0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXW0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0Z0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0Z0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXZ0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXZ0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _11Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _11Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _01Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _01Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X1Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X1Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _10Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _10Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _00Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _00Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X0Y0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X0Y0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1XY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1XY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0XY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0XY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XXY0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XXY0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _11X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _11X0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _11X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _11X0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _01X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _01X0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _01X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _01X0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X1X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X1X0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X1X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X1X0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _10X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _10X0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _10X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _10X0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _00X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _00X0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _00X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _00X0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X0X0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X0X0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X0X0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X0X0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1XX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1XX0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1XX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1XX0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0XX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0XX0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0XX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0XX0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XXX0( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XXX0( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XXX0( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XXX0( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _111W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _111W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _011W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _011W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W11W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W11W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z11W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z11W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y11W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y11W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X11W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X11W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _101W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _101W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _001W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _001W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W01W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W01W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z01W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z01W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y01W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y01W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X01W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X01W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1Z1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1Z1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0Z1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0Z1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZ1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZ1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZ1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZ1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZ1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZ1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1Y1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1Y1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0Y1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0Y1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZY1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZY1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YY1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YY1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XY1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XY1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1X1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1X1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0X1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0X1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZX1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZX1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YX1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YX1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XX1W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XX1W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _110W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _110W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _010W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _010W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W10W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W10W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z10W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z10W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y10W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y10W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X10W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X10W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _100W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _100W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _000W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _000W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W00W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W00W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z00W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z00W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y00W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y00W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X00W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X00W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1Z0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1Z0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0Z0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0Z0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZ0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZ0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZ0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZ0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZ0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZ0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1Y0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1Y0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0Y0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0Y0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZY0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZY0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YY0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YY0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XY0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XY0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1X0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1X0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0X0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0X0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZX0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZX0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YX0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YX0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XX0W( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XX0W( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0WW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0WW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXWW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXWW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0ZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0ZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXZW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXZW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0YW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0YW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXYW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXYW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0XW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0XW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXXW( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXXW( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _111Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _111Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _011Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _011Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W11Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W11Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z11Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z11Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y11Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y11Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X11Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X11Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _101Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _101Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _001Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _001Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W01Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W01Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z01Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z01Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y01Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y01Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X01Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X01Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Y1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Y1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Y1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Y1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YY1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YY1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XY1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XY1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1X1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1X1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0X1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0X1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YX1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YX1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XX1Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XX1Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _110Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _110Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _010Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _010Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W10Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W10Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z10Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z10Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y10Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y10Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X10Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X10Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _100Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _100Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _000Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _000Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W00Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W00Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z00Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z00Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y00Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y00Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X00Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X00Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Y0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Y0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Y0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Y0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YY0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YY0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XY0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XY0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1X0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1X0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0X0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0X0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YX0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YX0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XX0Z( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XX0Z( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0WZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0WZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXWZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXWZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0ZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0ZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXZZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXZZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0YZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0YZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXYZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXYZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0XZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0XZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXXZ( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXXZ( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _111Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _111Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _011Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _011Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W11Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W11Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z11Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z11Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y11Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y11Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X11Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X11Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _101Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _101Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _001Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _001Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W01Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W01Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z01Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z01Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y01Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y01Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X01Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X01Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1X1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1X1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0X1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0X1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XX1Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XX1Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _110Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _110Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _010Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _010Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W10Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W10Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z10Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z10Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y10Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y10Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X10Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X10Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _100Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _100Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _000Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _000Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W00Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W00Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z00Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z00Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y00Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y00Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X00Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X00Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1X0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1X0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0X0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0X0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XX0Y( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XX0Y( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0WY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0WY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXWY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXWY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0ZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0ZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXZY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXZY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _11YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _11YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _01YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _01YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X1YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X1YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _10YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _10YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _00YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _00YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X0YY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X0YY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1XYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1XYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0XYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0XYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XXYY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XXYY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _11XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _11XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _01XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _01XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X1XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X1XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _10XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _10XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _00XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _00XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X0XY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X0XY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1XXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1XXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0XXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0XXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XXXY( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XXXY( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _111X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _111X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _111X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _111X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _011X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _011X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _011X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _011X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W11X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W11X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z11X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z11X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y11X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y11X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X11X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X11X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X11X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X11X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _101X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _101X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _101X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _101X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _001X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _001X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _001X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _001X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W01X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W01X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z01X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z01X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y01X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y01X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X01X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X01X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X01X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X01X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1X1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1X1X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1X1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1X1X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0X1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0X1X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0X1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0X1X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XX1X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XX1X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XX1X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XX1X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _110X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _110X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _110X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _110X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _010X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _010X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _010X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _010X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W10X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W10X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z10X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z10X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y10X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y10X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X10X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X10X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X10X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X10X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _100X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _100X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _100X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _100X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _000X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _000X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _000X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _000X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W00X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W00X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z00X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z00X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y00X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y00X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X00X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X00X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X00X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X00X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1W0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1W0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0W0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0W0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WW0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WW0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZW0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZW0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YW0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YW0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XW0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XW0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1Z0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1Z0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0Z0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0Z0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZ0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZ0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZ0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZ0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZ0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZ0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZ0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZ0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1Y0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1Y0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0Y0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0Y0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WY0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WY0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZY0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZY0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YY0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YY0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XY0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XY0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1X0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1X0X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1X0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1X0X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0X0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0X0X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0X0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0X0X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WX0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WX0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZX0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZX0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YX0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YX0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XX0X( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XX0X( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XX0X( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XX0X( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _11WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _11WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _01WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _01WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z1WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z1WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y1WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y1WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X1WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X1WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _10WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _10WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _00WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _00WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Z0WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Z0WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type Y0WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type Y0WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type X0WX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type X0WX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1ZWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1ZWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0ZWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0ZWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZZWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZZWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YZWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YZWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XZWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XZWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1YWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1YWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0YWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0YWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZYWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZYWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YYWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YYWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XYWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XYWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1XWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1XWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0XWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0XWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZXWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZXWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YXWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YXWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XXWX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XXWX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _11ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _11ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _01ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _01ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y1ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y1ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X1ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X1ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _10ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _10ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _00ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _00ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Y0ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Y0ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type X0ZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type X0ZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1YZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1YZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0YZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0YZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YYZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YYZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XYZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XYZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1XZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1XZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0XZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0XZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YXZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YXZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XXZX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XXZX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _11YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _11YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _01YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _01YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X1YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X1YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _10YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _10YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _00YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _00YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type X0YX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type X0YX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1XYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1XYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0XYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0XYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XXYX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XXYX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _11XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _11XX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _11XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _11XX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _01XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _01XX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _01XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _01XX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W1XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W1XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z1XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z1XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y1XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y1XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X1XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X1XX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X1XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X1XX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _10XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _10XX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _10XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _10XX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _00XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _00XX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _00XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _00XX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type W0XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type W0XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type Z0XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type Z0XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type Y0XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type Y0XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type X0XX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type X0XX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type X0XX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type X0XX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _1WXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _1WXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type _0WXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type _0WXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WWXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WWXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type ZWXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type ZWXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type YWXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type YWXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type XWXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type XWXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _1ZXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _1ZXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type _0ZXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type _0ZXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WZXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WZXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZZXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZZXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type YZXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type YZXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type XZXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type XZXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _1YXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _1YXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type _0YXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type _0YXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WYXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WYXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZYXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZYXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YYXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YYXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type XYXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type XYXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _1XXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _1XXX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _1XXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _1XXX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type _0XXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type _0XXX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type _0XXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type _0XXX( S & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > const &>::type WXXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > > > &>::type WXXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > const &>::type ZXXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > > > &>::type ZXXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > const &>::type YXXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > > > &>::type YXXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > const &>::type XXXX( V const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > const &>::type XXXX( S const & a ) { return reinterpret_cast > > > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > > > &>::type XXXX( V & a ) { return reinterpret_cast > > > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > > > &>::type XXXX( S & a ) { return reinterpret_cast > > > > &>(a); } } } #endif