private static double Simuleer(int dim, MatProd methodeProd) { double[] tijden = new double[ITERATIONS]; for (int i = 0; i < ITERATIONS; i++) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); int[,] a = MatrixOperations.CreateMatrix(dim); int[,] b = MatrixOperations.CreateMatrix(dim); int[][] c = methodeProd?.Invoke(a, b); stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; tijden[i] = ts.TotalSeconds; } return(tijden.Average()); }
/******************** ASYNCHROON ****************************/ public static async Task <int[][]> MatrixProductAsync(int[,] aMatrix, int[,] bMatrix, MatProd methodProd) { int[][] product = await Task.Run(() => methodProd?.Invoke(aMatrix, bMatrix)); return(product); }