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; }
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); }