C# Class ByChance.Core.Random2

Implementation of the Ranq1 struct found in Numerical Recipes in C: 3rd Edition. Combined generator (Ranq1 = D1(A1(right-shift first)) with a period of 1.8 x 10^19.
Show file Open project: npruehs/bychance Class Usage Examples

Public Methods

Method Description
NextDouble ( ) : double

Gets the next random number in the sequence and returns it as a double-precision floating-point number between 0.0 and 1.0.

NextFloat ( ) : float

Gets the next random number in the sequence and returns it as a single-precision floating-point number between 0.0f and 1.0f.

NextInt32 ( ) : int

Gets the next random number in the sequence and returns it as a 32-bit signed integer.

NextInt32 ( int maxExclusive ) : int

Gets the next random number in the sequence and returns it as a 32-bit signed integer with the specified upper bound.

NextInt64 ( ) : long

Gets the next random number in the sequence and returns it as a 64-bit signed integer.

NextInt64 ( long maxExclusive ) : long

Gets the next random number in the sequence and returns it as a 64-bit signed integer with the specified upper bound.

Random2 ( ) : System

Constructs a new random number generator with the current system time as seed.

Random2 ( long seed ) : System

Constructs a new random number generator with the given 64-bit unsigned integer as seed.

Private Methods

Method Description
NextUInt64 ( ) : ulong

Gets the next random number in the sequence and returns it as a 64-bit unsigned integer.

Method Details

NextDouble() public method

Gets the next random number in the sequence and returns it as a double-precision floating-point number between 0.0 and 1.0.
public NextDouble ( ) : double
return double

NextFloat() public method

Gets the next random number in the sequence and returns it as a single-precision floating-point number between 0.0f and 1.0f.
public NextFloat ( ) : float
return float

NextInt32() public method

Gets the next random number in the sequence and returns it as a 32-bit signed integer.
public NextInt32 ( ) : int
return int

NextInt32() public method

Gets the next random number in the sequence and returns it as a 32-bit signed integer with the specified upper bound.
public NextInt32 ( int maxExclusive ) : int
maxExclusive int /// Exclusive upper bound on the number to get. ///
return int

NextInt64() public method

Gets the next random number in the sequence and returns it as a 64-bit signed integer.
public NextInt64 ( ) : long
return long

NextInt64() public method

Gets the next random number in the sequence and returns it as a 64-bit signed integer with the specified upper bound.
public NextInt64 ( long maxExclusive ) : long
maxExclusive long /// Exclusive upper bound on the number to get. ///
return long

Random2() public method

Constructs a new random number generator with the current system time as seed.
public Random2 ( ) : System
return System

Random2() public method

Constructs a new random number generator with the given 64-bit unsigned integer as seed.
public Random2 ( long seed ) : System
seed long /// 64-bit unsigned integer to use as seed. ///
return System