public ThreadSpawnerArgs(List <string> previouslyFoundSolutons, FoundEquationDelegate displayOutputFunction, int timeToLive, int numberOfThreads, int numberOfRounds, IEquationFinderArgs finderArgs) : this(displayOutputFunction, timeToLive, numberOfThreads, numberOfRounds, finderArgs) { if (previouslyFoundSolutons != null && previouslyFoundSolutons.Count > 0) { foreach (string prevSolution in previouslyFoundSolutons) { if (!string.IsNullOrWhiteSpace(prevSolution)) { FoundSolutions.Add(prevSolution); } } } }
public ThreadSpawnerArgs(FoundEquationDelegate foundSolutionCallbackFunction, int timeToLive, int numberOfThreads, int numberOfRounds, IEquationFinderArgs finderArgs) : this() { if (finderArgs == null) { throw new ArgumentNullException("FinderArgs cannot be null.", "finderArgs"); } if (timeToLive <= 0) { throw new ArgumentException("TimeToLive must be greater than zero.", "timeToLive"); } if (numberOfThreads < 1) { throw new ArgumentException("NumberOfThreads must be at least one.", "numberOfThreads"); } if (numberOfRounds < 1) { throw new ArgumentException("NumberOfRounds must be at least one.", "numberOfRounds"); } if (foundSolutionCallbackFunction == null) { FoundResultCallback = null; } else { FoundResultCallback = foundSolutionCallbackFunction; } // Thread settings TimeToLive = timeToLive; NumberOfThreads = numberOfThreads; NumberOfRounds = numberOfRounds; // Equation settings EquationFinderArgs = finderArgs; }
public ThreadSpawnerArgs(List<string> previouslyFoundSolutons, FoundEquationDelegate displayOutputFunction, int timeToLive, int numberOfThreads, int numberOfRounds, IEquationFinderArgs finderArgs) : this(displayOutputFunction, timeToLive, numberOfThreads, numberOfRounds, finderArgs) { if (previouslyFoundSolutons != null && previouslyFoundSolutons.Count > 0) { foreach (string prevSolution in previouslyFoundSolutons) { if (!string.IsNullOrWhiteSpace(prevSolution)) { FoundSolutions.Add(prevSolution); } } } }