summaryrefslogtreecommitdiff
path: root/boost/qvm/gen/swizzle2.hpp
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:41:18 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:43:11 +0900
commitf763a99a501650eff2c60288aa6f10ef916d769e (patch)
tree02af7e13f9a38c888ebf340fe764cbe7dae99da9 /boost/qvm/gen/swizzle2.hpp
parent5cde13f21d36c7224b0e13d11c4b49379ae5210d (diff)
downloadboost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.gz
boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.bz2
boost-f763a99a501650eff2c60288aa6f10ef916d769e.zip
Imported Upstream version 1.62.0upstream/1.62.0
Change-Id: I9d4c1ddb7b7d8f0069217ecc582700f9fda6dd4c Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/qvm/gen/swizzle2.hpp')
-rw-r--r--boost/qvm/gen/swizzle2.hpp624
1 files changed, 624 insertions, 0 deletions
diff --git a/boost/qvm/gen/swizzle2.hpp b/boost/qvm/gen/swizzle2.hpp
new file mode 100644
index 0000000000..fd953d3812
--- /dev/null
+++ b/boost/qvm/gen/swizzle2.hpp
@@ -0,0 +1,624 @@
+//Copyright (c) 2008-2016 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_61CDD11E9D9C167272E61DF0844F4A77
+#define BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/detail/swizzle_traits.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const &
+ _11()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const &
+ _01()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>::type
+ W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>::type
+ Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>::type
+ Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
+ X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const &
+ _10()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const &
+ _00()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>::type
+ W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>::type
+ Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>::type
+ Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
+ X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>::type
+ _1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>::type
+ _1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>::type
+ _0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>::type
+ _0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>::type
+ WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>::type
+ WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>::type
+ ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>::type
+ ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>::type
+ YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>::type
+ YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>::type
+ XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>::type
+ XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>::type
+ _1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>::type
+ _1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>::type
+ _0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>::type
+ _0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>::type
+ WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>::type
+ WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>::type
+ ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>::type
+ ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>::type
+ YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>::type
+ YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>::type
+ XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>::type
+ XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>::type
+ _1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>::type
+ _1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>::type
+ _0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>::type
+ _0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>::type
+ WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>::type
+ WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>::type
+ ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>::type
+ ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>::type
+ YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>::type
+ YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>::type
+ XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>::type
+ XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
+ _1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
+ _1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
+ _0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
+ _0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>::type
+ WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>::type
+ WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>::type
+ ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>::type
+ ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>::type
+ YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>::type
+ YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
+ XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
+ XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ }
+ }
+
+#endif