Exemplo n.º 1
0
 /// <summary>
 /// Returns a random number value from 0 (inclusive) to range (exclusive)
 /// </summary>
 /// <param name="randomNumberGenerator">The random number generator to use</param>
 /// <param name="range">The max range (exclusive)</param>
 /// <returns>A random number value from 0 (inclusive) to range (exclusive)</returns>
 public static int NextIntUnsafe(this IIntegerRandomNumberGenerator randomNumberGenerator, int range)
 => randomNumberGenerator.NextInt() % range;
Exemplo n.º 2
0
 public FisherYatesShuffle(IIntegerRandomNumberGenerator randomNumberGenerator)
 {
     this.randomNumberGenerator = randomNumberGenerator;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Returns a random number value from 0 (inclusive) to range (exclusive)
 /// </summary>
 /// <param name="randomNumberGenerator">The random number generator to use</param>
 /// <param name="range">The max range (exclusive)</param>
 /// <returns>A random number value from 0 (inclusive) to range (exclusive)</returns>
 /// <exception cref="ArgumentOutOfRangeException">If range is 0 or less</exception>
 public static int NextInt(this IIntegerRandomNumberGenerator randomNumberGenerator, int range)
 => range <= 0 ?
 throw new ArgumentOutOfRangeException(nameof(range), $"{nameof(NextInt)}'s range is less than 1: {range}.") :
       randomNumberGenerator.NextIntUnsafe(range);