This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-math.git
commit 536ee3f6450db46f6aaf603d4e6392e0ff92d074 Author: Gilles Sadowski <gillese...@gmail.com> AuthorDate: Wed Jun 2 03:26:14 2021 +0200 MATH-1598: Class is not used anymore within "Commons Math". Functionality is available from "Commons RNG". --- .../legacy/random/UniformRandomGenerator.java | 58 ---------------------- .../legacy/random/UniformRandomGeneratorTest.java | 40 --------------- 2 files changed, 98 deletions(-) diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/UniformRandomGenerator.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/UniformRandomGenerator.java deleted file mode 100644 index a8ef515..0000000 --- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/random/UniformRandomGenerator.java +++ /dev/null @@ -1,58 +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.math4.legacy.random; - -import org.apache.commons.math4.legacy.core.jdkmath.AccurateMath; -import org.apache.commons.rng.UniformRandomProvider; - -/** - * This class implements a normalized uniform random generator. - * - * <p> - * It generates values from a uniform distribution with mean - * equal to 0 and standard deviation equal to 1. - * Generated values fall in the range \( [-\sqrt{3}, +\sqrt{3}] \). - * </p> - * - * @since 1.2 - */ -public class UniformRandomGenerator implements NormalizedRandomGenerator { - /** Square root of three. */ - private static final double SQRT3 = AccurateMath.sqrt(3); - /** Underlying generator. */ - private final UniformRandomProvider generator; - - /** - * Creates a new generator. - * - * @param generator Underlying random generator. - */ - public UniformRandomGenerator(UniformRandomProvider generator) { - this.generator = generator; - } - - /** - * Generates a random scalar with zero mean and unit standard deviation. - * - * @return a random scalar in the range \( [-\sqrt{3}, +\sqrt{3}] \). - */ - @Override - public double nextNormalizedDouble() { - return SQRT3 * (2 * generator.nextDouble() - 1); - } -} diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/UniformRandomGeneratorTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/UniformRandomGeneratorTest.java deleted file mode 100644 index 86a5efb..0000000 --- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/random/UniformRandomGeneratorTest.java +++ /dev/null @@ -1,40 +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.math4.legacy.random; - -import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.simple.RandomSource; -import org.apache.commons.math4.legacy.stat.StatUtils; -import org.junit.Assert; -import org.junit.Test; - - -public class UniformRandomGeneratorTest { - - @Test - public void testMeanAndStandardDeviation() { - final UniformRandomProvider rg = RandomSource.create(RandomSource.ISAAC, 17399225432L); - UniformRandomGenerator generator = new UniformRandomGenerator(rg); - double[] sample = new double[10000]; - for (int i = 0; i < sample.length; ++i) { - sample[i] = generator.nextNormalizedDouble(); - } - Assert.assertEquals(0.0, StatUtils.mean(sample), 0.07); - Assert.assertEquals(1.0, StatUtils.variance(sample), 0.02); - } -}