@@ -154,6 +154,60 @@ int main()
154
154
Vector2f v8_check = {2 , 6 };
155
155
TEST (isEqual (v8,v8_check));
156
156
157
+ // Different assignment operators
158
+ SquareMatrix3f O (data);
159
+ float operand_data [4 ] = {2 , 1 , -3 , -1 };
160
+ const SquareMatrix<float , 2 > operand (operand_data);
161
+
162
+ O.slice <2 ,2 >(1 ,0 ) += operand;
163
+ float O_check_data_1 [9 ] = {0 , 2 , 3 , 6 , 6 , 6 , 4 , 7 , 10 };
164
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_1)));
165
+
166
+ O = SquareMatrix3f (data);
167
+ O.slice <2 ,1 >(1 ,1 ) += operand.slice <2 ,1 >(0 ,0 );
168
+ float O_check_data_2 [9 ] = {0 , 2 , 3 , 4 , 7 , 6 , 7 , 5 , 10 };
169
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_2)));
170
+
171
+ O = SquareMatrix3f (data);
172
+ O.slice <3 ,3 >(0 ,0 ) += -1 ;
173
+ float O_check_data_3 [9 ] = {-1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 9 };
174
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_3)));
175
+
176
+ O = SquareMatrix3f (data);
177
+ O.col (1 ) += Vector3f{1 , -2 , 3 };
178
+ float O_check_data_4 [9 ] = {0 , 3 , 3 , 4 , 3 , 6 , 7 , 11 , 10 };
179
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_4)));
180
+
181
+ O = SquareMatrix3f (data);
182
+ O.slice <2 ,2 >(1 ,0 ) -= operand;
183
+ float O_check_data_5 [9 ] = {0 , 2 , 3 , 2 , 4 , 6 , 10 , 9 , 10 };
184
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_5)));
185
+
186
+ O = SquareMatrix3f (data);
187
+ O.slice <2 ,1 >(1 ,1 ) -= operand.slice <2 ,1 >(0 ,0 );
188
+ float O_check_data_6 [9 ] = {0 , 2 , 3 , 4 , 3 , 6 , 7 , 11 , 10 };
189
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_6)));
190
+
191
+ O = SquareMatrix3f (data);
192
+ O.slice <3 ,3 >(0 ,0 ) -= -1 ;
193
+ float O_check_data_7 [9 ] = {1 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 11 };
194
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_7)));
195
+
196
+ O = SquareMatrix3f (data);
197
+ O.col (1 ) -= Vector3f{1 , -2 , 3 };
198
+ float O_check_data_8 [9 ] = {0 , 1 , 3 , 4 , 7 , 6 , 7 , 5 , 10 };
199
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_8)));
200
+
201
+ O = SquareMatrix3f (data);
202
+ O.slice <2 ,1 >(1 ,1 ) *= 5 .f ;
203
+ float O_check_data_9 [9 ] = {0 , 2 , 3 , 4 , 25 , 6 , 7 , 40 , 10 };
204
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_9)));
205
+
206
+ O = SquareMatrix3f (data);
207
+ O.slice <2 ,1 >(1 ,1 ) /= 2 .f ;
208
+ float O_check_data_10 [9 ] = {0 , 2 , 3 , 4 , 2.5 , 6 , 7 , 4 , 10 };
209
+ TEST (isEqual (O, SquareMatrix3f (O_check_data_10)));
210
+
157
211
return 0 ;
158
212
}
159
213
0 commit comments