public Test_result(IMatrixReadStorage<int, EmptyData> storage, IMatrixReadStorage<int, SolutionData> datastorage, IAlgorithm<int> algorithm, PartitioningParameters parameters) { results = new AllResults(); InitializeComponent(); foreach (var matrixData in storage.ReadMatrixes()) { string name = matrixData.Name; IMatrix<int> matrix = matrixData.Matrix; int n = matrixData.Matrix.Size(0); int m = matrixData.Matrix.Size(1); int M1 = parameters[0]; int M2 = parameters[1]; Int64 start = Stopwatch.GetTimestamp(); ISolution solution = algorithm.Run(matrix); double time = (Stopwatch.GetTimestamp() - start) / (double)Stopwatch.Frequency; double crit = MinMaxCriterium.Calculate(matrix, solution); double w = Utilities.W(matrix, parameters); double diff = crit - w; results.AddElem(new Note(name, n, m, M1, M2, crit, diff, 0, time, false)); } foreach (var matrixData in datastorage.ReadMatrixes()) { string name = matrixData.Name; IMatrix<int> matrix = matrixData.Matrix; int n = matrixData.Matrix.Size(0); int m = matrixData.Matrix.Size(1); PartitioningParameters dataParameters = matrixData.Data.Item1; int M1 = dataParameters[0]; int M2 = dataParameters[1]; double goodCrit = matrixData.Data.Item3; Int64 start = Stopwatch.GetTimestamp(); ISolution solution = algorithm.Run(matrix); double time = (Stopwatch.GetTimestamp() - start) / (double)Stopwatch.Frequency; double crit = CoreUtilities.Utilities.Max(new SplittedMatrix(matrix, solution)); double w = Utilities.W(matrix, dataParameters); double diff = crit - w; double goodDiff = crit - goodCrit; results.AddElem(new Note(name, n, m, M1, M2, crit, diff, goodDiff, time, true)); } results.GetGroups(GroupedResults); }
public Test_result(IMatrixReadStorage <int, EmptyData> storage, IMatrixReadStorage <int, SolutionData> datastorage, IAlgorithm <int> algorithm, PartitioningParameters parameters) { results = new AllResults(); InitializeComponent(); foreach (var matrixData in storage.ReadMatrixes()) { string name = matrixData.Name; IMatrix <int> matrix = matrixData.Matrix; int n = matrixData.Matrix.Size(0); int m = matrixData.Matrix.Size(1); int M1 = parameters[0]; int M2 = parameters[1]; Int64 start = Stopwatch.GetTimestamp(); ISolution solution = algorithm.Run(matrix); double time = (Stopwatch.GetTimestamp() - start) / (double)Stopwatch.Frequency; double crit = MinMaxCriterium.Calculate(matrix, solution); double w = Utilities.W(matrix, parameters); double diff = crit - w; results.AddElem(new Note(name, n, m, M1, M2, crit, diff, 0, time, false)); } foreach (var matrixData in datastorage.ReadMatrixes()) { string name = matrixData.Name; IMatrix <int> matrix = matrixData.Matrix; int n = matrixData.Matrix.Size(0); int m = matrixData.Matrix.Size(1); PartitioningParameters dataParameters = matrixData.Data.Item1; int M1 = dataParameters[0]; int M2 = dataParameters[1]; double goodCrit = matrixData.Data.Item3; Int64 start = Stopwatch.GetTimestamp(); ISolution solution = algorithm.Run(matrix); double time = (Stopwatch.GetTimestamp() - start) / (double)Stopwatch.Frequency; double crit = CoreUtilities.Utilities.Max(new SplittedMatrix(matrix, solution)); double w = Utilities.W(matrix, dataParameters); double diff = crit - w; double goodDiff = crit - goodCrit; results.AddElem(new Note(name, n, m, M1, M2, crit, diff, goodDiff, time, true)); } results.GetGroups(GroupedResults); }