Example #1
0
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());
}
Example #2
0
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());
}