static void Main(string[] args) { Info(); string filename; int start_point; try { filename = args.Length != 0 ? args[0] : "0.edges"; start_point = args.Length >= 1 ? Convert.ToInt32(args[1]) : 0; } catch (Exception e) { Console.WriteLine(e); Console.WriteLine("give correct args [0] - filename [1]- correct index"); using (StreamWriter rw = File.AppendText("log.txt")) { var logmessage = "Error occured\n"; logmessage += $"{e.Message}"; Log(logmessage, rw); } throw; } MergeList graph; try { graph = new MergeList(Path.Combine(Environment.CurrentDirectory, filename)); } catch (Exception e) { Console.WriteLine(e); Console.WriteLine("check max vertex index and edges. each vertex should be < maxVertexIndex"); using (StreamWriter rw = File.AppendText("log.txt")) { var logmessage = "Cannot detect file\n"; logmessage += $"{e.Message}"; Log(logmessage, rw); } throw; } var graphParams = graph.GraphSizeInfo().Split(); Console.Write($"Vertexes: {graphParams[0]}\n" + $"Edges: {graphParams[1]}\n"); MeasureTest(graph, start_point); }
private static void MeasureTest(MergeList graph, int start_point) { StandMeasure(graph.Serial, start_point, "serial without check 5 times"); StandMeasure(graph.Serial, start_point); StandMeasure(graph.Serial, start_point); StandMeasure(graph.Serial, start_point); StandMeasure(graph.Serial, start_point); StandMeasure(graph.Leveled, start_point, "leveled parallel without check 5 times"); StandMeasure(graph.Leveled, start_point); StandMeasure(graph.Leveled, start_point); StandMeasure(graph.Leveled, start_point); StandMeasure(graph.Leveled, start_point); var Results = new List <List <int> >(); Results.Add(StandMeasure(graph.SerialCheck, start_point, "serial with check 2 times")); Results.Add(StandMeasure(graph.SerialCheck, start_point)); Results.Add(StandMeasure(graph.LeveledCheck, start_point, "leveled with check 2 times")); Results.Add(StandMeasure(graph.LeveledCheck, start_point)); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Counted visited vertexes for each call with check above: "); Console.ForegroundColor = ConsoleColor.Green; foreach (var result in Results) { Console.Write($"{result.Count} "); } Console.WriteLine(Environment.NewLine); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Above is comparison each list between each other, if one of them differs, you will see False"); Console.ForegroundColor = ConsoleColor.Green; foreach (var sequenceEqual in Results .SelectMany(result1 => Results.Select(result2 => Enumerable .SequenceEqual(result1.OrderBy(t => t), result2.OrderBy(t => t))))) { Console.ForegroundColor = sequenceEqual ? ConsoleColor.Green : ConsoleColor.Red; Console.Write($"{sequenceEqual} "); Console.ForegroundColor = ConsoleColor.White; } }
private void MapsetSelect_MouseDown(object sender, MouseEventArgs e) { try { MergeList.DoDragDrop(MapsetSelect.SelectedItem.ToString(), DragDropEffects.Copy); } catch { } }