ContinuousUniformDistribution.Sample Method

Definition

Namespace: Numerics.NET.Statistics.Distributions
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.4.0

Overload List

Sample() Returns a single random sample drawn from this distribution.
Sample(Int32) Returns a vector containing the specified number of independent random samples drawn from this distribution.
Sample(IRandomSource) Returns a random sample from the distribution using a Random instance.
Sample(Random) Returns a random sample from the distribution using a Random instance.
Sample(Int32, IRandomSource) Returns a vector containing the specified number of independent random samples drawn from this distribution using the provided IRandomSource.
Sample(Int32, Random) Returns a vector of random samples from the distribution.
Sample(IRandomSource, Double) 
Sample(Random, Double) Returns a single random sample from a continuous uniform distribution over an interval with lower bound zero and specified upper bound.
Sample(IRandomSource, Double, Double) 
Sample(Random, Double, Double) Returns a single random sample from a continuous uniform distribution over the specified interval.
Sample<TGenerator>(IRandomSource<TGenerator>) Returns a random sample from the distribution using the supplied IRandomSource<TGenerator>.
Sample<TGenerator>(TGenerator) Returns a random sample from the distribution using the provided generator.
Sample<TGenerator>(TGenerator) Returns a random sample from the distribution using the provided generator.
Sample<TGenerator>(Int32, IRandomSource<TGenerator>) Returns a vector containing the specified number of independent random samples drawn from this distribution using the supplied IRandomSource<TGenerator>.
Sample<TGenerator>(IRandomSource<TGenerator>, Double) 
Sample<TGenerator>(IRandomSource<TGenerator>, Span<Double>) Fills a span with random samples from this uniform distribution.
Sample<TGenerator>(IRandomSource<TGenerator>, Double, Double) 

Sample<TGenerator>(TGenerator)

Returns a random sample from the distribution using the provided generator.
C#
protected override double Sample<TGenerator>(
	ref TGenerator generator
)
where TGenerator : struct, new(), IRandomGenerator

Parameters

generator  TGenerator
A reference to a struct implementing IRandomGenerator used to produce uniform variates.

Type Parameters

TGenerator
The underlying generator type of the random source, used to enable optimizations like inlining.

Return Value

Double
A double-precision random variate.

Remarks

Implementations may override this method to provide a more efficient or specialized sampling algorithm that consumes raw uniform variates from generator.

Sample(IRandomSource, Double)

C#
public static double Sample(
	IRandomSource random,
	double upperBound
)

Parameters

random  IRandomSource
 
upperBound  Double
 

Return Value

Double

Sample<TGenerator>(IRandomSource<TGenerator>, Double)

C#
public static double Sample<TGenerator>(
	IRandomSource<TGenerator> random,
	double upperBound
)
where TGenerator : struct, new(), IRandomGenerator

Parameters

random  IRandomSource<TGenerator>
 
upperBound  Double
 

Type Parameters

TGenerator

Return Value

Double

Sample<TGenerator>(IRandomSource<TGenerator>, Span<Double>)

Fills a span with random samples from this uniform distribution.
C#
public void Sample<TGenerator>(
	IRandomSource<TGenerator> random,
	Span<double> destination
)
where TGenerator : struct, new(), IRandomGenerator

Parameters

random  IRandomSource<TGenerator>
The random number generator to use.
destination  Span<Double>
The span to fill with random samples.

Type Parameters

TGenerator
The underlying generator type of the random source, used to enable optimizations like inlining.

Remarks

This method provides high-performance bulk sampling from a uniform distribution.

Sample(Random, Double)

Returns a single random sample from a continuous uniform distribution over an interval with lower bound zero and specified upper bound.
C#
public static double Sample(
	Random random,
	double upperBound
)

Parameters

random  Random
The Random derived random number generator used to generate the sample.
upperBound  Double
The upper bound of the interval.

Return Value

Double
A double-precision floating-point number from the distribution.

Remarks

This method is useful when only a single random sample is required, or if the parameters of the distribution change often. To obtain a large number of samples from a distribution with identical parameters, create an instance of the class and call the Sample() method repeatedly.

Exceptions

ArgumentNullException

random is null.

ArgumentOutOfRangeException

upperBound is less than or equal to 0.

Sample(IRandomSource, Double, Double)

C#
public static double Sample(
	IRandomSource random,
	double lowerBound,
	double upperBound
)

Parameters

random  IRandomSource
 
lowerBound  Double
 
upperBound  Double
 

Return Value

Double

Sample<TGenerator>(IRandomSource<TGenerator>, Double, Double)

C#
public static double Sample<TGenerator>(
	IRandomSource<TGenerator> random,
	double lowerBound,
	double upperBound
)
where TGenerator : struct, new(), IRandomGenerator

Parameters

random  IRandomSource<TGenerator>
 
lowerBound  Double
 
upperBound  Double
 

Type Parameters

TGenerator

Return Value

Double

Sample(Random, Double, Double)

Returns a single random sample from a continuous uniform distribution over the specified interval.
C#
public static double Sample(
	Random random,
	double lowerBound,
	double upperBound
)

Parameters

random  Random
The Random derived random number generator used to generate the sample.
lowerBound  Double
The lower bound of the interval.
upperBound  Double
The upper bound of the interval.

Return Value

Double
A double-precision floating-point number from the distribution.

Remarks

This method is useful when only a single random sample is required, or if the parameters of the distribution change often. To obtain a large number of samples from a distribution with identical parameters, create an instance of the class and call the Sample() method repeatedly.

Exceptions

ArgumentNullException

random is null.

ArgumentOutOfRangeException

upperBound is less than or equal to lowerBound.

See Also