1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. 2 3 //Distributed under the Boost Software License, Qersion 1.0. (See accompanying 4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6 #include <boost/qvm/quat_operations.hpp> 7 #include "test_qvm_quaternion.hpp" 8 #include "gold.hpp" 9 10 namespace 11 { 12 void test()13 test() 14 { 15 using namespace boost::qvm::sfinae; 16 test_qvm::quaternion<Q1> const x(42,1); 17 for( int i=0; i!=4; ++i ) 18 { 19 { 20 test_qvm::quaternion<Q1> y(x); 21 BOOST_QVM_TEST_EQ(x,y); 22 y.a[i]=0; 23 BOOST_QVM_TEST_NEQ(x,y); 24 } 25 { 26 test_qvm::quaternion<Q2> y; assign(y,x); 27 BOOST_QVM_TEST_EQ(x,y); 28 y.a[i]=0; 29 BOOST_QVM_TEST_NEQ(x,y); 30 } 31 } 32 } 33 } 34 35 int main()36main() 37 { 38 test(); 39 return boost::report_errors(); 40 } 41