]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/qvm/test/swizzle2_test.cpp
1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #include <boost/qvm/vec_operations.hpp>
7 #include <boost/qvm/vec.hpp>
8 #include <boost/qvm/swizzle.hpp>
9 #include "test_qvm_vector.hpp"
14 using namespace boost::qvm
;
15 test_qvm::vector
<V1
,4> v1
;
23 test_qvm::vector
<V2
,2> r
;
26 test_qvm::vector
<V2
,2> v2
=XX(v1
);
27 BOOST_QVM_TEST_EQ(v2
,r
);
30 test_qvm::vector
<V2
,2> r
;
33 test_qvm::vector
<V2
,2> v2
=XY(v1
);
34 BOOST_QVM_TEST_EQ(v2
,r
);
37 test_qvm::vector
<V2
,2> r
;
40 test_qvm::vector
<V2
,2> v2
=XZ(v1
);
41 BOOST_QVM_TEST_EQ(v2
,r
);
44 test_qvm::vector
<V2
,2> r
;
47 test_qvm::vector
<V2
,2> v2
=XW(v1
);
48 BOOST_QVM_TEST_EQ(v2
,r
);
51 test_qvm::vector
<V2
,2> r
;
54 test_qvm::vector
<V2
,2> v2
=X0(v1
);
55 BOOST_QVM_TEST_EQ(v2
,r
);
58 test_qvm::vector
<V2
,2> r
;
61 test_qvm::vector
<V2
,2> v2
=X1(v1
);
62 BOOST_QVM_TEST_EQ(v2
,r
);
65 test_qvm::vector
<V2
,2> v2
=XY(v1
);
66 test_qvm::vector
<V3
,2> v3
;
68 BOOST_QVM_TEST_EQ(v2
,v3
);
71 test_qvm::vector
<V1
,2> v
=_00();
72 BOOST_TEST(v
.a
[0]==0);
73 BOOST_TEST(v
.a
[1]==0);
76 test_qvm::vector
<V1
,2> v
=_01();
77 BOOST_TEST(v
.a
[0]==0);
78 BOOST_TEST(v
.a
[1]==1);
81 test_qvm::vector
<V1
,2> v
=_10();
82 BOOST_TEST(v
.a
[0]==1);
83 BOOST_TEST(v
.a
[1]==0);
86 test_qvm::vector
<V1
,2> v
=_11();
87 BOOST_TEST(v
.a
[0]==1);
88 BOOST_TEST(v
.a
[1]==1);
90 return boost::report_errors();