FastRng/FastRng/Double/IRandom.cs

19 lines
708 B
C#

using System.Threading;
using System.Threading.Tasks;
using FastRng.Double.Distributions;
namespace FastRng.Double
{
public interface IRandom
{
public Task<double> GetUniform(CancellationToken cancel = default);
public Task<uint> NextNumber(uint rangeStart, uint rangeEnd, IDistribution distribution, CancellationToken cancel = default);
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();
}
}