namespace Games.Common.Randomness;
///
/// Provides access to a random number generator
///
public interface IRandom
{
///
/// Gets a random such that 0 <= n < 1.
///
/// The random number.
float NextFloat();
///
/// Gets a random such that 0 <= n < exclusiveMaximum.
///
/// The random number.
float NextFloat(float exclusiveMaximum);
///
/// Gets a random such that inclusiveMinimum <= n < exclusiveMaximum.
///
/// The random number.
float NextFloat(float inclusiveMinimum, float exclusiveMaximum);
///
/// Gets a random such that 0 <= n < exclusiveMaximum.
///
/// The random number.
int Next(int exclusiveMaximum);
///
/// Gets a random such that inclusiveMinimum <= n < exclusiveMaximum.
///
/// The random number.
int Next(int inclusiveMinimum, int exclusiveMaximum);
///
/// Gets the previous random number as a .
///
/// The previous random number.
float PreviousFloat();
///
/// Gets the previous random number as an .
///
/// The previous random number.
int Previous();
///
/// Reseeds the random number generator.
///
/// The seed.
void Reseed(int seed);
}