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.apache.commons.rng.simple.RandomSource;
22 import org.junit.Test;
23
24
25
26
27 public class InverseTransformContinuousSamplerTest {
28
29
30
31 @Test
32 public void testSharedStateSampler() {
33 ContinuousInverseCumulativeProbabilityFunction function =
34 new ContinuousInverseCumulativeProbabilityFunction() {
35 @Override
36 public double inverseCumulativeProbability(double p) {
37 return 456.99 * p;
38 }
39 };
40 final UniformRandomProvider rng1 = RandomSource.create(RandomSource.SPLIT_MIX_64, 0L);
41 final UniformRandomProvider rng2 = RandomSource.create(RandomSource.SPLIT_MIX_64, 0L);
42 final SharedStateContinuousSampler sampler1 =
43 InverseTransformContinuousSampler.of(rng1, function);
44 final SharedStateContinuousSampler sampler2 = sampler1.withUniformRandomProvider(rng2);
45 RandomAssert.assertProduceSameSequence(sampler1, sampler2);
46 }
47 }