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