public static Gene Generate(GeneConfiguration config, bool isActual) { if (config.Fibonacci && RandomizationProvider.Current.GetType() != typeof(FibonacciRandomization)) { RandomizationProvider.Current = _fibonacci; } else { RandomizationProvider.Current = _basic; } if (isActual && config.ActualInt.HasValue) { return(new Gene(new KeyValuePair <string, object>(config.Key, config.ActualInt))); } else if (isActual && config.ActualDecimal.HasValue) { return(new Gene(new KeyValuePair <string, object>(config.Key, config.ActualDecimal))); } else if (config.MinDecimal.HasValue && config.MaxDecimal.HasValue) { return(new Gene(new KeyValuePair <string, object>(config.Key, GeneFactory.RandomBetween(config.MinDecimal.Value, config.MaxDecimal.Value, config.Precision)))); } return(new Gene(new KeyValuePair <string, object>(config.Key, GeneFactory.RandomBetween(config.MinInt.Value, config.MaxInt.Value)))); }
public static Gene Generate(GeneConfiguration config, bool isActual) { if (isActual && config.ActualInt.HasValue) { return(new Gene(new KeyValuePair <string, object>(config.Key, config.ActualInt))); } else if (isActual && config.ActualDecimal.HasValue) { return(new Gene(new KeyValuePair <string, object>(config.Key, config.ActualDecimal))); } else if (config.MinDecimal.HasValue && config.MaxDecimal.HasValue) { return(new Gene(new KeyValuePair <string, object>(config.Key, GeneFactory.RandomBetween(config.MinDecimal.Value, config.MaxDecimal.Value, config.Precision)))); } return(new Gene(new KeyValuePair <string, object>(config.Key, GeneFactory.RandomBetween(config.MinInt.Value, config.MaxInt.Value)))); }