public AlgorithmSettings(int groupsCount, bool isMin, int maxGeneration, double p, int pollinatorsCount, double pReset) { ThrowIf.NotPositive(groupsCount, nameof(groupsCount)); ThrowIf.NotPositive(pollinatorsCount, nameof(pollinatorsCount)); ThrowIf.NotPositive(maxGeneration, nameof(maxGeneration)); ThrowIf.NotBetweenZeroAndOne(p, nameof(p)); ThrowIf.NotBetweenZeroAndOne(pReset, nameof(pReset)); GroupsCount = groupsCount; IsMin = isMin; MaxGeneration = maxGeneration; P = p; PollinatorsCount = pollinatorsCount; PReset = pReset; }