Class LineSampler.LineSampler2D
java.lang.Object
org.apache.commons.rng.sampling.shape.LineSampler
org.apache.commons.rng.sampling.shape.LineSampler.LineSampler2D
- All Implemented Interfaces:
ObjectSampler<double[]>
,SharedStateObjectSampler<double[]>
,SharedStateSampler<SharedStateObjectSampler<double[]>>
- Enclosing class:
LineSampler
Sample uniformly from a line in 2D. This is an non-array based specialisation of
LineSampler.LineSamplerND
for performance.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLineSampler2D
(UniformRandomProvider rng, double[] a, double[] b) LineSampler2D
(UniformRandomProvider rng, LineSampler.LineSampler2D source) -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
createSample
(double p1mu, double u) Creates the sample given the random variateu
in the interval[0, 1]
.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
-
Field Details
-
ax
private final double axThe x component of vertex a. -
ay
private final double ayThe y component of vertex a. -
bx
private final double bxThe x component of vertex b. -
by
private final double byThe y component of vertex b.
-
-
Constructor Details
-
LineSampler2D
LineSampler2D(UniformRandomProvider rng, double[] a, double[] b) - Parameters:
rng
- Source of randomness.a
- The first vertex.b
- The second vertex.
-
LineSampler2D
LineSampler2D(UniformRandomProvider rng, LineSampler.LineSampler2D source) - Parameters:
rng
- Source of randomness.source
- Source to copy.
-
-
Method Details
-
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
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
-