Class KnownSeriesGenerator
"Random number generator" that takes in a series of values, and simply returns them sequentially when RNG functions are called.
Inheritance
Implements
Inherited Members
Namespace: GoRogue.Random
Assembly: GoRogue.dll
Syntax
public class KnownSeriesGenerator : IGenerator
  Remarks
This class may be useful for testing, when you want to specify the numbers returned by an RNG without drastically modifying any code using the RNG.
Constructors
| Improve this Doc View SourceKnownSeriesGenerator(IEnumerable<Int32>, IEnumerable<UInt32>, IEnumerable<Double>, IEnumerable<Boolean>, IEnumerable<Byte>)
Creates a new known series generator, with parameters to indicate which series to use for the integer, unsigned integer, double, bool, and byte-based RNG functions. If null is specified, no values of that type may be returned, and functions that try to return a value of that type will throw an exception.
Declaration
public KnownSeriesGenerator(IEnumerable<int> intSeries = null, IEnumerable<uint> uintSeries = null, IEnumerable<double> doubleSeries = null, IEnumerable<bool> boolSeries = null, IEnumerable<byte> byteSeries = null)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Collections.Generic.IEnumerable<System.Int32> | intSeries | |
| System.Collections.Generic.IEnumerable<System.UInt32> | uintSeries | |
| System.Collections.Generic.IEnumerable<System.Double> | doubleSeries | |
| System.Collections.Generic.IEnumerable<System.Boolean> | boolSeries | |
| System.Collections.Generic.IEnumerable<System.Byte> | byteSeries | 
Properties
| Improve this Doc View SourceCanReset
Whether or not the RNG is capable of resetting, such that it will return the same series of values again.
Declaration
public bool CanReset { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Boolean | 
Seed
Since this RNG returns a known series of values, this field will always return 0.
Declaration
public uint Seed { get; }
  Property Value
| Type | Description | 
|---|---|
| System.UInt32 | 
Methods
| Improve this Doc View SourceNext()
Gets the next integer in the underlying series. If the integer is equal to System.Int32.MaxValue, throws an exception.
Declaration
public int Next()
  Returns
| Type | Description | 
|---|---|
| System.Int32 | The next integer in the underlying series.  | 
      
Next(Int32)
Gets the next number in the underlying int series. If the value is less than 0 or greater
than/equal to maxValue, throws an exception.
Declaration
public int Next(int maxValue)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | maxValue | Maximum allowable number that can be returned (exclusive).  | 
      
Returns
| Type | Description | 
|---|---|
| System.Int32 | The appropriate number from the series.  | 
      
Next(Int32, Int32)
Gets the next number in the underlying series. If the value is less than minValue or
greater than/equal to maxValue, throws an exception.
Declaration
public int Next(int minValue, int maxValue)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | minValue | Minimum allowable number that can be returned.  | 
      
| System.Int32 | maxValue | Maximum allowable number that can be returned (exclusive).  | 
      
Returns
| Type | Description | 
|---|---|
| System.Int32 | The appropriate number from the series.  | 
      
NextBoolean()
Returns the next boolean in the underlying series.
Declaration
public bool NextBoolean()
  Returns
| Type | Description | 
|---|---|
| System.Boolean | The next boolean value in the underlying series.  | 
      
NextBytes(Byte[])
Fills the specified buffer with values from the underlying byte series.
Declaration
public void NextBytes(byte[] buffer)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Byte[] | buffer | Buffer to fill.  | 
      
NextDouble()
Returns the next double in the underlying series. If the double is less than 0.0 or greater than/equal to 1.0, throws an exception.
Declaration
public double NextDouble()
  Returns
| Type | Description | 
|---|---|
| System.Double | The next double in the underlying series.  | 
      
NextDouble(Double)
Returns the next double in the underlying series. If the double is less than 0.0 or
greater than/equal to maxValue, throws an exception.
Declaration
public double NextDouble(double maxValue)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Double | maxValue | The maximum value for the returned value, exclusive.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Double | The next double in the underlying series.  | 
      
NextDouble(Double, Double)
Returns the next double in the underlying series. If the double is less than minValue
or greater than/equal to maxValue, throws an exception.
Declaration
public double NextDouble(double minValue, double maxValue)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Double | minValue | Minimum value for the returned number, inclusive.  | 
      
| System.Double | maxValue | Maximum value for the returned number, exclusive.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Double | The next double in the underlying series.  | 
      
NextInclusiveMaxValue()
Returns the next integer in the underlying series. If the value is less than 0, throws an exception.
Declaration
public int NextInclusiveMaxValue()
  Returns
| Type | Description | 
|---|---|
| System.Int32 | The next integer in the underlying series.  | 
      
NextUInt()
Returns the next unsigned integer in the underlying series. If the value is equal to System.UInt32.MaxValue, throws an exception.
Declaration
public uint NextUInt()
  Returns
| Type | Description | 
|---|---|
| System.UInt32 | The next unsigned integer in the underlying series.  | 
      
NextUInt(UInt32)
Returns the next unsigned integer in the underlying series. If the value is greater than
or equal to maxValue, throws an exception.
Declaration
public uint NextUInt(uint maxValue)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | maxValue | The maximum value for the returned number, exclusive.  | 
      
Returns
| Type | Description | 
|---|---|
| System.UInt32 | The next unsigned integer in the underlying series.  | 
      
NextUInt(UInt32, UInt32)
Returns the next unsigned integer in the underlying series. If the value is less than
minValue, or greater than/equal to maxValue, throws an exception.
Declaration
public uint NextUInt(uint minValue, uint maxValue)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | minValue | The minimum value for the returned number, inclusive.  | 
      
| System.UInt32 | maxValue | The maximum value for the returned number, exclusive.  | 
      
Returns
| Type | Description | 
|---|---|
| System.UInt32 | The next unsigned integer in the underlying series.  | 
      
NextUIntExclusiveMaxValue()
Returns the next unsigned integer in the underlying series. If the value is equal to System.UInt32.MaxValue, throws an exception.
Declaration
public uint NextUIntExclusiveMaxValue()
  Returns
| Type | Description | 
|---|---|
| System.UInt32 | The next unsigned integer in the underlying series.  | 
      
NextUIntInclusiveMaxValue()
Returns the next unsigned integer in the underlying series.
Declaration
public uint NextUIntInclusiveMaxValue()
  Returns
| Type | Description | 
|---|---|
| System.UInt32 | The next unsinged integer in the underlying series.  | 
      
Reset()
Resets the random number generator, such that it starts returning values from the beginning of the underlying series.
Declaration
public bool Reset()
  Returns
| Type | Description | 
|---|---|
| System.Boolean | True, since the reset cannot fail.  | 
      
Reset(UInt32)
Resets the random number generator, such that it starts returning the values from the beginning of the underlying series.
Declaration
public bool Reset(uint seed)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.UInt32 | seed | Unused, since there is no seed for a known-series RNG.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | True, since the reset cannot fail.  |