Refactored to use generic TNum for any floating point type
This commit is contained in:
55 files changed
+578
-1147
No files matched your search
@@ -15,8 +15,8 @@ public class BetaA2B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.BetaA2B2(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.BetaA2B2<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,9 +48,9 @@ public class BetaA2B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.BetaA2B2(rng);
|
||||
var dist = new FastRng.Distributions.BetaA2B2<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
|
||||
@@ -63,9 +63,9 @@ public class BetaA2B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.BetaA2B2(rng);
|
||||
var dist = new FastRng.Distributions.BetaA2B2<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
|
||||
@@ -78,6 +78,6 @@ public class BetaA2B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.BetaA2B2(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.BetaA2B2<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class BetaA2B5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.BetaA2B5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.BetaA2B5<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,9 +48,9 @@ public class BetaA2B5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.BetaA2B5(rng);
|
||||
var dist = new FastRng.Distributions.BetaA2B5<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
|
||||
@@ -63,9 +63,9 @@ public class BetaA2B5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.BetaA2B5(rng);
|
||||
var dist = new FastRng.Distributions.BetaA2B5<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
|
||||
@@ -78,6 +78,6 @@ public class BetaA2B5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.BetaA2B5(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.BetaA2B5<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class BetaA5B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.BetaA5B2(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.BetaA5B2<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,9 +48,9 @@ public class BetaA5B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.BetaA5B2(rng);
|
||||
var dist = new FastRng.Distributions.BetaA5B2<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
|
||||
@@ -63,9 +63,9 @@ public class BetaA5B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestBetaGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.BetaA5B2(rng);
|
||||
var dist = new FastRng.Distributions.BetaA5B2<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
|
||||
@@ -78,6 +78,6 @@ public class BetaA5B2
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.BetaA5B2(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.BetaA5B2<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,8 @@ public class CauchyLorentzX0
|
||||
// The properties of the cauchy distribution cannot be tested by mean, media or variance,
|
||||
// cf. https://en.wikipedia.org/wiki/Cauchy_distribution#Explanation_of_undefined_moments
|
||||
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -51,8 +51,8 @@ public class CauchyLorentzX0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestCauchyGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -66,8 +66,8 @@ public class CauchyLorentzX0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestCauchyGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -81,6 +81,6 @@ public class CauchyLorentzX0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.CauchyLorentzX0(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.CauchyLorentzX0<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,8 @@ public class CauchyLorentzX1
|
||||
// The properties of the cauchy distribution cannot be tested by mean, media or variance,
|
||||
// cf. https://en.wikipedia.org/wiki/Cauchy_distribution#Explanation_of_undefined_moments
|
||||
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX1<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -51,8 +51,8 @@ public class CauchyLorentzX1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestCauchyGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -66,8 +66,8 @@ public class CauchyLorentzX1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestCauchyGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.CauchyLorentzX0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -81,6 +81,6 @@ public class CauchyLorentzX1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.CauchyLorentzX1(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.CauchyLorentzX1<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class ChiSquareK1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK1<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -51,8 +51,8 @@ public class ChiSquareK1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK1<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -66,8 +66,8 @@ public class ChiSquareK1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK1<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -81,6 +81,6 @@ public class ChiSquareK1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ChiSquareK1(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ChiSquareK1<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class ChiSquareK10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK10<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -51,8 +51,8 @@ public class ChiSquareK10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK10<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -66,8 +66,8 @@ public class ChiSquareK10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK10<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -81,6 +81,6 @@ public class ChiSquareK10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ChiSquareK10(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ChiSquareK10<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class ChiSquareK4
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK4(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK4<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class ChiSquareK4
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK4(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK4<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class ChiSquareK4
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestChiSquareGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ChiSquareK4(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ChiSquareK4<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class ChiSquareK4
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ChiSquareK4(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ChiSquareK4<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class ExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ExponentialLa10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ExponentialLa10<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class ExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ExponentialLa10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ExponentialLa10<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class ExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ExponentialLa10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ExponentialLa10<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class ExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ExponentialLa10(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ExponentialLa10<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class ExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ExponentialLa5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ExponentialLa5<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class ExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ExponentialLa5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ExponentialLa5<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class ExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.ExponentialLa5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.ExponentialLa5<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class ExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ExponentialLa5(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.ExponentialLa5<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class GammaA5B15
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestGammaDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.GammaA5B15(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.GammaA5B15<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class GammaA5B15
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestGammaGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.GammaA5B15(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.GammaA5B15<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class GammaA5B15
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestGammaGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.GammaA5B15(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.GammaA5B15<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class GammaA5B15
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.GammaA5B15(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.GammaA5B15<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class InverseExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa10<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class InverseExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa10<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class InverseExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa10(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa10<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class InverseExponentialLa10
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.InverseExponentialLa10(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.InverseExponentialLa10<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class InverseExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa5<float>(rng);
|
||||
var fqa = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class InverseExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa5<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class InverseExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestExponentialGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa5(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseExponentialLa5<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class InverseExponentialLa5
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.InverseExponentialLa5(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.InverseExponentialLa5<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class InverseGammaA3B05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestInverseGammaDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseGammaA3B05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseGammaA3B05<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class InverseGammaA3B05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestInverseGammaGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseGammaA3B05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseGammaA3B05<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class InverseGammaA3B05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestInverseGammaGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.InverseGammaA3B05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.InverseGammaA3B05<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class InverseGammaA3B05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.InverseGammaA3B05(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.InverseGammaA3B05<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class LaplaceB01M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLaplaceDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M0<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class LaplaceB01M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLaplaceGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class LaplaceB01M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLaplaceGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class LaplaceB01M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.LaplaceB01M0(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.LaplaceB01M0<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class LaplaceB01M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLaplaceDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M05<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class LaplaceB01M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLaplaceGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M05<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class LaplaceB01M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLaplaceGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LaplaceB01M05<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class LaplaceB01M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.LaplaceB01M05(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.LaplaceB01M05<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class LogNormalS1M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLogNormalDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LogNormalS1M0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LogNormalS1M0<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class LogNormalS1M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLogNormalGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LogNormalS1M0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LogNormalS1M0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class LogNormalS1M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestLogNormalGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.LogNormalS1M0(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.LogNormalS1M0<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class LogNormalS1M0
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.LogNormalS1M0(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.LogNormalS1M0<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,8 @@ public class NormalS02M05
|
||||
const float MEAN = 0.5f;
|
||||
const float STANDARD_DEVIATION = 0.2f;
|
||||
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.NormalS02M05(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.NormalS02M05<float>(rng);
|
||||
var stats = new RunningStatistics();
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
@@ -44,9 +44,9 @@ public class NormalS02M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestNormalGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.NormalS02M05(rng);
|
||||
var dist = new FastRng.Distributions.NormalS02M05<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
|
||||
@@ -59,9 +59,9 @@ public class NormalS02M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestNormalGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.NormalS02M05(rng);
|
||||
var dist = new FastRng.Distributions.NormalS02M05<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
|
||||
@@ -74,6 +74,6 @@ public class NormalS02M05
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.NormalS02M05(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.NormalS02M05<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class StudentTNu1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestStudentTDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.StudentTNu1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.StudentTNu1<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class StudentTNu1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestStudentTGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.StudentTNu1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.StudentTNu1<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class StudentTNu1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestStudentTGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.StudentTNu1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.StudentTNu1<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class StudentTNu1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.StudentTNu1(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.StudentTNu1<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ public class Uniform
|
||||
const float MEAN = 0.5f * (A + B);
|
||||
const float VARIANCE = (1.0f / 12.0f) * (B - A) * (B - A);
|
||||
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var stats = new RunningStatistics();
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
@@ -58,7 +58,7 @@ public class Uniform
|
||||
const float P_HIGH = 1.0f - 0.25f * FAILURE_PROBABILITY;
|
||||
|
||||
var samples = new float[NUM_ROUNDS];
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
int n;
|
||||
|
||||
for (n = 0; n != NUM_ROUNDS; ++n)
|
||||
@@ -115,9 +115,9 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestUniformGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
|
||||
@@ -130,9 +130,9 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestUniformGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
|
||||
@@ -145,7 +145,7 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestUniformGeneratorWithRange04()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await rng.GetUniform();
|
||||
@@ -159,8 +159,8 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestRange05Uint()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -175,8 +175,8 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestRange05Ulong()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -191,8 +191,8 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestRange05Float()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -206,8 +206,8 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestDistribution001Uint()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -220,8 +220,8 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestDistribution001Ulong()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -234,8 +234,8 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestDistribution001Float()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 1_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -248,8 +248,8 @@ public class Uniform
|
||||
[Category(TestCategories.LONG_RUNNING)]
|
||||
public async Task TestDistribution002Uint()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 100_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -262,8 +262,8 @@ public class Uniform
|
||||
[Category(TestCategories.LONG_RUNNING)]
|
||||
public async Task TestDistribution002Ulong()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 100_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -276,8 +276,8 @@ public class Uniform
|
||||
[Category(TestCategories.LONG_RUNNING)]
|
||||
public async Task TestDistribution002Float()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.Uniform(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.Uniform<float>(rng);
|
||||
var distribution = new uint[101];
|
||||
var runs = 100_000_000;
|
||||
for (var n = 0; n < runs; n++)
|
||||
@@ -291,6 +291,6 @@ public class Uniform
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.Uniform(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.Uniform<float>(null));
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@ public class WeibullK05La1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestWeibullDistribution01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.WeibullK05La1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.WeibullK05La1<float>(rng);
|
||||
var fra = new FrequencyAnalysis();
|
||||
|
||||
for (var n = 0; n < 100_000; n++)
|
||||
@@ -48,8 +48,8 @@ public class WeibullK05La1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestWeibullGeneratorWithRange01()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.WeibullK05La1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.WeibullK05La1<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(-1.0f, 1.0f);
|
||||
@@ -63,8 +63,8 @@ public class WeibullK05La1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public async Task TestWeibullGeneratorWithRange02()
|
||||
{
|
||||
using var rng = new MultiThreadedRng();
|
||||
var dist = new FastRng.Distributions.WeibullK05La1(rng);
|
||||
using var rng = new MultiThreadedRng<float>();
|
||||
var dist = new FastRng.Distributions.WeibullK05La1<float>(rng);
|
||||
var samples = new float[1_000];
|
||||
for (var n = 0; n < samples.Length; n++)
|
||||
samples[n] = await dist.NextNumber(0.0f, 1.0f);
|
||||
@@ -78,6 +78,6 @@ public class WeibullK05La1
|
||||
[Category(TestCategories.NORMAL)]
|
||||
public void NoRandomNumberGenerator01()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.WeibullK05La1(null));
|
||||
Assert.Throws<ArgumentNullException>(() => new FastRng.Distributions.WeibullK05La1<float>(null));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user