1// Copyright 2008-2022 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#ifdef BOOST_QVM_TEST_SINGLE_HEADER
7# include BOOST_QVM_TEST_SINGLE_HEADER
8#else
9# include <boost/qvm/quat_operations.hpp>
10#endif
11
12#include "test_qvm_quaternion.hpp"
13#include "gold.hpp"
14
15namespace
16 {
17 void
18 test()
19 {
20 using namespace boost::qvm::sfinae;
21 test_qvm::quaternion<Q1,double> x(42,1);
22 test_qvm::quaternion<Q1,float> y;
23 assign(a&: y,b: scalar_cast<float>(x));
24 for( int i=0; i!=4; ++i )
25 y.b[i]=static_cast<float>(x.a[i]);
26 BOOST_QVM_TEST_EQ(y.a,y.b);
27 }
28 }
29
30int
31main()
32 {
33 test();
34 return boost::report_errors();
35 }
36

source code of boost/libs/qvm/test/scalar_cast_q_test.cpp