]>
Commit | Line | Data |
---|---|---|
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 | ||
9 | using namespace boost::qvm; | |
10 | ||
11 | template <int R,int C> | |
12 | void | |
13 | check_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 | ||
19 | int | |
20 | main() | |
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 | } |