Пример #1
0
 private void DD_clear_MLH()
 {
     MLHData.clear(ref MLH_first);
     MLHLeftData.clear();
     MLHRightData.clear();
     AC_results.Clear();
     AC_results_wrong.Clear();
     AC_left_results.Clear();
     AC_left_results_wrong.Clear();
     AC_right_results.Clear();
     AC_right_results_wrong.Clear();
     MLH_left_stop_flag  = false;
     MLH_right_stop_flag = false;
 }
Пример #2
0
 private (bool, int) MLH_check_stop()
 {
     int[] queue_temp = MLHData.pre_size.ToArray();
     if (queue_temp.Length > 0 && curr_acuity_size == queue_temp[queue_temp.Length - 1])
     {
         MLHData.single_repeat_num++;
     }
     else
     {
         MLHData.single_repeat_num = 0;
     }
     if (MLHData.pre_size.Contains(curr_acuity_size))
     {
         MLHData.double_repeat_num++;
     }
     else
     {
         MLHData.double_repeat_num = 0;
         //MLHData.pre_size.Enqueue(curr_acuity_size);
     }
     if (queue_temp.Length == 0 || curr_acuity_size != queue_temp[queue_temp.Length - 1])
     {
         MLHData.pre_size.Enqueue(curr_acuity_size);
         while (MLHData.pre_size.Count > 2)
         {
             MLHData.pre_size.Dequeue();
         }
     }
     if (MLHData.single_repeat_num > 3)
     {
         return(true, curr_acuity_size);
     }
     if (MLHData.double_repeat_num > 5)
     {
         return(true, MLHData.get_queue_maxsize());
     }
     return(false, 0);
 }