Example #1
0
        public void Matrix_GetInverseMatrix(uint size)
        {
            MatrixDouble m = CreateRandomMatrix(size, size);
            MatrixDouble i = m.GetInverseMatrix();

            Assert.AreEqual(m.Width, i.Width);
            Assert.AreEqual(m.Height, i.Height);

            MatrixDouble r = m * i;

            Assert.IsTrue(r.IsIdentity(1e-4));
        }
Example #2
0
        public void MatrixDouble_IsIdentity()
        {
            MatrixDouble m = new MatrixDouble(5, 5);

            Assert.IsFalse(m.IsIdentity());

            m.SetIdentity();
            Assert.IsTrue(m.IsIdentity());

            const float epsilon = 0.1f;

            m[0, 0] = 1.0 + epsilon / 2.0;
            Assert.IsFalse(m.IsIdentity());
            Assert.IsTrue(m.IsIdentity(epsilon));
            Assert.IsTrue(m.IsIdentity((double)epsilon));

            m.SetIdentity();
            MatrixDouble inv = m.GetInverseMatrix();

            Assert.IsTrue(inv.IsIdentity());
        }