Moved classes/interfaces from "o.a.c.rng.sampling" to "o.a.c.rng.sampling.distribution".
Project: http://git-wip-us.apache.org/repos/asf/commons-rng/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rng/commit/85b94d9f Tree: http://git-wip-us.apache.org/repos/asf/commons-rng/tree/85b94d9f Diff: http://git-wip-us.apache.org/repos/asf/commons-rng/diff/85b94d9f Branch: refs/heads/master Commit: 85b94d9f37e9ffaaa22599dae72bbf64e0c309f3 Parents: ff7ee3d Author: Gilles <er...@apache.org> Authored: Mon Nov 14 01:20:24 2016 +0100 Committer: Gilles <er...@apache.org> Committed: Mon Nov 14 01:20:24 2016 +0100 ---------------------------------------------------------------------- .../commons/rng/sampling/ContinuousSampler.java | 29 --------- .../commons/rng/sampling/DiscreteSampler.java | 29 --------- .../commons/rng/sampling/SamplerBase.java | 62 -------------------- .../AhrensDieterExponentialSampler.java | 2 - .../AhrensDieterMarsagliaTsangGammaSampler.java | 2 - .../distribution/BoxMullerGaussianSampler.java | 2 - .../distribution/BoxMullerLogNormalSampler.java | 2 - .../sampling/distribution/ChengBetaSampler.java | 2 - .../distribution/ContinuousSampler.java | 29 +++++++++ .../distribution/ContinuousUniformSampler.java | 2 - .../sampling/distribution/DiscreteSampler.java | 29 +++++++++ .../distribution/DiscreteUniformSampler.java | 2 - .../InverseTransformContinuousSampler.java | 2 - .../InverseTransformDiscreteSampler.java | 2 - .../InverseTransformParetoSampler.java | 2 - .../sampling/distribution/PoissonSampler.java | 3 - .../RejectionInversionZipfSampler.java | 2 - .../rng/sampling/distribution/SamplerBase.java | 62 ++++++++++++++++++++ .../ContinuousSamplerParametricTest.java | 2 - .../distribution/ContinuousSamplerTestData.java | 2 - .../distribution/ContinuousSamplersList.java | 1 - .../DiscreteSamplerParametricTest.java | 2 - .../distribution/DiscreteSamplerTestData.java | 2 - .../distribution/DiscreteSamplersList.java | 1 - 24 files changed, 120 insertions(+), 155 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ContinuousSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ContinuousSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ContinuousSampler.java deleted file mode 100644 index 502c168..0000000 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ContinuousSampler.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.commons.rng.sampling; - -/** - * Sampler that generates values of type {@code double}. - */ -public interface ContinuousSampler { - /** - * Creates a sample. - * - * @return a sample. - */ - double sample(); -} http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/DiscreteSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/DiscreteSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/DiscreteSampler.java deleted file mode 100644 index b79b2fb..0000000 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/DiscreteSampler.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.commons.rng.sampling; - -/** - * Sampler that generates values of type {@code int}. - */ -public interface DiscreteSampler { - /** - * Creates a sample. - * - * @return a sample. - */ - int sample(); -} http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SamplerBase.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SamplerBase.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SamplerBase.java deleted file mode 100644 index 06cd396..0000000 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SamplerBase.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.commons.rng.sampling; - -import org.apache.commons.rng.UniformRandomProvider; - -/** - * Base class for a sampler. - */ -public class SamplerBase { - /** RNG. */ - private final UniformRandomProvider rng; - - /** - * @param rng Generator of uniformly distributed random numbers. - */ - protected SamplerBase(UniformRandomProvider rng) { - this.rng = rng; - } - - /** - * @return a random value from a uniform distribution in the - * interval {@code [0, 1)}. - */ - protected double nextUniform() { - return rng.nextDouble(); - } - - /** - * @return a random {@code int} value. - */ - protected int nextInt() { - return rng.nextInt(); - } - - /** - * @return a random {@code int} value in the interval {@code [0, max)}. - */ - protected int nextInt(int max) { - return rng.nextInt(max); - } - - /** {@inheritDoc} */ - @Override - public String toString() { - return "[" + rng.toString() + "]"; - } -} http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterExponentialSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterExponentialSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterExponentialSampler.java index e517397..e43dee2 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterExponentialSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterExponentialSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * Sampling from an exponential distribution. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java index 156e60d..526b94a 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * <p> http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerGaussianSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerGaussianSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerGaussianSampler.java index 5b69701..65cbd5a 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerGaussianSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerGaussianSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * <a href="https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform"> http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerLogNormalSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerLogNormalSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerLogNormalSampler.java index 5cb869f..63e9280 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerLogNormalSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/BoxMullerLogNormalSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * <a href="https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform"> http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java index 1252a0c..827752c 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * Utility class implementing Cheng's algorithms for beta distribution sampling. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java new file mode 100644 index 0000000..5664013 --- /dev/null +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.rng.sampling.distribution; + +/** + * Sampler that generates values of type {@code double}. + */ +public interface ContinuousSampler { + /** + * Creates a sample. + * + * @return a sample. + */ + double sample(); +} http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java index 8441f81..a2287f7 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * Sampling from a uniform distribution. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java new file mode 100644 index 0000000..0314066 --- /dev/null +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.rng.sampling.distribution; + +/** + * Sampler that generates values of type {@code int}. + */ +public interface DiscreteSampler { + /** + * Creates a sample. + * + * @return a sample. + */ + int sample(); +} http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java index 10a421a..c620eea 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java @@ -18,8 +18,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.SamplerBase; -import org.apache.commons.rng.sampling.DiscreteSampler; /** * Discrete uniform distribution sampler. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java index 8bea875..1d057bb 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; -import org.apache.commons.rng.sampling.SamplerBase; /** * Distribution sampler that uses the http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java index 82a819d..2dc0a20 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.SamplerBase; -import org.apache.commons.rng.sampling.DiscreteSampler; /** * Distribution sampler that uses the http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformParetoSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformParetoSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformParetoSampler.java index 82c68f1..4c4ae39 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformParetoSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformParetoSampler.java @@ -17,8 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.SamplerBase; -import org.apache.commons.rng.sampling.ContinuousSampler; /** * Sampling from a <a href="https://en.wikipedia.org/wiki/Pareto_distribution">Pareto distribution</a>. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/PoissonSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/PoissonSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/PoissonSampler.java index 2576640..bd2161b 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/PoissonSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/PoissonSampler.java @@ -17,9 +17,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.SamplerBase; -import org.apache.commons.rng.sampling.DiscreteSampler; -import org.apache.commons.rng.sampling.ContinuousSampler; /** * Sampler for the <a href="http://mathworld.wolfram.com/PoissonDistribution.html">Poisson distribution</a>. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java index 292c11d..c939028 100644 --- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java @@ -18,8 +18,6 @@ package org.apache.commons.rng.sampling.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.SamplerBase; -import org.apache.commons.rng.sampling.DiscreteSampler; /** * Implementation of the <a href="https://en.wikipedia.org/wiki/Zipf's_law">Zipf distribution</a>. http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/SamplerBase.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/SamplerBase.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/SamplerBase.java new file mode 100644 index 0000000..6ff9a67 --- /dev/null +++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/SamplerBase.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.rng.sampling.distribution; + +import org.apache.commons.rng.UniformRandomProvider; + +/** + * Base class for a sampler. + */ +public class SamplerBase { + /** RNG. */ + private final UniformRandomProvider rng; + + /** + * @param rng Generator of uniformly distributed random numbers. + */ + protected SamplerBase(UniformRandomProvider rng) { + this.rng = rng; + } + + /** + * @return a random value from a uniform distribution in the + * interval {@code [0, 1)}. + */ + protected double nextUniform() { + return rng.nextDouble(); + } + + /** + * @return a random {@code int} value. + */ + protected int nextInt() { + return rng.nextInt(); + } + + /** + * @return a random {@code int} value in the interval {@code [0, max)}. + */ + protected int nextInt(int max) { + return rng.nextInt(max); + } + + /** {@inheritDoc} */ + @Override + public String toString() { + return "[" + rng.toString() + "]"; + } +} http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java index b371cdf..2cc18ce 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java @@ -26,8 +26,6 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import org.apache.commons.rng.sampling.ContinuousSampler; - /** * Tests for random deviates generators. */ http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerTestData.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerTestData.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerTestData.java index a3dd651..d4d15d9 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerTestData.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerTestData.java @@ -18,8 +18,6 @@ package org.apache.commons.rng.sampling.distribution; import java.util.Arrays; -import org.apache.commons.rng.sampling.ContinuousSampler; - /** * Data store for {@link ContinuousSamplerParametricTest}. */ http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplersList.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplersList.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplersList.java index 5cb322c..306ef0c 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplersList.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplersList.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Collections; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.ContinuousSampler; import org.apache.commons.rng.simple.RandomSource; /** http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerParametricTest.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerParametricTest.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerParametricTest.java index 93dd71b..6f39d06 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerParametricTest.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerParametricTest.java @@ -28,8 +28,6 @@ import org.junit.runners.Parameterized.Parameters; import org.apache.commons.math3.distribution.ChiSquaredDistribution; -import org.apache.commons.rng.sampling.DiscreteSampler; - /** * Tests for random deviates generators. */ http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerTestData.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerTestData.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerTestData.java index 1857afc..a34104c 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerTestData.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplerTestData.java @@ -18,8 +18,6 @@ package org.apache.commons.rng.sampling.distribution; import java.util.Arrays; -import org.apache.commons.rng.sampling.DiscreteSampler; - /** * Data store for {@link DiscreteSamplerParametricTest}. */ http://git-wip-us.apache.org/repos/asf/commons-rng/blob/85b94d9f/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java ---------------------------------------------------------------------- diff --git a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java index 10e4588..e1fa88f 100644 --- a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java +++ b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java @@ -24,7 +24,6 @@ import java.util.Collections; import org.apache.commons.math3.util.MathArrays; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.DiscreteSampler; import org.apache.commons.rng.simple.RandomSource; /**