public GenAnalysis(MemoEdit memoEdit, AnalysisSetting analysisSetting) : base(memoEdit, analysisSetting)
 {
     DisplayResult   = new DisplayResult(memoEdit);
     AnalysisSetting = analysisSetting;
     AnalysisSetting.IsCompareMethods = true;
     ResultDictionary           = new Dictionary <dynamic, List <Candidate> >();
     NumberOfLastGenerationList = new List <int>();
 }
Exemple #2
0
        static void DisplayResult(DisplayResult result)
        {
            string testSubject = result.SubjectType.Name.Replace(result.RunnerType.Name, "");

            Console.WriteLine("{0,-30}{1,-14}{2,-12}{3,-10}{4}", testSubject,
                result.TimeDuration.ToFriendlyString(),
                result.TimeDifference.ToFriendlyString(),
                result.DurationPerIteration.ToString("F0"),
                result.PercentageDifference > 1m
                    ? result.PercentageDifference.ToString("F2") + "x"
                    : "");
        }
 /// <summary>
 /// Displays all students test results for one chosen test in the StudentResultView
 /// </summary>
 /// <param name="testId"></param>
 public void DisplayStudentResult(int testId)
 {
     DisplayResult.Clear();
     foreach (TestResult tr in StudentTestResults.ToList())
     {
         foreach (Student student in AllStudents)
         {
             if (tr.TestId == testId && student.StudentId == tr.StudentId)
             {
                 DisplayResult.Add($"TestId: {tr.TestId}\nNamn: {student.FirstName} {student.LastName}\nPoäng: {tr.TotalPoints}");
             }
         }
     }
 }
Exemple #4
0
        static void DisplayResult(int count, DisplayResult result)
        {
            string testSubject = result.SubjectType.Name.Replace(result.RunnerType.Name, "");

            Console.WriteLine("{0,-30}{1,-14}{2,-12}{3,-10}{4,-12}{5,-12}{6}/s", testSubject,
                              result.TimeDuration.ToFriendlyString(),
                              result.TimeDifference.ToFriendlyString(),
                              result.DurationPerIteration.ToString("F0"),
                              result.PercentageDifference > 1m
                    ? result.PercentageDifference.ToString("F2") + "x"
                    : "",
                              (result.MemoryUsage / 1024).ToString("N0"),
                              result.Throughput.ToString("N0"));
        }
Exemple #5
0
        static void DisplayResult(int count, DisplayResult result)
        {
            string testSubject = result.SubjectType.Name.Replace(result.RunnerType.Name, "");

            Console.WriteLine("{0,-30}{1,-14}{2,-12}{3,-10}{4,-12}{5,-12}{6}/s", testSubject,
                result.TimeDuration.ToFriendlyString(),
                result.TimeDifference.ToFriendlyString(),
                result.DurationPerIteration.ToString("F0"),
                result.PercentageDifference > 1m
                    ? result.PercentageDifference.ToString("F2") + "x"
                    : "",
                (result.MemoryUsage/1024).ToString("N0"),
                result.Throughput.ToString("N0"));
        }
        /// <summary>
        /// Запуск работы анализа выбранных методов
        /// </summary>
        public void Start()
        {
            DisplayResult.ClearText();

            ResultDictionary = new Dictionary <dynamic, List <Candidate> >();

            var propertyInfo  = typeof(AnalysisSetting).GetProperty(AnalysisSetting.SelectMethod.ToString());
            var propertyValue = propertyInfo.GetValue(AnalysisSetting);

            //Получение первой популяции
            List <Candidate> firstCandidateList = GenerateFirstPopulation();

            DisplayResult.DisplayPopulation("Начальная популяция:", firstCandidateList);

            foreach (var selectionMethod in AnalysisSetting.List)
            {
                var resultCandidateList = new List <Candidate>();

                DisplayResult.DisplayText($"{GetMethodName(selectionMethod, selectionMethod.GetType())}");

                propertyInfo.SetValue(AnalysisSetting, selectionMethod);

                for (int run = 1; run <= AnalysisSetting.RunAmount; run++)
                {
                    ClearPopulation();
                    //DisplayResult.ClearText();
                    Population.AddRange(firstCandidateList);
                    Process();

                    var bestCandidate = GetBestCandidate();

                    DisplayResult.DisplayText($"Прогон №{run}\tЛучшее решение: {bestCandidate.DecValue}\tНайдено за {NumberOfLastGeneneration} итераций");
                    resultCandidateList.Add(bestCandidate);
                    NumberOfLastGenerationList.Add(NumberOfLastGeneneration);
                }

                DisplayResult.DisplayText($"Среднее   \tЛучшее решение: {GetAvgBestCandidate(resultCandidateList).DecValue}\tНайдено за {Math.Round(NumberOfLastGenerationList.Average(), MidpointRounding.AwayFromZero)} итераций");
                DisplayResult.AddNewLine();
                ResultDictionary.Add(selectionMethod, resultCandidateList);
            }

            propertyInfo.SetValue(AnalysisSetting, propertyValue);
        }
Exemple #7
0
        private void Num_Click(object sender, EventArgs e)
        {
            if (DisplayResult.Text == "0" || operandPerformed)
            {
                DisplayResult.Clear();
            }
            Button btn = (Button)sender;

            // DisplayResult.Text += btn.Text;
            operandPerformed = false;

            if (btn.Text == ".")
            {
                if (!DisplayResult.Text.Contains("."))
                {
                    DisplayResult.Text = DisplayResult.Text + btn.Text;
                }
            }
            else
            {
                DisplayResult.Text = DisplayResult.Text + btn.Text;
            }
        }
 private void BtnClear_Click(object sender, RoutedEventArgs e)
 {
     DisplayPrint.Clear();
     DisplayResult.Clear();
 }
Exemple #9
0
 // Use this for initialization
 void Awake()
 {
     Instance = this;
 }