]>
Commit | Line | Data |
---|---|---|
3a9019d9 FG |
1 | //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.\r |
2 | \r | |
3 | //Distributed under the Boost Software License, Version 1.0. (See accompanying\r | |
4 | //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r | |
5 | \r | |
6 | #include <boost/qvm/mat_access.hpp>\r | |
7 | #include "test_qvm_matrix.hpp"\r | |
8 | \r | |
9 | using namespace boost::qvm;\r | |
10 | \r | |
11 | template <int R,int C>\r | |
12 | void\r | |
13 | check_idx( test_qvm::matrix<M1,10,10> & m, float & (*f)( test_qvm::matrix<M1,10,10> & ) )\r | |
14 | {\r | |
15 | BOOST_TEST((&A<R,C>(m)==&m.a[R][C]));\r | |
16 | BOOST_TEST((&f(m)==&m.a[R][C]));\r | |
17 | }\r | |
18 | \r | |
19 | int\r | |
20 | main()\r | |
21 | { \r | |
22 | test_qvm::matrix<M1,10,10> m;\r | |
23 | #define CHECK_A(i,j) check_idx<i,j>(m,A##i##j);\r | |
24 | CHECK_A(0,0);\r | |
25 | CHECK_A(0,1);\r | |
26 | CHECK_A(0,2);\r | |
27 | CHECK_A(0,3);\r | |
28 | CHECK_A(0,4);\r | |
29 | CHECK_A(0,5);\r | |
30 | CHECK_A(0,6);\r | |
31 | CHECK_A(0,7);\r | |
32 | CHECK_A(0,8);\r | |
33 | CHECK_A(0,9);\r | |
34 | CHECK_A(1,0);\r | |
35 | CHECK_A(1,1);\r | |
36 | CHECK_A(1,2);\r | |
37 | CHECK_A(1,3);\r | |
38 | CHECK_A(1,4);\r | |
39 | CHECK_A(1,5);\r | |
40 | CHECK_A(1,6);\r | |
41 | CHECK_A(1,7);\r | |
42 | CHECK_A(1,8);\r | |
43 | CHECK_A(1,9);\r | |
44 | CHECK_A(2,0);\r | |
45 | CHECK_A(2,1);\r | |
46 | CHECK_A(2,2);\r | |
47 | CHECK_A(2,3);\r | |
48 | CHECK_A(2,4);\r | |
49 | CHECK_A(2,5);\r | |
50 | CHECK_A(2,6);\r | |
51 | CHECK_A(2,7);\r | |
52 | CHECK_A(2,8);\r | |
53 | CHECK_A(2,9);\r | |
54 | CHECK_A(3,0);\r | |
55 | CHECK_A(3,1);\r | |
56 | CHECK_A(3,2);\r | |
57 | CHECK_A(3,3);\r | |
58 | CHECK_A(3,4);\r | |
59 | CHECK_A(3,5);\r | |
60 | CHECK_A(3,6);\r | |
61 | CHECK_A(3,7);\r | |
62 | CHECK_A(3,8);\r | |
63 | CHECK_A(3,9);\r | |
64 | CHECK_A(4,0);\r | |
65 | CHECK_A(4,1);\r | |
66 | CHECK_A(4,2);\r | |
67 | CHECK_A(4,3);\r | |
68 | CHECK_A(4,4);\r | |
69 | CHECK_A(4,5);\r | |
70 | CHECK_A(4,6);\r | |
71 | CHECK_A(4,7);\r | |
72 | CHECK_A(4,8);\r | |
73 | CHECK_A(4,9);\r | |
74 | CHECK_A(5,0);\r | |
75 | CHECK_A(5,1);\r | |
76 | CHECK_A(5,2);\r | |
77 | CHECK_A(5,3);\r | |
78 | CHECK_A(5,4);\r | |
79 | CHECK_A(5,5);\r | |
80 | CHECK_A(5,6);\r | |
81 | CHECK_A(5,7);\r | |
82 | CHECK_A(5,8);\r | |
83 | CHECK_A(5,9);\r | |
84 | CHECK_A(6,0);\r | |
85 | CHECK_A(6,1);\r | |
86 | CHECK_A(6,2);\r | |
87 | CHECK_A(6,3);\r | |
88 | CHECK_A(6,4);\r | |
89 | CHECK_A(6,5);\r | |
90 | CHECK_A(6,6);\r | |
91 | CHECK_A(6,7);\r | |
92 | CHECK_A(6,8);\r | |
93 | CHECK_A(6,9);\r | |
94 | CHECK_A(7,0);\r | |
95 | CHECK_A(7,1);\r | |
96 | CHECK_A(7,2);\r | |
97 | CHECK_A(7,3);\r | |
98 | CHECK_A(7,4);\r | |
99 | CHECK_A(7,5);\r | |
100 | CHECK_A(7,6);\r | |
101 | CHECK_A(7,7);\r | |
102 | CHECK_A(7,8);\r | |
103 | CHECK_A(7,9);\r | |
104 | CHECK_A(8,0);\r | |
105 | CHECK_A(8,1);\r | |
106 | CHECK_A(8,2);\r | |
107 | CHECK_A(8,3);\r | |
108 | CHECK_A(8,4);\r | |
109 | CHECK_A(8,5);\r | |
110 | CHECK_A(8,6);\r | |
111 | CHECK_A(8,7);\r | |
112 | CHECK_A(8,8);\r | |
113 | CHECK_A(8,9);\r | |
114 | CHECK_A(9,0);\r | |
115 | CHECK_A(9,1);\r | |
116 | CHECK_A(9,2);\r | |
117 | CHECK_A(9,3);\r | |
118 | CHECK_A(9,4);\r | |
119 | CHECK_A(9,5);\r | |
120 | CHECK_A(9,6);\r | |
121 | CHECK_A(9,7);\r | |
122 | CHECK_A(9,8);\r | |
123 | CHECK_A(9,9);\r | |
124 | #undef CHECK_A\r | |
125 | return boost::report_errors();\r | |
126 | }\r |