diff --git a/FastRng/IRandom.cs b/FastRng/IRandom.cs index e8f672b..f75699b 100644 --- a/FastRng/IRandom.cs +++ b/FastRng/IRandom.cs @@ -1,15 +1,19 @@ +using System; using System.Threading; using System.Threading.Tasks; +using FastRng.Distributions; namespace FastRng { public interface IRandom { - public Task NextNumber(uint rangeStart, uint rangeEnd, CancellationToken cancel = default(CancellationToken)); + public Task GetUniformDouble(CancellationToken cancel = default); - public Task NextNumber(ulong rangeStart, ulong rangeEnd, CancellationToken cancel = default(CancellationToken)); + public Task NextNumber(uint rangeStart, uint rangeEnd, IDistribution distribution, CancellationToken cancel = default); - public Task NextNumber(float rangeStart, float rangeEnd, CancellationToken cancel = default(CancellationToken)); + public Task NextNumber(ulong rangeStart, ulong rangeEnd, IDistribution distribution, CancellationToken cancel = default); + + public Task NextNumber(float rangeStart, float rangeEnd, IDistribution distribution, CancellationToken cancel = default); public void StopProducer(); }