1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.rng.sampling.distribution;
18
19 import org.apache.commons.rng.UniformRandomProvider;
20 import org.apache.commons.rng.sampling.RandomAssert;
21 import org.junit.jupiter.api.Test;
22
23
24
25
26 class InverseTransformContinuousSamplerTest {
27
28
29
30 @Test
31 void testSharedStateSampler() {
32 ContinuousInverseCumulativeProbabilityFunction function =
33 new ContinuousInverseCumulativeProbabilityFunction() {
34 @Override
35 public double inverseCumulativeProbability(double p) {
36 return 456.99 * p;
37 }
38 };
39 final UniformRandomProvider rng1 = RandomAssert.seededRNG();
40 final UniformRandomProvider rng2 = RandomAssert.seededRNG();
41 final SharedStateContinuousSampler sampler1 =
42 InverseTransformContinuousSampler.of(rng1, function);
43 final SharedStateContinuousSampler sampler2 = sampler1.withUniformRandomProvider(rng2);
44 RandomAssert.assertProduceSameSequence(sampler1, sampler2);
45 }
46 }