@@ -28,24 +28,24 @@ test_ref_cast( T & v, P * ptr )
2828 BOOST_QVM_STATIC_ASSERT (is_mat<T>::value);
2929 BOOST_QVM_STATIC_ASSERT (mat_traits<T>::rows==3 );
3030 BOOST_QVM_STATIC_ASSERT (mat_traits<T>::cols==2 );
31- BOOST_TEST ((mat_traits<T>::template read_element<0 ,0 >(v)== ptr[0 *2 +0 ]) );
32- BOOST_TEST ((mat_traits<T>::template read_element<0 ,1 >(v)== ptr[0 *2 +1 ]) );
33- BOOST_TEST ((mat_traits<T>::template read_element<1 ,0 >(v)== ptr[1 *2 +0 ]) );
34- BOOST_TEST ((mat_traits<T>::template read_element<1 ,1 >(v)== ptr[1 *2 +1 ]) );
35- BOOST_TEST ((mat_traits<T>::template read_element<2 ,0 >(v)== ptr[2 *2 +0 ]) );
36- BOOST_TEST ((mat_traits<T>::template read_element<2 ,1 >(v)== ptr[2 *2 +1 ]) );
37- BOOST_TEST ((&mat_traits<T>::template write_element<0 ,0 >(v)== &ptr[0 *2 +0 ]) );
38- BOOST_TEST ((&mat_traits<T>::template write_element<0 ,1 >(v)== &ptr[0 *2 +1 ]) );
39- BOOST_TEST ((&mat_traits<T>::template write_element<1 ,0 >(v)== &ptr[1 *2 +0 ]) );
40- BOOST_TEST ((&mat_traits<T>::template write_element<1 ,1 >(v)== &ptr[1 *2 +1 ]) );
41- BOOST_TEST ((&mat_traits<T>::template write_element<2 ,0 >(v)== &ptr[2 *2 +0 ]) );
42- BOOST_TEST ((&mat_traits<T>::template write_element<2 ,1 >(v)== &ptr[2 *2 +1 ]) );
43- BOOST_TEST (&v[0 ][0 ]== &ptr[0 *2 +0 ]);
44- BOOST_TEST (&v[0 ][1 ]== &ptr[0 *2 +1 ]);
45- BOOST_TEST (&v[1 ][0 ]== &ptr[1 *2 +0 ]);
46- BOOST_TEST (&v[1 ][1 ]== &ptr[1 *2 +1 ]);
47- BOOST_TEST (&v[2 ][0 ]== &ptr[2 *2 +0 ]);
48- BOOST_TEST (&v[2 ][1 ]== &ptr[2 *2 +1 ]);
31+ BOOST_TEST_EQ ((mat_traits<T>::template read_element<0 ,0 >(v)), ptr[0 *2 +0 ]);
32+ BOOST_TEST_EQ ((mat_traits<T>::template read_element<0 ,1 >(v)), ptr[0 *2 +1 ]);
33+ BOOST_TEST_EQ ((mat_traits<T>::template read_element<1 ,0 >(v)), ptr[1 *2 +0 ]);
34+ BOOST_TEST_EQ ((mat_traits<T>::template read_element<1 ,1 >(v)), ptr[1 *2 +1 ]);
35+ BOOST_TEST_EQ ((mat_traits<T>::template read_element<2 ,0 >(v)), ptr[2 *2 +0 ]);
36+ BOOST_TEST_EQ ((mat_traits<T>::template read_element<2 ,1 >(v)), ptr[2 *2 +1 ]);
37+ BOOST_TEST_EQ ((&mat_traits<T>::template write_element<0 ,0 >(v)), &ptr[0 *2 +0 ]);
38+ BOOST_TEST_EQ ((&mat_traits<T>::template write_element<0 ,1 >(v)), &ptr[0 *2 +1 ]);
39+ BOOST_TEST_EQ ((&mat_traits<T>::template write_element<1 ,0 >(v)), &ptr[1 *2 +0 ]);
40+ BOOST_TEST_EQ ((&mat_traits<T>::template write_element<1 ,1 >(v)), &ptr[1 *2 +1 ]);
41+ BOOST_TEST_EQ ((&mat_traits<T>::template write_element<2 ,0 >(v)), &ptr[2 *2 +0 ]);
42+ BOOST_TEST_EQ ((&mat_traits<T>::template write_element<2 ,1 >(v)), &ptr[2 *2 +1 ]);
43+ BOOST_TEST_EQ (&v[0 ][0 ], &ptr[0 *2 +0 ]);
44+ BOOST_TEST_EQ (&v[0 ][1 ], &ptr[0 *2 +1 ]);
45+ BOOST_TEST_EQ (&v[1 ][0 ], &ptr[1 *2 +0 ]);
46+ BOOST_TEST_EQ (&v[1 ][1 ], &ptr[1 *2 +1 ]);
47+ BOOST_TEST_EQ (&v[2 ][0 ], &ptr[2 *2 +0 ]);
48+ BOOST_TEST_EQ (&v[2 ][1 ], &ptr[2 *2 +1 ]);
4949 }
5050
5151int
@@ -62,60 +62,60 @@ main()
6262 same_type< mat<int ,3 ,3 >, deduce_mat<int [3 ][3 ]>::type >();
6363 same_type< mat<int ,3 ,3 >, deduce_mat<int const [3 ][3 ]>::type >();
6464 int arr[3 ][3 ] = {{00 ,01 ,02 },{10 ,11 ,12 },{20 ,21 ,22 }};
65- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<0 ,0 >(arr)== 00 ) );
66- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<0 ,1 >(arr)== 01 ) );
67- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<0 ,2 >(arr)== 02 ) );
68- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<1 ,0 >(arr)== 10 ) );
69- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<1 ,1 >(arr)== 11 ) );
70- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<1 ,2 >(arr)== 12 ) );
71- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<2 ,0 >(arr)== 20 ) );
72- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<2 ,1 >(arr)== 21 ) );
73- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element<2 ,2 >(arr)== 22 ) );
74- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<0 ,0 >(arr)== 00 ) );
75- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<0 ,1 >(arr)== 01 ) );
76- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<0 ,2 >(arr)== 02 ) );
77- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<1 ,0 >(arr)== 10 ) );
78- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<1 ,1 >(arr)== 11 ) );
79- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<1 ,2 >(arr)== 12 ) );
80- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<2 ,0 >(arr)== 20 ) );
81- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<2 ,1 >(arr)== 21 ) );
82- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element<2 ,2 >(arr)== 22 ) );
83- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (0 ,0 ,arr)== 00 ) );
84- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (0 ,1 ,arr)== 01 ) );
85- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (0 ,2 ,arr)== 02 ) );
86- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (1 ,0 ,arr)== 10 ) );
87- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (1 ,1 ,arr)== 11 ) );
88- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (1 ,2 ,arr)== 12 ) );
89- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (2 ,0 ,arr)== 20 ) );
90- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (2 ,1 ,arr)== 21 ) );
91- BOOST_TEST ((mat_traits<int [3 ][3 ]>::read_element_idx (2 ,2 ,arr)== 22 ) );
92- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (0 ,0 ,arr)== 00 ) );
93- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (0 ,1 ,arr)== 01 ) );
94- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (0 ,2 ,arr)== 02 ) );
95- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (1 ,0 ,arr)== 10 ) );
96- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (1 ,1 ,arr)== 11 ) );
97- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (1 ,2 ,arr)== 12 ) );
98- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (2 ,0 ,arr)== 20 ) );
99- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (2 ,1 ,arr)== 21 ) );
100- BOOST_TEST ((mat_traits<int const [3 ][3 ]>::read_element_idx (2 ,2 ,arr)== 22 ) );
101- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<0 ,0 >(arr)== &arr[0 ][0 ]) );
102- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<0 ,1 >(arr)== &arr[0 ][1 ]) );
103- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<0 ,2 >(arr)== &arr[0 ][2 ]) );
104- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<1 ,0 >(arr)== &arr[1 ][0 ]) );
105- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<1 ,1 >(arr)== &arr[1 ][1 ]) );
106- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<1 ,2 >(arr)== &arr[1 ][2 ]) );
107- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<2 ,0 >(arr)== &arr[2 ][0 ]) );
108- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<2 ,1 >(arr)== &arr[2 ][1 ]) );
109- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element<2 ,2 >(arr)== &arr[2 ][2 ]) );
110- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (0 ,0 ,arr)== &arr[0 ][0 ]) );
111- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (0 ,1 ,arr)== &arr[0 ][1 ]) );
112- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (0 ,2 ,arr)== &arr[0 ][2 ]) );
113- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (1 ,0 ,arr)== &arr[1 ][0 ]) );
114- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (1 ,1 ,arr)== &arr[1 ][1 ]) );
115- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (1 ,2 ,arr)== &arr[1 ][2 ]) );
116- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (2 ,0 ,arr)== &arr[2 ][0 ]) );
117- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (2 ,1 ,arr)== &arr[2 ][1 ]) );
118- BOOST_TEST ((&mat_traits<int [3 ][3 ]>::write_element_idx (2 ,2 ,arr)== &arr[2 ][2 ]) );
65+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<0 ,0 >(arr)), 00 );
66+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<0 ,1 >(arr)), 01 );
67+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<0 ,2 >(arr)), 02 );
68+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<1 ,0 >(arr)), 10 );
69+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<1 ,1 >(arr)), 11 );
70+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<1 ,2 >(arr)), 12 );
71+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<2 ,0 >(arr)), 20 );
72+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<2 ,1 >(arr)), 21 );
73+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element<2 ,2 >(arr)), 22 );
74+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<0 ,0 >(arr)), 00 );
75+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<0 ,1 >(arr)), 01 );
76+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<0 ,2 >(arr)), 02 );
77+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<1 ,0 >(arr)), 10 );
78+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<1 ,1 >(arr)), 11 );
79+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<1 ,2 >(arr)), 12 );
80+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<2 ,0 >(arr)), 20 );
81+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<2 ,1 >(arr)), 21 );
82+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element<2 ,2 >(arr)), 22 );
83+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (0 ,0 ,arr)), 00 );
84+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (0 ,1 ,arr)), 01 );
85+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (0 ,2 ,arr)), 02 );
86+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (1 ,0 ,arr)), 10 );
87+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (1 ,1 ,arr)), 11 );
88+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (1 ,2 ,arr)), 12 );
89+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (2 ,0 ,arr)), 20 );
90+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (2 ,1 ,arr)), 21 );
91+ BOOST_TEST_EQ ((mat_traits<int [3 ][3 ]>::read_element_idx (2 ,2 ,arr)), 22 );
92+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (0 ,0 ,arr)), 00 );
93+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (0 ,1 ,arr)), 01 );
94+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (0 ,2 ,arr)), 02 );
95+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (1 ,0 ,arr)), 10 );
96+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (1 ,1 ,arr)), 11 );
97+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (1 ,2 ,arr)), 12 );
98+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (2 ,0 ,arr)), 20 );
99+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (2 ,1 ,arr)), 21 );
100+ BOOST_TEST_EQ ((mat_traits<int const [3 ][3 ]>::read_element_idx (2 ,2 ,arr)), 22 );
101+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<0 ,0 >(arr)), &arr[0 ][0 ]);
102+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<0 ,1 >(arr)), &arr[0 ][1 ]);
103+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<0 ,2 >(arr)), &arr[0 ][2 ]);
104+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<1 ,0 >(arr)), &arr[1 ][0 ]);
105+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<1 ,1 >(arr)), &arr[1 ][1 ]);
106+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<1 ,2 >(arr)), &arr[1 ][2 ]);
107+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<2 ,0 >(arr)), &arr[2 ][0 ]);
108+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<2 ,1 >(arr)), &arr[2 ][1 ]);
109+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element<2 ,2 >(arr)), &arr[2 ][2 ]);
110+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (0 ,0 ,arr)), &arr[0 ][0 ]);
111+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (0 ,1 ,arr)), &arr[0 ][1 ]);
112+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (0 ,2 ,arr)), &arr[0 ][2 ]);
113+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (1 ,0 ,arr)), &arr[1 ][0 ]);
114+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (1 ,1 ,arr)), &arr[1 ][1 ]);
115+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (1 ,2 ,arr)), &arr[1 ][2 ]);
116+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (2 ,0 ,arr)), &arr[2 ][0 ]);
117+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (2 ,1 ,arr)), &arr[2 ][1 ]);
118+ BOOST_TEST_EQ ((&mat_traits<int [3 ][3 ]>::write_element_idx (2 ,2 ,arr)), &arr[2 ][2 ]);
119119 }
120120 {
121121 int arr[42 ] = {0 };
@@ -129,12 +129,12 @@ main()
129129 test_ref_cast (ptr_mref<3 ,2 >(ptr),ptr);
130130 int m[3 ][2 ] = {{1 ,1 },{1 ,1 },{1 ,1 }};
131131 ptr_mref<3 ,2 >(ptr) += mref (m);
132- BOOST_TEST (ptr[0 *2 +0 ]= 43 );
133- BOOST_TEST (ptr[0 *2 +1 ]= 44 );
134- BOOST_TEST (ptr[1 *2 +0 ]= 45 );
135- BOOST_TEST (ptr[1 *2 +1 ]= 46 );
136- BOOST_TEST (ptr[2 *2 +0 ]= 47 );
137- BOOST_TEST (ptr[2 *2 +1 ]= 48 );
132+ BOOST_TEST_EQ (ptr[0 *2 +0 ], 43 );
133+ BOOST_TEST_EQ (ptr[0 *2 +1 ], 44 );
134+ BOOST_TEST_EQ (ptr[1 *2 +0 ], 45 );
135+ BOOST_TEST_EQ (ptr[1 *2 +1 ], 46 );
136+ BOOST_TEST_EQ (ptr[2 *2 +0 ], 47 );
137+ BOOST_TEST_EQ (ptr[2 *2 +1 ], 48 );
138138 }
139139 return boost::report_errors ();
140140 }
0 commit comments