Refactored to use distributions

This commit is contained in:
Thorsten Sommer 2020-09-26 00:05:13 +02:00
parent cf334f4c76
commit 90804bdf2b

View File

@ -1,15 +1,19 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using FastRng.Distributions;
namespace FastRng
{
public interface IRandom
{
public Task<uint> NextNumber(uint rangeStart, uint rangeEnd, CancellationToken cancel = default(CancellationToken));
public Task<double> GetUniformDouble(CancellationToken cancel = default);
public Task<ulong> NextNumber(ulong rangeStart, ulong rangeEnd, CancellationToken cancel = default(CancellationToken));
public Task<uint> NextNumber(uint rangeStart, uint rangeEnd, IDistribution distribution, CancellationToken cancel = default);
public Task<float> NextNumber(float rangeStart, float rangeEnd, CancellationToken cancel = default(CancellationToken));
public Task<ulong> NextNumber(ulong rangeStart, ulong rangeEnd, IDistribution distribution, CancellationToken cancel = default);
public Task<float> NextNumber(float rangeStart, float rangeEnd, IDistribution distribution, CancellationToken cancel = default);
public void StopProducer();
}