/// <summary> /// Adds the iteration to the evaluation result. /// </summary> /// <param name="iteration">The iteration to add.</param> internal void AddIteration(IterationResult iteration) { // Store the iteration is the feature is enabled if (MustStoreIterations) { InternalIterations.Add(iteration); } // Sum the tick/time TotalElapsedTicks += iteration.ElapsedTicks; TotalExecutionTime += iteration.ExecutionTime; // Select the best/worst case // Set the value of the iteration if this is the first one if (IterationsCount == 0) { BestElapsedTicks = iteration.ElapsedTicks; BestExecutionTime = iteration.ExecutionTime; WorstElapsedTicks = iteration.ElapsedTicks; WorstExecutionTime = iteration.ExecutionTime; } else { BestElapsedTicks = iteration.ElapsedTicks < BestElapsedTicks ? iteration.ElapsedTicks : BestElapsedTicks; BestExecutionTime = iteration.ExecutionTime < BestExecutionTime ? iteration.ExecutionTime : BestExecutionTime; WorstElapsedTicks = iteration.ElapsedTicks > WorstElapsedTicks ? iteration.ElapsedTicks : WorstElapsedTicks; WorstExecutionTime = iteration.ExecutionTime > WorstExecutionTime ? iteration.ExecutionTime : WorstExecutionTime; } // Increment the number of iteration IterationsCount++; }
/// <summary> /// Initializes a new instance of the class <see cref="IterationEventArgs"/>. /// </summary> /// <param name="currentIteration">The current iteration of the evaluation.</param> /// <param name="currentEvaluation">The current running evaluation.</param> public IterationEventArgs(IterationResult currentIteration, EvaluationResult currentEvaluation) { CurrentIteration = currentIteration; CurrentEvaluation = currentEvaluation; }