Class LineSampler.LineSampler1D
- java.lang.Object
-
- org.apache.commons.rng.sampling.shape.LineSampler
-
- org.apache.commons.rng.sampling.shape.LineSampler.LineSampler1D
-
- All Implemented Interfaces:
ObjectSampler<double[]>
,SharedStateObjectSampler<double[]>
,SharedStateSampler<SharedStateObjectSampler<double[]>>
- Enclosing class:
- LineSampler
private static class LineSampler.LineSampler1D extends LineSampler
Sample uniformly from a line in 1D. This is an non-array based specialisation ofLineSampler.LineSamplerND
for performance.
-
-
Constructor Summary
Constructors Constructor Description LineSampler1D(UniformRandomProvider rng, double[] a, double[] b)
LineSampler1D(UniformRandomProvider rng, LineSampler.LineSampler1D source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]
createSample(double p1mu, double u)
Creates the sample given the random variateu
in the interval[0, 1]
.LineSampler
withUniformRandomProvider(UniformRandomProvider rng)
Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.-
Methods inherited from class org.apache.commons.rng.sampling.shape.LineSampler
of, sample
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.rng.sampling.ObjectSampler
samples, samples
-
-
-
-
Constructor Detail
-
LineSampler1D
LineSampler1D(UniformRandomProvider rng, double[] a, double[] b)
- Parameters:
rng
- Source of randomness.a
- The first vertex.b
- The second vertex.
-
LineSampler1D
LineSampler1D(UniformRandomProvider rng, LineSampler.LineSampler1D source)
- Parameters:
rng
- Source of randomness.source
- Source to copy.
-
-
Method Detail
-
createSample
public double[] createSample(double p1mu, double u)
Description copied from class:LineSampler
Creates the sample given the random variateu
in the interval[0, 1]
. The sum1 - u
is provided. The sample can be obtained from the line ab using:p = a(1 - u) + ub
- Specified by:
createSample
in classLineSampler
- Parameters:
p1mu
- plus 1 minus u (1 - u)u
- the variate u- Returns:
- the sample
-
withUniformRandomProvider
public LineSampler withUniformRandomProvider(UniformRandomProvider rng)
Description copied from class:LineSampler
Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.- Specified by:
withUniformRandomProvider
in interfaceSharedStateSampler<SharedStateObjectSampler<double[]>>
- Specified by:
withUniformRandomProvider
in classLineSampler
- Parameters:
rng
- Generator of uniformly distributed random numbers.- Returns:
- the sampler
-
-