1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. 2 3 //Distributed under the Boost Software License, Version 1.0. (See accompanying 4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6 #include <boost/qvm/vec_operations.hpp> 7 #include "test_qvm_vector.hpp" 8 #include "gold.hpp" 9 10 namespace 11 { 12 template <int Dim> 13 void test()14 test() 15 { 16 using namespace boost::qvm::sfinae; 17 test_qvm::vector<V1,Dim,double> x(42,1); 18 test_qvm::vector<V1,Dim,float> y; 19 assign(y,scalar_cast<float>(x)); 20 for( int i=0; i!=Dim; ++i ) 21 y.b[i]=static_cast<float>(x.a[i]); 22 BOOST_QVM_TEST_EQ(y.a,y.b); 23 } 24 } 25 26 int main()27main() 28 { 29 test<2>(); 30 return boost::report_errors(); 31 } 32