Exemple #1
0
 public void Calculation_measure_of_expression(List <Dictionary <string, double> > Dictionary_of_scales, List <Test> TESTS)
 {
     for (int number_group = 0; number_group < Groups.Count; number_group++)
     {
         for (int number_link = 0; number_link < Groups[number_group].Links.Count; number_link++)
         {
             double Sum = 0;
             for (int i = 0; i < Groups[number_group].Links[number_link].Test_name.Count; i++)
             {
                 int number_test = Additional_functions.Number_of_Contains(TESTS, Groups[number_group].Links[number_link].Test_name[i]);
                 if (number_test >= 0 && Dictionary_of_scales[number_test].TryGetValue(Groups[number_group].Links[number_link].Scale_name[i], out double point_on_scale))
                 {
                     Sum += Return_Measure_for_fuzzy_sets(
                         TESTS[number_test],
                         Groups[number_group].Links[number_link].Scale_name[i],
                         point_on_scale, Groups[number_group].Links[number_link].Function_number[i]
                         );
                 }
                 else
                 {
                     Stored_Exceptions.Add(new Exception("Error: cannot find name of scale"));
                 }
             }
             if (Stored_Exceptions.Empty)
             {
                 Groups[number_group].Links[number_link].Measure_of_expression = Sum / Groups[number_group].Links[number_link].Scale_name.Count;
             }
         }
     }
 }