Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
 private void MapsetSelect_MouseDown(object sender, MouseEventArgs e)
 {
     try
     { MergeList.DoDragDrop(MapsetSelect.SelectedItem.ToString(), DragDropEffects.Copy); }
     catch { }
 }