Example #1
0
        public void TestSimd()
        {
            // Arrange
            var a = new double[, ]
            {
                { 0, 0, 0, 0, 0 },
                { 0, 1, 2, 3, 4 },
                { 0, 5, 6, 7, 8 },
                { 0, 9, 10, 11, 12 },
                { 0, 13, 14, 15, 16 },
            };
            var b = new double[, ]
            {
                { 0, 0, 0, 0, 0 },
                { 0, 1, 2, 3, 4 },
                { 0, 5, 6, 7, 8 },
                { 0, 9, 10, 11, 12 },
                { 0, 13, 14, 15, 16 },
            };

            double[,] result = new double[a.GetUpperBound(0) + 1, a.GetUpperBound(1) + 1];

            // Act
            CSMM.MatrixMulti_Simd(result, a, b);

            // Assert
            var expected = new double[, ]
            {
                { 0, 0, 0, 0, 0 },
                { 0, 90, 100, 110, 120 },
                { 0, 202, 228, 254, 280 },
                { 0, 314, 356, 398, 440 },
                { 0, 426, 484, 542, 600 },
            };

            CollectionAssert.AreEqual(expected, result);
        }
Example #2
0
 public void TestSimd()
 {
     AssertMatrix((result, a, b) => CSMM.MatrixMulti_Simd(result, a, b));
 }
Example #3
0
 public double[,] Simd()
 {
     CSMM.MatrixMulti_Simd(result, a, b);
     return(result);
 }