Class ZigguratUniformOneGenerator
Uniform random number generator using the Ziggurat method.
Inheritance
Implements
Namespace: ISynergy.Framework.Mathematics.Random
Assembly: ISynergy.Framework.Mathematics.dll
Syntax
public sealed class ZigguratUniformOneGenerator : object, IRandomNumberGenerator<double>, IRandomNumberGenerator<int>, IRandomNumberGenerator<uint>
Remarks
References:
- John Burkard, Ziggurat Random Number Generator (RNG). Available on: http://people.sc.fsu.edu/~jburkardt/c_src/ziggurat/ziggurat.c (LGPL)
- Philip Leong, Guanglie Zhang, Dong-U Lee, Wayne Luk, John Villasenor, A comment on the implementation of the ziggurat method, Journal of Statistical Software, Volume 12, Number 7, February 2005.
- George Marsaglia, Wai Wan Tsang, The Ziggurat _method for Generating Random Variables, Journal of Statistical Software, Volume 5, Number 8, October 2000, seven pages.
Constructors
View SourceZigguratUniformOneGenerator()
Initializes a new instance of the ZigguratExponentialGenerator class.
Declaration
public ZigguratUniformOneGenerator()
ZigguratUniformOneGenerator(Int32)
Initializes a new instance of the ZigguratUniformOneGenerator class.
Declaration
public ZigguratUniformOneGenerator(int seed)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | seed | The random seed to use. Default is to use the next value from the the framework-wide random generator. |
Methods
View SourceGenerate()
Generates a random vector of observations from the current distribution.
Declaration
public double Generate()
Returns
Type | Description |
---|---|
System.Double | A random vector of observations drawn from this distribution. |
Generate(Int32)
Generates a random vector of observations from the current distribution.
Declaration
public double[] Generate(int samples)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | samples | The number of samples to generate. |
Returns
Type | Description |
---|---|
System.Double[] | A random vector of observations drawn from this distribution. |
Generate(Int32, Double[])
Generates a random vector of observations from the current distribution.
Declaration
public double[] Generate(int samples, double[] result)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | samples | The number of samples to generate. |
System.Double[] | result | The location where to store the samples. |
Returns
Type | Description |
---|---|
System.Double[] | A random vector of observations drawn from this distribution. |
Generate(Int32, Int32[])
Generates a random vector of observations from the current distribution.
Declaration
public int[] Generate(int samples, int[] result)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | samples | The number of samples to generate. |
System.Int32[] | result | The location where to store the samples. |
Returns
Type | Description |
---|---|
System.Int32[] | A random vector of observations drawn from this distribution. |
Generate(Int32, UInt32[])
Generates a random vector of observations from the current distribution.
Declaration
public uint[] Generate(int samples, uint[] result)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | samples | The number of samples to generate. |
System.UInt32[] | result | The location where to store the samples. |
Returns
Type | Description |
---|---|
System.UInt32[] | A random vector of observations drawn from this distribution. |
Next()
Generates a new non-negative integer random number.
Declaration
public uint Next()
Returns
Type | Description |
---|---|
System.UInt32 |
Explicit Interface Implementations
View SourceIRandomNumberGenerator<Int32>.Generate()
Declaration
int IRandomNumberGenerator<int>.Generate()
Returns
Type | Description |
---|---|
System.Int32 |
IRandomNumberGenerator<Int32>.Generate(Int32)
Declaration
int[] IRandomNumberGenerator<int>.Generate(int samples)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | samples |
Returns
Type | Description |
---|---|
System.Int32[] |
IRandomNumberGenerator<UInt32>.Generate()
Declaration
uint IRandomNumberGenerator<uint>.Generate()
Returns
Type | Description |
---|---|
System.UInt32 |
IRandomNumberGenerator<UInt32>.Generate(Int32)
Declaration
uint[] IRandomNumberGenerator<uint>.Generate(int samples)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | samples |
Returns
Type | Description |
---|---|
System.UInt32[] |