]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/qvm/test/access_m_test.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / qvm / test / access_m_test.cpp
CommitLineData
92f5a8d4
TL
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/mat_access.hpp>
7#include "test_qvm_matrix.hpp"
8
9using namespace boost::qvm;
10
11template <int R,int C>
12void
13check_idx( test_qvm::matrix<M1,10,10> & m, float & (*f)( test_qvm::matrix<M1,10,10> & ) )
14 {
15 BOOST_TEST((&A<R,C>(m)==&m.a[R][C]));
16 BOOST_TEST((&f(m)==&m.a[R][C]));
17 }
18
19int
20main()
21 {
22 test_qvm::matrix<M1,10,10> m;
23#define CHECK_A(i,j) check_idx<i,j>(m,A##i##j);
24 CHECK_A(0,0);
25 CHECK_A(0,1);
26 CHECK_A(0,2);
27 CHECK_A(0,3);
28 CHECK_A(0,4);
29 CHECK_A(0,5);
30 CHECK_A(0,6);
31 CHECK_A(0,7);
32 CHECK_A(0,8);
33 CHECK_A(0,9);
34 CHECK_A(1,0);
35 CHECK_A(1,1);
36 CHECK_A(1,2);
37 CHECK_A(1,3);
38 CHECK_A(1,4);
39 CHECK_A(1,5);
40 CHECK_A(1,6);
41 CHECK_A(1,7);
42 CHECK_A(1,8);
43 CHECK_A(1,9);
44 CHECK_A(2,0);
45 CHECK_A(2,1);
46 CHECK_A(2,2);
47 CHECK_A(2,3);
48 CHECK_A(2,4);
49 CHECK_A(2,5);
50 CHECK_A(2,6);
51 CHECK_A(2,7);
52 CHECK_A(2,8);
53 CHECK_A(2,9);
54 CHECK_A(3,0);
55 CHECK_A(3,1);
56 CHECK_A(3,2);
57 CHECK_A(3,3);
58 CHECK_A(3,4);
59 CHECK_A(3,5);
60 CHECK_A(3,6);
61 CHECK_A(3,7);
62 CHECK_A(3,8);
63 CHECK_A(3,9);
64 CHECK_A(4,0);
65 CHECK_A(4,1);
66 CHECK_A(4,2);
67 CHECK_A(4,3);
68 CHECK_A(4,4);
69 CHECK_A(4,5);
70 CHECK_A(4,6);
71 CHECK_A(4,7);
72 CHECK_A(4,8);
73 CHECK_A(4,9);
74 CHECK_A(5,0);
75 CHECK_A(5,1);
76 CHECK_A(5,2);
77 CHECK_A(5,3);
78 CHECK_A(5,4);
79 CHECK_A(5,5);
80 CHECK_A(5,6);
81 CHECK_A(5,7);
82 CHECK_A(5,8);
83 CHECK_A(5,9);
84 CHECK_A(6,0);
85 CHECK_A(6,1);
86 CHECK_A(6,2);
87 CHECK_A(6,3);
88 CHECK_A(6,4);
89 CHECK_A(6,5);
90 CHECK_A(6,6);
91 CHECK_A(6,7);
92 CHECK_A(6,8);
93 CHECK_A(6,9);
94 CHECK_A(7,0);
95 CHECK_A(7,1);
96 CHECK_A(7,2);
97 CHECK_A(7,3);
98 CHECK_A(7,4);
99 CHECK_A(7,5);
100 CHECK_A(7,6);
101 CHECK_A(7,7);
102 CHECK_A(7,8);
103 CHECK_A(7,9);
104 CHECK_A(8,0);
105 CHECK_A(8,1);
106 CHECK_A(8,2);
107 CHECK_A(8,3);
108 CHECK_A(8,4);
109 CHECK_A(8,5);
110 CHECK_A(8,6);
111 CHECK_A(8,7);
112 CHECK_A(8,8);
113 CHECK_A(8,9);
114 CHECK_A(9,0);
115 CHECK_A(9,1);
116 CHECK_A(9,2);
117 CHECK_A(9,3);
118 CHECK_A(9,4);
119 CHECK_A(9,5);
120 CHECK_A(9,6);
121 CHECK_A(9,7);
122 CHECK_A(9,8);
123 CHECK_A(9,9);
124#undef CHECK_A
125 return boost::report_errors();
126 }