public void MatrixTransp() { MathFuncsMatrix mymatr1 = new MathFuncsMatrix(); MathFuncsMatrixSeq mymatr2 = new MathFuncsMatrixSeq(); int N = 1000; int M = 500; double[] a = new double[N * M]; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { a[i * M + j] = i + j; } } Stopwatch sw1 = new Stopwatch(); sw1.Start(); mymatr1.Transp(a, N, M); sw1.Stop(); double secPar = sw1.ElapsedMilliseconds / 1000.0; Stopwatch sw2 = new Stopwatch(); sw2.Start(); mymatr2.Transp(a, N, M); sw2.Stop(); double secSeq = sw2.ElapsedMilliseconds / 1000.0; Assert.IsTrue(secPar < secSeq, "последовательный вариант быстрее!"); }
public void MatrixMult() { MathFuncsMatrix mymatr1 = new MathFuncsMatrix(); MathFuncsMatrixSeq mymatr2 = new MathFuncsMatrixSeq(); int M = 1000; int N = 2000; int Q = 100; var A = new double[M * N]; var B = new double[N * Q]; for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { A[i * N + j] = i + j; } } for (int i = 0; i < N; i++) { for (int j = 0; j < Q; j++) { B[i * Q + j] = j * 3.1; } } Stopwatch sw1 = new Stopwatch(); sw1.Start(); mymatr1.Mult(A, B, M, N, Q); sw1.Stop(); double secPar = sw1.ElapsedMilliseconds / 1000.0; Stopwatch sw2 = new Stopwatch(); sw2.Start(); mymatr2.Mult(A, B, M, N, Q); sw2.Stop(); double secSeq = sw2.ElapsedMilliseconds / 1000.0; Assert.IsTrue(secPar < secSeq, "последовательный вариант быстрее!"); }
public void MatrixVector() { MathFuncsMatrix mymatr1 = new MathFuncsMatrix(); MathFuncsMatrixSeq mymatr2 = new MathFuncsMatrixSeq(); int N = 1000; int M = 500; double[] a = new double[M * N]; double[] b = new double[N]; for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { a[i * N + j] = i + j; } } for (int j = 0; j < N; j++) { b[j] = j; } Stopwatch sw1 = new Stopwatch(); sw1.Start(); mymatr1.MultVector(a, b, M, N); sw1.Stop(); double secPar = sw1.ElapsedMilliseconds / 1000.0; Stopwatch sw2 = new Stopwatch(); sw2.Start(); mymatr2.MultVector(a, b, M, N); sw2.Stop(); double secSeq = sw2.ElapsedMilliseconds / 1000.0; Assert.IsTrue(secPar < secSeq, "последовательный вариант быстрее!"); }