Class ZigguratUniformGenerator
Uniform random number generator using the Ziggurat method.
Inheritance
Implements
Namespace: ISynergy.Framework.Mathematics.Random
Assembly: ISynergy.Framework.Mathematics.dll
Syntax
public sealed class ZigguratUniformGenerator : object, IRandomNumberGenerator<double>
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 SourceZigguratUniformGenerator(Double, Double)
Initializes a new instance of the ZigguratExponentialGenerator class.
Declaration
public ZigguratUniformGenerator(double min, double max)
Parameters
Type | Name | Description |
---|---|---|
System.Double | min | The lower bound for generated values. |
System.Double | max | The upper bound for generated values. |
ZigguratUniformGenerator(Double, Double, Int32)
Initializes a new instance of the ZigguratUniformOneGenerator class.
Declaration
public ZigguratUniformGenerator(double min, double max, int seed)
Parameters
Type | Name | Description |
---|---|---|
System.Double | min | The lower bound for generated values. |
System.Double | max | The upper bound for generated values. |
System.Int32 | seed | The random seed to use. Default is to use the next value from the the framework-wide random generator. |
Properties
View SourceLength
Gets or sets the length of the interval for values generated by this
instance. The upper bound will be given by Min + Length
.
Declaration
public double Length { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
Min
Gets or sets the lower bound for the values generated by this instance.
Declaration
public double Min { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
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. |