Ejemplo n.º 1
0
 public static IEnumerable <T> Samples <T>(this IDistribution <T> d)
 {
     while (true)
     {
         yield return(d.Sample());
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Infinite enumerable of samples from this <see cref="IDistribution{T}"/>.
 /// </summary>
 /// <typeparam name="T">Type of items in this <see cref="IDistribution{T}"/></typeparam>
 /// <param name="distribution">The distribution we're sampling.</param>
 /// <param name="random"></param>
 /// <returns>The infinite <see cref="IEnumerable{T}"/> of samples.</returns>
 public static IEnumerable <T> Samples <T>(this IDistribution <T> distribution, IRNG random)
 {
     while (true)
     {
         yield return(distribution.Sample(random));
     }
 }
Ejemplo n.º 3
0
 public static IEnumerable <T> TakeSamples <T>(this IDistribution <T> distribution, int samples)
 {
     for (int i = 0; i < samples; i++)
     {
         yield return(distribution.Sample());
     }
 }
Ejemplo n.º 4
0
        public void SingleAverage(IDistribution <Single> dist, UInt64 seed)
        {
            const Int32 iterations = 10_000;
            var         rng        = Pcg32.Create(seed, 11634580027462260723ul);

            Double mean = 0;

            for (var i = 0; i < iterations; i++)
            {
                var result = dist.Sample(rng);
                var delta  = result - mean;
                mean += delta / (i + 1);
                Assert.True(0 <= result);
                Assert.True(result <= 1);
            }

            Assert.True(Statistics.WithinConfidence(popMean: 0.5, popStdDev: 0.5, mean, iterations));

            Double mean2 = 0;

            for (var i = 0; i < iterations; i++)
            {
                Assert.True(dist.TrySample(rng, out var result));
                var delta = result - mean2;
                mean2 += delta / (i + 1);
                Assert.True(0 <= result);
                Assert.True(result <= 1);
            }

            Assert.True(Statistics.WithinConfidence(popMean: 0.5, popStdDev: 0.5, mean2, iterations));
        }
Ejemplo n.º 5
0
 public static IEnumerable <T> Samples <T>([NotNull] this IDistribution <T> d)
 {
     while (true)
     {
         yield return(d.Sample());
     }
     // ReSharper disable once IteratorNeverReturns
 }
Ejemplo n.º 6
0
 public void Init(LocalRandom random, int startYear, int numYears)
 {
     this.startYear = startYear;
     values         = new double[numYears];
     for (var i = 0; i < numYears; ++i)
     {
         values[i] = pdf.Sample(random);
     }
 }
Ejemplo n.º 7
0
 public double Evaluate(Vector input)
 {
     return(Function.Evaluate(input) * (Offset.Parameter + Scale.Parameter * Math.Abs(noise.Sample())));
 }
Ejemplo n.º 8
0
 public int Sample()
 {
     return(rows.Sample().Sample());
 }
Ejemplo n.º 9
0
            public TResult Sample <TRng>(TRng rng) where TRng : notnull, IRng
            {
                var sample = _distribution.Sample(rng);

                return(_selector(sample));
            }