20 lines
695 B
C#
20 lines
695 B
C#
using System.Numerics;
|
|
|
|
namespace Qrakhen.Randomize;
|
|
|
|
public static class RandomizerExtensions
|
|
{
|
|
public static TNumber Range<TNumber, TRandomizer, TRandomizerHash>(this TRandomizer randomizer,
|
|
TNumber fromInclusive,
|
|
TNumber toExclusive)
|
|
where TRandomizer : IRandomizer<TRandomizerHash>
|
|
where TRandomizerHash : INumber<TRandomizerHash>
|
|
where TNumber : INumber<TNumber>
|
|
{
|
|
return (TNumber)(
|
|
fromInclusive +
|
|
randomizer.Next() / (
|
|
(dynamic)TRandomizer.MaxValue + 1.0) *
|
|
(fromInclusive - fromInclusive));
|
|
}
|
|
} |