C# Class RazorDB.C5.C5Random

A modern random number generator based on G. Marsaglia: Seeds for Random Number Generators, Communications of the ACM 46, 5 (May 2003) 90-93; and a posting by Marsaglia to comp.lang.c on 2003-04-03.
Inheritance: System.Random
显示文件 Open project: gnoso/razordb

Public Methods

Method Description
C5Random ( ) : System

Create a random number generator seed by system time.

C5Random ( long seed ) : System

Create a random number generator with a given seed

C5Random ( uint Q ) : System

Create a random number generator with a specified internal start state.

Next ( ) : int

Get a new random System.Int32 value

Next ( int max ) : int

Get a random non-negative integer less than a given upper bound

Next ( int min, int max ) : int

Get a random integer between two given bounds

NextBytes ( byte buffer ) : void

Fill a array of byte with random bytes

NextDouble ( ) : double

Get a new random System.Double value

Protected Methods

Method Description
Sample ( ) : double

Get a new random System.Double value

Private Methods

Method Description
Cmwc ( ) : uint

Method Details

C5Random() public method

Create a random number generator seed by system time.
public C5Random ( ) : System
return System

C5Random() public method

Create a random number generator with a given seed
If seed is zero
public C5Random ( long seed ) : System
seed long The seed
return System

C5Random() public method

Create a random number generator with a specified internal start state.
If Q is not of length exactly 16
public C5Random ( uint Q ) : System
Q uint The start state. Must be a collection of random bits given by an array of exactly 16 uints.
return System

Next() public method

Get a new random System.Int32 value
public Next ( ) : int
return int

Next() public method

Get a random non-negative integer less than a given upper bound
If max is negative
public Next ( int max ) : int
max int The upper bound (exclusive)
return int

Next() public method

Get a random integer between two given bounds
If max is less than min
public Next ( int min, int max ) : int
min int The lower bound (inclusive)
max int The upper bound (exclusive)
return int

NextBytes() public method

Fill a array of byte with random bytes
public NextBytes ( byte buffer ) : void
buffer byte The array to fill
return void

NextDouble() public method

Get a new random System.Double value
public NextDouble ( ) : double
return double

Sample() protected method

Get a new random System.Double value
protected Sample ( ) : double
return double