/// <summary> /// Constructs a new filtered Gaussian with the given generator and filter. /// </summary> /// <param name="generator">The guassian generator.</param> /// <param name="filter">The filter.</param> public FilteredGuassian(IGaussianGenerator generator, RandomFilter <float> filter = null) : base(null, filter) { Mean = generator.Mean; StandardDeviation = generator.StandardDeviation; Generator = generator; InitializeRange(Mean, StandardDeviation); }
/// <summary> /// Initializes the Filtered Random generator. /// </summary> /// <param name="generator">The number generator to generate numbers with. <see cref="RandomGenerator.Instance"/> used as default.</param> /// <param name="filter">The filter to use. Uses the full set of defined binary filters if no filters are provided.</param> protected FilteredRandom(IRandomGenerator generator = null, RandomFilter <T> filter = null) { RNG = generator ?? RandomGenerator.Instance; Filter = filter ?? GetFullFilter(); }
/// <summary> /// Constructs a new FilteredGuassian generator. /// </summary> /// <param name="mean">The mean of of the gaussian distribution we want to generate and filter.</param> /// <param name="standardDeviation">The standard deviation of the gaussian distribution we want to generate and filter.</param> /// <param name="generator">The basic generator we want to use to generate values. If null, <see cref="RandomGenerator.Instance"/> will be used.</param> /// <param name="filter">The filter we want to apply to the generated values. if null, <see cref="DefaultPatterns.All"/> will be used.</param> public FilteredGuassian(float mean, float standardDeviation, IRandomGenerator generator = null, RandomFilter <float> filter = null) : base(generator, filter) { //Set the parameters. Mean = mean; StandardDeviation = standardDeviation; //initialize the generator and range. Generator = new GaussianGenerator(mean, standardDeviation, RNG); InitializeRange(mean, standardDeviation); }
/// <inheritdoc /> public abstract void InitializeGenerator(RandomFilter <T> filter = null);