Added test to ensure deterministic behaviour
This commit is contained in:
parent
138bef5991
commit
23ee9d4684
@ -313,5 +313,243 @@ namespace FastRngTests.Double
|
|||||||
using var rng2 = new MultiThreadedRng();
|
using var rng2 = new MultiThreadedRng();
|
||||||
Assert.That(await rng2.GetUniform(token), Is.NaN);
|
Assert.That(await rng2.GetUniform(token), Is.NaN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic01()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16);
|
||||||
|
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12712699).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.5764246).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.06033641).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.6822646).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.61201024).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.17746393).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.33456334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.96167856).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12944269).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.64489424).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.109665975).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.18188846).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.36097932).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.48192585).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.1617974).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.24791045).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.43913218).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.3343723).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9428737).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55195147).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.027495692).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9621458).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55794334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.69002056).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.86020225).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.88220626).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.68816894).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.8583311).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.003915685).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.83575225).Within(1e-7f));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic02()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16);
|
||||||
|
var dist = new Uniform(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(58));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(6));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(68));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(61));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(64));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(36));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(48));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(25));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(44));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(94));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(55));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(86));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(88));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(85));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(83));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic03()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16);
|
||||||
|
var dist = new CauchyLorentzX0(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(14));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(65));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(37));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(12));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(8));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(20));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(84));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic01b()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16, 362_436_069);
|
||||||
|
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12712699).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.5764246).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.06033641).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.6822646).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.61201024).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.17746393).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.33456334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.96167856).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12944269).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.64489424).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.109665975).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.18188846).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.36097932).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.48192585).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.1617974).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.24791045).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.43913218).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.3343723).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9428737).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55195147).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.027495692).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9621458).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55794334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.69002056).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.86020225).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.88220626).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.68816894).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.8583311).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.003915685).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.83575225).Within(1e-7f));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic02b()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16, 362_436_069);
|
||||||
|
var dist = new Uniform(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(58));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(6));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(68));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(61));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(64));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(36));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(48));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(25));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(44));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(94));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(55));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(86));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(88));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(85));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(83));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic03b()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16, 362_436_069);
|
||||||
|
var dist = new CauchyLorentzX0(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(14));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(65));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(37));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(12));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(8));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(20));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(84));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -313,5 +313,243 @@ namespace FastRngTests.Float
|
|||||||
using var rng2 = new MultiThreadedRng();
|
using var rng2 = new MultiThreadedRng();
|
||||||
Assert.That(await rng2.GetUniform(token), Is.NaN);
|
Assert.That(await rng2.GetUniform(token), Is.NaN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic01()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16);
|
||||||
|
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12712699).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.5764246).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.06033641).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.6822646).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.61201024).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.17746393).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.33456334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.96167856).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12944269).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.64489424).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.109665975).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.18188846).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.36097932).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.48192585).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.1617974).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.24791045).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.43913218).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.3343723).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9428737).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55195147).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.027495692).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9621458).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55794334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.69002056).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.86020225).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.88220626).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.68816894).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.8583311).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.003915685).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.83575225).Within(1e-7f));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic02()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16);
|
||||||
|
var dist = new Uniform(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(58));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(6));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(68));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(61));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(64));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(36));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(48));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(25));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(44));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(94));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(55));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(86));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(88));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(85));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(83));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic03()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16);
|
||||||
|
var dist = new CauchyLorentzX0(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(14));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(65));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(37));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(12));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(8));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(20));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(84));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic01b()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16, 362_436_069);
|
||||||
|
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12712699).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.5764246).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.06033641).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.6822646).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.61201024).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.17746393).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.33456334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.96167856).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.12944269).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.64489424).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.109665975).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.18188846).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.36097932).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.48192585).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.1617974).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.24791045).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.43913218).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.3343723).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9428737).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55195147).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.027495692).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.9621458).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.55794334).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.69002056).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.86020225).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.88220626).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.68816894).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.8583311).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.003915685).Within(1e-7f));
|
||||||
|
Assert.That(await rng2.GetUniform(), Is.EqualTo(0.83575225).Within(1e-7f));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic02b()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16, 362_436_069);
|
||||||
|
var dist = new Uniform(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(58));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(6));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(68));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(61));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(13));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(64));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(36));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(48));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(25));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(44));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(34));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(94));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(55));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(96));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(86));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(88));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(69));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(85));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(83));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.COVER)]
|
||||||
|
[Category(TestCategories.NORMAL)]
|
||||||
|
public async Task TestDeterministic03b()
|
||||||
|
{
|
||||||
|
using var rng2 = new MultiThreadedRng(16, 362_436_069);
|
||||||
|
var dist = new CauchyLorentzX0(rng2);
|
||||||
|
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(17));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(18));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(14));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(65));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(11));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(37));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(12));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(8));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(22));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(3));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(20));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(84));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(9));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(19));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(2));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(1));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(10));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(4));
|
||||||
|
Assert.That(await dist.NextNumber(1, 100), Is.EqualTo(56));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user