]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/qvm/test/minus_vv_test.cpp
bump version to 18.2.4-pve3
[ceph.git] / ceph / src / boost / libs / qvm / test / minus_vv_test.cpp
CommitLineData
1e59de90 1// Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc.
92f5a8d4 2
1e59de90
TL
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# include <boost/qvm/vec.hpp>
11#endif
92f5a8d4 12
92f5a8d4
TL
13#include "test_qvm_vector.hpp"
14#include "gold.hpp"
15
16namespace
17 {
18 template <class T,class U> struct same_type_tester;
19 template <class T> struct same_type_tester<T,T> { };
20 template <class T,class U> void test_same_type( T, U ) { same_type_tester<T,U>(); }
21
22 template <int Dim>
23 void
24 test()
25 {
26 using namespace boost::qvm::sfinae;
27 test_qvm::vector<V1,Dim> const x(42,2);
28 {
29 test_qvm::vector<V1,Dim> const y(42,1);
30 test_same_type(x,x-y);
31 test_qvm::vector<V1,Dim> r=x-y;
32 test_qvm::subtract_v(r.b,x.b,y.b);
33 BOOST_QVM_TEST_EQ(r.a,r.b);
34 }
35 {
36 test_qvm::vector<V1,Dim> const y(42,1);
37 test_qvm::vector<V2,Dim> r=vref(x)-y;
38 test_qvm::subtract_v(r.b,x.b,y.b);
39 BOOST_QVM_TEST_EQ(r.a,r.b);
40 }
41 {
42 test_qvm::vector<V1,Dim> const y(42,1);
43 test_qvm::vector<V2,Dim> r=x-vref(y);
44 test_qvm::subtract_v(r.b,x.b,y.b);
45 BOOST_QVM_TEST_EQ(r.a,r.b);
46 }
47 }
48 }
49
50int
51main()
52 {
53 test<2>();
54 test<3>();
55 test<4>();
56 test<5>();
57 return boost::report_errors();
58 }