HypergeometricDistribution.Sample Method

Definition

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

Overload List

Sample() Returns a random sample from the 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 an IRandomSource 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, Int32[]) Fills an Int32 array with random numbers.
Obsolete
Sample(Random, Int32[]) Fills an Int32 array with random numbers.
Obsolete
Sample(IRandomSource, Int32[], Int32, Int32) Fills an Int32 array with random numbers from this DiscreteDistribution.
Obsolete
Sample(IRandomSource, Int32, Int32, Int32) Returns a single random sample from a hypergeometric distribution with the specified parameters.
Sample(Random, Int32[], Int32, Int32) Fills an Int32 array with random numbers from this DiscreteDistribution.
Obsolete
Sample(Random, Int32, Int32, Int32) Returns a single random sample from a hypergeometric distribution with the specified parameters.
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>, Int32, Int32, Int32) Returns a single random sample from a hypergeometric distribution with the specified parameters.

Sample<TGenerator>(TGenerator)

Returns a random sample from the distribution using the provided generator.
C#
protected override int 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

Int32
A signed 32-bit integer 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, Int32, Int32, Int32)

Returns a single random sample from a hypergeometric distribution with the specified parameters.
C#
public static int Sample(
	IRandomSource random,
	int taggedPopulation,
	int untaggedPopulation,
	int samples
)

Parameters

random  IRandomSource
The Random derived random number generator used to generate the sample.
taggedPopulation  Int32
The number of tagged members of the population.
untaggedPopulation  Int32
The number of untagged members of the population.
samples  Int32
The number of samples.

Return Value

Int32
A 32-bit signed integer sample from the hypergeometric distribution with the specified parameters.

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

taggedPopulation is less than or equal to zero.

-or-

untaggedPopulation is less than or equal to zero.

-or-

samples is less than or equal to zero.

-or-

samples is greater than taggedPopulation + untaggedPopulation.

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

Returns a single random sample from a hypergeometric distribution with the specified parameters.
C#
public static int Sample<TGenerator>(
	IRandomSource<TGenerator> random,
	int taggedPopulation,
	int untaggedPopulation,
	int samples
)
where TGenerator : struct, new(), IRandomGenerator

Parameters

random  IRandomSource<TGenerator>
The Random derived random number generator used to generate the sample.
taggedPopulation  Int32
The number of tagged members of the population.
untaggedPopulation  Int32
The number of untagged members of the population.
samples  Int32
The number of samples.

Type Parameters

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

Return Value

Int32
A 32-bit signed integer sample from the hypergeometric distribution with the specified parameters.

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

taggedPopulation is less than or equal to zero.

-or-

untaggedPopulation is less than or equal to zero.

-or-

samples is less than or equal to zero.

-or-

samples is greater than taggedPopulation + untaggedPopulation.

Sample(Random, Int32, Int32, Int32)

Returns a single random sample from a hypergeometric distribution with the specified parameters.
C#
public static int Sample(
	Random random,
	int taggedPopulation,
	int untaggedPopulation,
	int samples
)

Parameters

random  Random
The Random derived random number generator used to generate the sample.
taggedPopulation  Int32
The number of tagged members of the population.
untaggedPopulation  Int32
The number of untagged members of the population.
samples  Int32
The number of samples.

Return Value

Int32
A 32-bit signed integer sample from the hypergeometric distribution with the specified parameters.

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

taggedPopulation is less than or equal to zero.

-or-

untaggedPopulation is less than or equal to zero.

-or-

samples is less than or equal to zero.

-or-

samples is greater than taggedPopulation + untaggedPopulation.

See Also