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/vec_operations.hpp>
10#endif
11
12#include "test_qvm_vector.hpp"
13#include "gold.hpp"
14
15namespace
16 {
17 template <int Dim>
18 void
19 test()
20 {
21 using namespace boost::qvm::sfinae;
22 test_qvm::vector<V1,Dim> x(42,2);
23 {
24 test_qvm::vector<V1,Dim> const y(42,1);
25 test_qvm::add_v(x.b,x.a,y.a);
26 x+=y;
27 BOOST_QVM_TEST_EQ(x.a,x.b);
28 }
29 {
30 test_qvm::vector<V2,Dim> const y(42,1);
31 test_qvm::add_v(x.b,x.a,y.a);
32 x+=y;
33 BOOST_QVM_TEST_EQ(x.a,x.b);
34 }
35 }
36 }
37
38int
39main()
40 {
41 test<2>();
42 test<3>();
43 test<4>();
44 test<5>();
45 return boost::report_errors();
46 }
47

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