Refactored NextNumber into distributions
This commit is contained in:
1 parent
44abcc48b6
commit
0f724991cd
58 files changed
+417
-332
No files matched your search
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.BetaA2B2(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.BetaA2B2(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.BetaA2B5(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.BetaA2B5(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.BetaA5B2(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.BetaA5B2(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.CauchyLorentzX0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
@@ -70,7 +70,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.CauchyLorentzX0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.CauchyLorentzX0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
@@ -70,7 +70,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.CauchyLorentzX0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace FastRngTests.Double.Distributions
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
{
|
||||
var value = await rng.NextNumber(dist);
|
||||
var value = await dist.NextNumber();
|
||||
fqa.CountThis(value);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ChiSquareK1(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -70,7 +70,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ChiSquareK1(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace FastRngTests.Double.Distributions
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
{
|
||||
var value = await rng.NextNumber(dist);
|
||||
var value = await dist.NextNumber();
|
||||
fqa.CountThis(value);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ChiSquareK10(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -70,7 +70,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ChiSquareK10(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ChiSquareK4(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ChiSquareK4(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ExponentialLa10(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ExponentialLa10(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ExponentialLa5(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.ExponentialLa5(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.GammaA5B15(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.GammaA5B15(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.InverseExponentialLa10(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.InverseExponentialLa10(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fqa.CountThis(await rng.NextNumber(dist));
|
||||
fqa.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fqa.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.InverseExponentialLa5(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.InverseExponentialLa5(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.InverseGammaA3B05(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.InverseGammaA3B05(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.LaplaceB01M0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.LaplaceB01M0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.LaplaceB01M05(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.LaplaceB01M05(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.LogNormalS1M0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.LogNormalS1M0(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace FastRngTests.Double.Distributions
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
{
|
||||
var nextNumber = await rng.NextNumber(dist);
|
||||
var nextNumber = await dist.NextNumber();
|
||||
stats.Push(nextNumber);
|
||||
fra.CountThis(nextNumber);
|
||||
}
|
||||
@@ -48,7 +48,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.NormalS02M05(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
@@ -63,7 +63,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var samples = new double[1_000];
|
||||
var dist = new FastRng.Double.Distributions.NormalS02M05(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.StudentTNu1(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.StudentTNu1(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace FastRngTests.Double.Distributions
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Double.Distributions.Uniform(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
@@ -134,7 +134,7 @@ namespace FastRngTests.Double.Distributions
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Double.Distributions.Uniform(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
@@ -164,7 +164,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[await rng.NextNumber(0, 100, dist)]++;
|
||||
distribution[await dist.NextNumber(0, 100)]++;
|
||||
|
||||
for (var n = 0; n < distribution.Length - 1; n++)
|
||||
Assert.That(distribution[n], Is.GreaterThan(0));
|
||||
@@ -180,7 +180,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[await rng.NextNumber(0UL, 100, dist)]++;
|
||||
distribution[await dist.NextNumber(0UL, 100)]++;
|
||||
|
||||
for (var n = 0; n < distribution.Length - 1; n++)
|
||||
Assert.That(distribution[n], Is.GreaterThan(0));
|
||||
@@ -196,7 +196,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[(uint)Math.Floor(await rng.NextNumber(0.0, 100.0, dist))]++;
|
||||
distribution[(uint)Math.Floor(await dist.NextNumber(0.0, 100.0))]++;
|
||||
|
||||
for (var n = 0; n < distribution.Length - 1; n++)
|
||||
Assert.That(distribution[n], Is.GreaterThan(0));
|
||||
@@ -211,7 +211,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[await rng.NextNumber(0, 100, dist)]++;
|
||||
distribution[await dist.NextNumber(0, 100)]++;
|
||||
|
||||
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 600));
|
||||
}
|
||||
@@ -225,7 +225,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[await rng.NextNumber(0UL, 100, dist)]++;
|
||||
distribution[await dist.NextNumber(0UL, 100)]++;
|
||||
|
||||
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 600));
|
||||
}
|
||||
@@ -239,7 +239,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[(uint)Math.Floor(await rng.NextNumber(0.0, 100.0, dist))]++;
|
||||
distribution[(uint)Math.Floor(await dist.NextNumber(0.0, 100.0))]++;
|
||||
|
||||
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 600));
|
||||
}
|
||||
@@ -253,7 +253,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 100_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[await rng.NextNumber(0, 100, dist)]++;
|
||||
distribution[await dist.NextNumber(0, 100)]++;
|
||||
|
||||
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 6_000));
|
||||
}
|
||||
@@ -267,7 +267,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 100_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[await rng.NextNumber(0UL, 100, dist)]++;
|
||||
distribution[await dist.NextNumber(0UL, 100)]++;
|
||||
|
||||
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 6_000));
|
||||
}
|
||||
@@ -281,7 +281,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var distribution = new uint[101];
|
||||
var runs = 100_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
distribution[(uint)Math.Floor(await rng.NextNumber(0.0, 100.0, dist))]++;
|
||||
distribution[(uint)Math.Floor(await dist.NextNumber(0.0, 100.0))]++;
|
||||
|
||||
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 6_000));
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
fra.CountThis(await rng.NextNumber(dist));
|
||||
fra.CountThis(await dist.NextNumber());
|
||||
|
||||
var result = fra.NormalizeAndPlotEvents(TestContext.WriteLine);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.WeibullK05La1(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(-1.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(-1.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(-1.0), "Min out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max out of range");
|
||||
@@ -67,7 +67,7 @@ namespace FastRngTests.Double.Distributions
|
||||
var dist = new FastRng.Double.Distributions.WeibullK05La1(rng);
|
||||
var samples = new double[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.NextNumber(0.0, 1.0, dist);
|
||||
samples[n] = await dist.NextNumber(0.0, 1.0);
|
||||
|
||||
Assert.That(samples.Min(), Is.GreaterThanOrEqualTo(0.0), "Min is out of range");
|
||||
Assert.That(samples.Max(), Is.LessThanOrEqualTo(1.0), "Max is out of range");
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace FastRngTests.Double
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
for (uint n = 0; n < 1_000_000; n++)
|
||||
Assert.That(await rng.NextNumber(n, 100_000 + n, dist), Is.InRange(n, 100_000 + n));
|
||||
Assert.That(await dist.NextNumber(n, 100_000 + n), Is.InRange(n, 100_000 + n));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -30,7 +30,7 @@ namespace FastRngTests.Double
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
for (ulong n = 0; n < 1_000_000; n++)
|
||||
Assert.That(await rng.NextNumber(n, 100_000 + n, dist), Is.InRange(n, 100_000 + n));
|
||||
Assert.That(await dist.NextNumber(n, 100_000 + n), Is.InRange(n, 100_000 + n));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -40,7 +40,7 @@ namespace FastRngTests.Double
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
for (var n = 0.0; n < 1e6; n++)
|
||||
Assert.That(await rng.NextNumber(n, 100_000 + n, dist), Is.InRange(n, 100_000 + n));
|
||||
Assert.That(await dist.NextNumber(n, 100_000 + n), Is.InRange(n, 100_000 + n));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -49,9 +49,9 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange02Uint()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(5, 5, dist), Is.EqualTo(5));
|
||||
Assert.That(await rng.NextNumber(0, 0, dist), Is.EqualTo(0));
|
||||
Assert.That(await rng.NextNumber(3_000_000_000, 3_000_000_000, dist), Is.EqualTo(3_000_000_000));
|
||||
Assert.That(await dist.NextNumber(5, 5), Is.EqualTo(5));
|
||||
Assert.That(await dist.NextNumber(0, 0), Is.EqualTo(0));
|
||||
Assert.That(await dist.NextNumber(3_000_000_000, 3_000_000_000), Is.EqualTo(3_000_000_000));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -60,9 +60,9 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange02Ulong()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(5UL, 5, dist), Is.EqualTo(5));
|
||||
Assert.That(await rng.NextNumber(0UL, 0, dist), Is.EqualTo(0));
|
||||
Assert.That(await rng.NextNumber(3_000_000_000UL, 3_000_000_000, dist), Is.EqualTo(3_000_000_000));
|
||||
Assert.That(await dist.NextNumber(5UL, 5), Is.EqualTo(5));
|
||||
Assert.That(await dist.NextNumber(0UL, 0), Is.EqualTo(0));
|
||||
Assert.That(await dist.NextNumber(3_000_000_000UL, 3_000_000_000), Is.EqualTo(3_000_000_000));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -71,9 +71,9 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange02Float()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(5f, 5f, dist), Is.EqualTo(5));
|
||||
Assert.That(await rng.NextNumber(0f, 0f, dist), Is.EqualTo(0));
|
||||
Assert.That(await rng.NextNumber(3e9, 3e9, dist), Is.EqualTo(3e9));
|
||||
Assert.That(await dist.NextNumber(5f, 5f), Is.EqualTo(5));
|
||||
Assert.That(await dist.NextNumber(0f, 0f), Is.EqualTo(0));
|
||||
Assert.That(await dist.NextNumber(3e9, 3e9), Is.EqualTo(3e9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -82,9 +82,9 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange03Uint()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(5, 6, dist), Is.InRange(5, 6));
|
||||
Assert.That(await rng.NextNumber(0, 1, dist), Is.InRange(0, 1));
|
||||
Assert.That(await rng.NextNumber(3_000_000_000, 3_000_000_002, dist), Is.InRange(3_000_000_000, 3_000_000_002));
|
||||
Assert.That(await dist.NextNumber(5, 6), Is.InRange(5, 6));
|
||||
Assert.That(await dist.NextNumber(0, 1), Is.InRange(0, 1));
|
||||
Assert.That(await dist.NextNumber(3_000_000_000, 3_000_000_002), Is.InRange(3_000_000_000, 3_000_000_002));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -93,9 +93,9 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange03Ulong()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(5UL, 6, dist), Is.InRange(5, 6));
|
||||
Assert.That(await rng.NextNumber(0UL, 1, dist), Is.InRange(0, 1));
|
||||
Assert.That(await rng.NextNumber(3_000_000_000UL, 3_000_000_002, dist), Is.InRange(3_000_000_000, 3_000_000_002));
|
||||
Assert.That(await dist.NextNumber(5UL, 6), Is.InRange(5, 6));
|
||||
Assert.That(await dist.NextNumber(0UL, 1), Is.InRange(0, 1));
|
||||
Assert.That(await dist.NextNumber(3_000_000_000UL, 3_000_000_002), Is.InRange(3_000_000_000, 3_000_000_002));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -104,9 +104,9 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange03Float()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(5f, 6, dist), Is.InRange(5, 6));
|
||||
Assert.That(await rng.NextNumber(0f, 1, dist), Is.InRange(0, 1));
|
||||
Assert.That(await rng.NextNumber(3e9, 3e9+2, dist), Is.InRange(3e9, 3e9+2));
|
||||
Assert.That(await dist.NextNumber(5f, 6), Is.InRange(5, 6));
|
||||
Assert.That(await dist.NextNumber(0f, 1), Is.InRange(0, 1));
|
||||
Assert.That(await dist.NextNumber(3e9, 3e9+2), Is.InRange(3e9, 3e9+2));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -115,8 +115,8 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange04Uint()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(10, 1, dist), Is.InRange(1, 10));
|
||||
Assert.That(await rng.NextNumber(20, 1, dist), Is.InRange(1, 20));
|
||||
Assert.That(await dist.NextNumber(10, 1), Is.InRange(1, 10));
|
||||
Assert.That(await dist.NextNumber(20, 1), Is.InRange(1, 20));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -125,8 +125,8 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange04Ulong()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(10UL, 1, dist), Is.InRange(1, 10));
|
||||
Assert.That(await rng.NextNumber(20UL, 1, dist), Is.InRange(1, 20));
|
||||
Assert.That(await dist.NextNumber(10UL, 1), Is.InRange(1, 10));
|
||||
Assert.That(await dist.NextNumber(20UL, 1), Is.InRange(1, 20));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -135,8 +135,8 @@ namespace FastRngTests.Double
|
||||
public async Task TestRange04Float()
|
||||
{
|
||||
var dist = new Uniform(this.rng);
|
||||
Assert.That(await rng.NextNumber(10.0, 1, dist), Is.InRange(1, 10));
|
||||
Assert.That(await rng.NextNumber(20.0, 1, dist), Is.InRange(1, 20));
|
||||
Assert.That(await dist.NextNumber(10.0, 1), Is.InRange(1, 10));
|
||||
Assert.That(await dist.NextNumber(20.0, 1), Is.InRange(1, 20));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -144,8 +144,8 @@ namespace FastRngTests.Double
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestStoppingProducers01()
|
||||
{
|
||||
using var rng2 = new MultiThreadedRng();
|
||||
rng2.StopProducer();
|
||||
var rng2 = new MultiThreadedRng();
|
||||
rng2.Dispose();
|
||||
|
||||
var masterToken = new CancellationTokenSource(TimeSpan.FromSeconds(16)).Token;
|
||||
var wasCanceled = false;
|
||||
@@ -170,19 +170,19 @@ namespace FastRngTests.Double
|
||||
Assert.That(wasCanceled, Is.True, "The consumer was not canceled");
|
||||
|
||||
var tokenSource2 = new CancellationTokenSource(TimeSpan.FromSeconds(3));
|
||||
await rng2.NextNumber(new NormalS02M05(rng2), tokenSource2.Token);
|
||||
await new NormalS02M05(rng2).NextNumber(tokenSource2.Token);
|
||||
Assert.That(tokenSource2.IsCancellationRequested, Is.True);
|
||||
|
||||
tokenSource2 = new CancellationTokenSource(TimeSpan.FromSeconds(3));
|
||||
await rng2.NextNumber(-1d, 1d, new NormalS02M05(rng2), tokenSource2.Token);
|
||||
await new NormalS02M05(rng2).NextNumber(-1d, 1d, tokenSource2.Token);
|
||||
Assert.That(tokenSource2.IsCancellationRequested, Is.True);
|
||||
|
||||
tokenSource2 = new CancellationTokenSource(TimeSpan.FromSeconds(3));
|
||||
await rng2.NextNumber(0u, 6u, new NormalS02M05(rng2), tokenSource2.Token);
|
||||
await new NormalS02M05(rng2).NextNumber(0u, 6u, tokenSource2.Token);
|
||||
Assert.That(tokenSource2.IsCancellationRequested, Is.True);
|
||||
|
||||
tokenSource2 = new CancellationTokenSource(TimeSpan.FromSeconds(3));
|
||||
await rng2.NextNumber(0ul, 6ul, new NormalS02M05(rng2), tokenSource2.Token);
|
||||
await new NormalS02M05(rng2).NextNumber(0ul, 6ul, tokenSource2.Token);
|
||||
Assert.That(tokenSource2.IsCancellationRequested, Is.True);
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ namespace FastRngTests.Double
|
||||
|
||||
using var rng2 = new MultiThreadedRng();
|
||||
var dist = new Uniform(rng2);
|
||||
Assert.That(await rng2.NextNumber(1, 100_000, dist, token), Is.EqualTo(0));
|
||||
Assert.That(await dist.NextNumber(1, 100_000, token), Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace FastRngTests.Double
|
||||
|
||||
stopwatch.Start();
|
||||
for (uint n = 0; n < data.Length; n++)
|
||||
data[n] = await rng.NextNumber(dist);
|
||||
data[n] = await dist.NextNumber();
|
||||
|
||||
stopwatch.Stop();
|
||||
|
||||
@@ -65,7 +65,7 @@ namespace FastRngTests.Double
|
||||
|
||||
stopwatch.Start();
|
||||
for (uint n = 0; n < data.Length; n++)
|
||||
data[n] = await rng.NextNumber(dist);
|
||||
data[n] = await dist.NextNumber();
|
||||
|
||||
stopwatch.Stop();
|
||||
|
||||
|
||||
Reference in new issue
Block a user