Пример #1
0
        public void MatrixMultiplication0Threads()
        {
            // Arrange
            Matrix d = MatrixVectorData.ArrangeMatrixD_3_3();
            Matrix e = MatrixVectorData.ArrangeMatrixE_3_3();

            // Act
            Matrix result = Matrix.Multiplication(d, e, 0);
        }
Пример #2
0
        public void SetColumnArray()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixE_3_3();

            double[] column = { 2, -1.64, 30000 };

            // Act
            a.SetColumn(column, 1);

            // Assert
            Assert.AreEqual(2, a.GetValue(0, 1));
            Assert.AreEqual(-1.64, a.GetValue(1, 1));
            Assert.AreEqual(30000, a.GetValue(2, 1));
        }
Пример #3
0
        public void Clone()
        {
            // Arrange
            Matrix e = MatrixVectorData.ArrangeMatrixE_3_3();

            // Act
            Matrix result = e.Copy();

            // Assert
            Assert.AreEqual(.5666, result.GetValue(0, 0));
            Assert.AreEqual(7667, result.GetValue(1, 0));
            Assert.AreEqual(23, result.GetValue(2, 0));
            Assert.AreEqual(12.09909, result.GetValue(0, 1));
            Assert.AreEqual(34, result.GetValue(1, 1));
            Assert.AreEqual(-3, result.GetValue(2, 1));
            Assert.AreEqual(-42.04, result.GetValue(0, 2));
            Assert.AreEqual(2, result.GetValue(1, 2));
            Assert.AreEqual(-.06, result.GetValue(2, 2));
        }
Пример #4
0
        public void PerformOperationNullOperation()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixE_3_3();

            // Act
            Matrix result = Matrix.PerformOperation(a, null);

            // Assert
            Assert.AreEqual(.5666, result.GetValue(0, 0));
            Assert.AreEqual(7667, result.GetValue(1, 0));
            Assert.AreEqual(23, result.GetValue(2, 0));
            Assert.AreEqual(12.09909, result.GetValue(0, 1));
            Assert.AreEqual(34, result.GetValue(1, 1));
            Assert.AreEqual(-3, result.GetValue(2, 1));
            Assert.AreEqual(-42.04, result.GetValue(0, 2));
            Assert.AreEqual(2, result.GetValue(1, 2));
            Assert.AreEqual(-.06, result.GetValue(2, 2));
        }
Пример #5
0
        public void SubtractMatrixStaticSameSize()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixD_3_3();
            Matrix b = MatrixVectorData.ArrangeMatrixE_3_3();

            // Act
            Matrix result = Matrix.Subtract(a, b);

            // Assert
            Assert.AreEqual(-.1466, result.GetValue(0, 0));
            Assert.AreEqual(-7767, result.GetValue(1, 0));
            Assert.AreEqual((-1.56).ToString(), result.GetValue(2, 0).ToString());
            Assert.AreEqual((-12.09909).ToString(), result.GetValue(0, 1).ToString());
            Assert.AreEqual(-32.66, result.GetValue(1, 1));
            Assert.AreEqual(-53.7, result.GetValue(2, 1));
            Assert.AreEqual(42.048, result.GetValue(0, 2));
            Assert.AreEqual(11, result.GetValue(1, 2));
            Assert.AreEqual((15.61).ToString(), result.GetValue(2, 2).ToString());
        }
Пример #6
0
        public void MatrixMultiplication1000Threads()
        {
            // Arrange
            Matrix d = MatrixVectorData.ArrangeMatrixD_3_3();
            Matrix e = MatrixVectorData.ArrangeMatrixE_3_3();

            // Act
            Matrix result = Matrix.Multiplication(d, e, 1000);

            // Assert
            Assert.AreEqual(.421972, result.GetValue(0, 0));
            Assert.AreEqual(10516.12, result.GetValue(1, 0));
            Assert.AreEqual(-434349.102096, result.GetValue(2, 0));
            Assert.AreEqual(5.0576178, result.GetValue(0, 1));
            Assert.AreEqual((-1203.349).ToString(), result.GetValue(1, 1).ToString());
            Assert.AreEqual((-1715.0455104).ToString(), result.GetValue(2, 1).ToString());
            Assert.AreEqual(-17.65728, result.GetValue(0, 2));
            Assert.AreEqual((4205.9).ToString(), result.GetValue(1, 2).ToString());
            Assert.AreEqual(-1015.6706, result.GetValue(2, 2));
        }
Пример #7
0
        public void PerformOperation()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixE_3_3();

            Func <double, double> func = x =>
            {
                return(x * 2);
            };

            // Act
            Matrix result = a.PerformOperation(func);

            // Assert
            Assert.AreEqual(1.1332, result.GetValue(0, 0));
            Assert.AreEqual(15334, result.GetValue(1, 0));
            Assert.AreEqual(46, result.GetValue(2, 0));
            Assert.AreEqual(24.19818, result.GetValue(0, 1));
            Assert.AreEqual(68, result.GetValue(1, 1));
            Assert.AreEqual(-6, result.GetValue(2, 1));
            Assert.AreEqual(-84.08, result.GetValue(0, 2));
            Assert.AreEqual(4, result.GetValue(1, 2));
            Assert.AreEqual(-.12, result.GetValue(2, 2));
        }