TEST(MatrixTest, DetTest) { Mat<1> const mat1 = {1.0}; ASSERT_FLOAT_EQ(1, mat1.det()); Mat<2,2> const mat2 = { 1.0,2.0, 7.0,8.0,}; ASSERT_FLOAT_EQ(-6, mat2.det()); Mat<3,3> const mat3 = { 1.0,0.0,1.0, 3.0,2.0,4.0, 1.0,6.0,1.0}; ASSERT_FLOAT_EQ(-6, mat3.det()); }
TEST(MatrixTest, MultSameSizeMatrixTest) { Mat<3,3> const m = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, }; Mat<3,3> const mat = { 1.0,2.0,3.0, 4.0,5.0,6.0, 7.0,8.0,9.0}; auto m2 = mat * m; ASSERT_FLOAT_EQ( 1.0, m2(0,0) ); ASSERT_FLOAT_EQ( 1.0, m2(0,1) ); ASSERT_FLOAT_EQ( 1.0, m2(0,2) ); ASSERT_FLOAT_EQ( 4.0, m2(1,0) ); ASSERT_FLOAT_EQ( 4.0, m2(1,1) ); ASSERT_FLOAT_EQ( 4.0, m2(1,2) ); ASSERT_FLOAT_EQ( 7.0, m2(2,0) ); ASSERT_FLOAT_EQ( 7.0, m2(2,1) ); ASSERT_FLOAT_EQ( 7.0, m2(2,2) ); ASSERT_FLOAT_EQ(0, m.det()); }