You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2021/08/18 15:41:16 UTC

[commons-math] 02/02: Sonar fix: Cast operands to double before assigning result to double

This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git

commit e97c3288a54f28a2fd2fb24140fc520098321aec
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Wed Aug 18 16:41:10 2021 +0100

    Sonar fix: Cast operands to double before assigning result to double
---
 .../examples/sofm/chineserings/ChineseRingsClassifier.java     |  2 +-
 .../java/org/apache/commons/math4/legacy/core/MathArrays.java  |  2 +-
 .../legacy/analysis/integration/gauss/HermiteRuleFactory.java  | 10 +++++-----
 .../legacy/analysis/integration/gauss/LaguerreRuleFactory.java |  2 +-
 .../math4/legacy/analysis/polynomials/PolynomialsUtils.java    |  2 +-
 .../legacy/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java  |  2 +-
 .../math4/legacy/stat/inference/KolmogorovSmirnovTest.java     |  4 ++--
 .../math4/legacy/stat/interval/ClopperPearsonInterval.java     |  8 ++++----
 .../commons/math4/legacy/stat/regression/SimpleRegression.java |  4 ++--
 9 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/commons-math-examples/examples-sofm/chinese-rings/src/main/java/org/apache/commons/math4/examples/sofm/chineserings/ChineseRingsClassifier.java b/commons-math-examples/examples-sofm/chinese-rings/src/main/java/org/apache/commons/math4/examples/sofm/chineserings/ChineseRingsClassifier.java
index 08836c2..b85c496 100644
--- a/commons-math-examples/examples-sofm/chinese-rings/src/main/java/org/apache/commons/math4/examples/sofm/chineserings/ChineseRingsClassifier.java
+++ b/commons-math-examples/examples-sofm/chinese-rings/src/main/java/org/apache/commons/math4/examples/sofm/chineserings/ChineseRingsClassifier.java
@@ -78,7 +78,7 @@ class ChineseRingsClassifier {
             = LearningFactorFunctionFactory.exponentialDecay(1e-1,
                                                              5e-2,
                                                              numSamplesPerTask / 2);
-        final double numNeurons = Math.sqrt(sofm.getNumberOfRows() * sofm.getNumberOfColumns());
+        final double numNeurons = Math.sqrt((double) sofm.getNumberOfRows() * sofm.getNumberOfColumns());
         final NeighbourhoodSizeFunction neighbourhood
             = NeighbourhoodSizeFunctionFactory.exponentialDecay(0.5 * numNeurons,
                                                                 0.2 * numNeurons,
diff --git a/commons-math-legacy-core/src/main/java/org/apache/commons/math4/legacy/core/MathArrays.java b/commons-math-legacy-core/src/main/java/org/apache/commons/math4/legacy/core/MathArrays.java
index ba72623..00d3c48 100644
--- a/commons-math-legacy-core/src/main/java/org/apache/commons/math4/legacy/core/MathArrays.java
+++ b/commons-math-legacy-core/src/main/java/org/apache/commons/math4/legacy/core/MathArrays.java
@@ -244,7 +244,7 @@ public final class MathArrays {
         checkEqualLength(p1, p2);
         double sum = 0;
         for (int i = 0; i < p1.length; i++) {
-            final double dp = p1[i] - p2[i];
+            final double dp = (double) p1[i] - p2[i];
             sum += dp * dp;
         }
         return AccurateMath.sqrt(sum);
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/HermiteRuleFactory.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/HermiteRuleFactory.java
index 79dc3cd..30cb26a 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/HermiteRuleFactory.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/HermiteRuleFactory.java
@@ -74,8 +74,8 @@ public class HermiteRuleFactory extends BaseRuleFactory<Double> {
         final Double[] points = new Double[numberOfPoints];
         final Double[] weights = new Double[numberOfPoints];
 
-        final double sqrtTwoTimesLastNumPoints = AccurateMath.sqrt(2 * lastNumPoints);
-        final double sqrtTwoTimesNumPoints = AccurateMath.sqrt(2 * numberOfPoints);
+        final double sqrtTwoTimesLastNumPoints = AccurateMath.sqrt(2.0 * lastNumPoints);
+        final double sqrtTwoTimesNumPoints = AccurateMath.sqrt(2.0 * numberOfPoints);
 
         // Find i-th root of H[n+1] by bracketing.
         final int iMax = numberOfPoints / 2;
@@ -95,7 +95,7 @@ public class HermiteRuleFactory extends BaseRuleFactory<Double> {
             double hb = H1 * b;
             for (int j = 1; j < numberOfPoints; j++) {
                 // Compute H[j+1](a) and H[j+1](b)
-                final double jp1 = j + 1;
+                final double jp1 = j + 1.0;
                 final double s = AccurateMath.sqrt(2 / jp1);
                 final double sm = AccurateMath.sqrt(j / jp1);
                 final double hpa = s * a * ha - sm * hma;
@@ -120,7 +120,7 @@ public class HermiteRuleFactory extends BaseRuleFactory<Double> {
                 hc = H1 * c;
                 for (int j = 1; j < numberOfPoints; j++) {
                     // Compute H[j+1](c)
-                    final double jp1 = j + 1;
+                    final double jp1 = j + 1.0;
                     final double s = AccurateMath.sqrt(2 / jp1);
                     final double sm = AccurateMath.sqrt(j / jp1);
                     final double hpc = s * c * hc - sm * hmc;
@@ -159,7 +159,7 @@ public class HermiteRuleFactory extends BaseRuleFactory<Double> {
         if (numberOfPoints % 2 != 0) {
             double hm = H0;
             for (int j = 1; j < numberOfPoints; j += 2) {
-                final double jp1 = j + 1;
+                final double jp1 = j + 1.0;
                 hm = -AccurateMath.sqrt(j / jp1) * hm;
             }
             final double d = sqrtTwoTimesNumPoints * hm;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/LaguerreRuleFactory.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/LaguerreRuleFactory.java
index 76fd2c3..28f0a1f 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/LaguerreRuleFactory.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/integration/gauss/LaguerreRuleFactory.java
@@ -65,7 +65,7 @@ public class LaguerreRuleFactory extends BaseRuleFactory<Double> {
         final RealMatrix c = MatrixUtils.createRealMatrix(degree, degree);
 
         for (int i = 0; i < degree; i++) {
-            c.setEntry(i, i, 2 * i + 1);
+            c.setEntry(i, i, 2.0 * i + 1);
             if (i + 1 < degree) {
                 // subdiagonal
                 c.setEntry(i+1, i, -(i + 1));
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialsUtils.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialsUtils.java
index 6430d31..9842a05 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialsUtils.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialsUtils.java
@@ -370,7 +370,7 @@ public final class PolynomialsUtils {
         // case, the lock object is an immutable field that belongs to this
         // class.
         synchronized (coefficients) {
-            final int maxDegree = (int) AccurateMath.floor(AccurateMath.sqrt(2 * coefficients.size())) - 1;
+            final int maxDegree = (int) AccurateMath.floor(AccurateMath.sqrt(2.0 * coefficients.size())) - 1;
             if (degree > maxDegree) {
                 computeUpToDegree(degree, maxDegree, generator, coefficients);
             }
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java
index cfee773..a5b8e35 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/optim/nonlinear/scalar/noderiv/CMAESOptimizer.java
@@ -719,7 +719,7 @@ public class CMAESOptimizer
             if (isActiveCMA) {
                 // Adapt covariance matrix C active CMA
                 negccov = (1 - ccovmu) * 0.25 * mueff /
-                    (AccurateMath.pow(dimension + 2, 1.5) + 2 * mueff);
+                    (AccurateMath.pow(dimension + 2.0, 1.5) + 2 * mueff);
                 // keep at least 0.66 in all directions, small popsize are most
                 // critical
                 final double negminresidualvariance = 0.66;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/inference/KolmogorovSmirnovTest.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/inference/KolmogorovSmirnovTest.java
index 741b4ca..b189a5f 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/inference/KolmogorovSmirnovTest.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/inference/KolmogorovSmirnovTest.java
@@ -619,7 +619,7 @@ public class KolmogorovSmirnovTest {
         double sum2 = 0;
         kTerm2 = 0;
         for (k = 1; k < MAXIMUM_PARTIAL_SUM_COUNT; k++) {
-            kTerm2 = k * k;
+            kTerm2 = (double) k * k;
             increment = PI_SQUARED * kTerm2 * AccurateMath.exp(-PI_SQUARED * kTerm2 / twoZ2);
             sum2 += increment;
             if (AccurateMath.abs(increment) < PG_SUM_RELATIVE_ERROR * AccurateMath.abs(sum2)) {
@@ -656,7 +656,7 @@ public class KolmogorovSmirnovTest {
         }
         sum2 = 0;
         for (k = 1; k < MAXIMUM_PARTIAL_SUM_COUNT; k++) {
-            kTerm2 = k * k;
+            kTerm2 = (double) k * k;
             kTerm4 = kTerm2 * kTerm2;
             increment = (-pi4 * kTerm4 + 3 * PI_SQUARED * kTerm2 * z2) *
                     AccurateMath.exp(-PI_SQUARED * kTerm2 / twoZ2);
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/interval/ClopperPearsonInterval.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/interval/ClopperPearsonInterval.java
index 8131a36..20f4913 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/interval/ClopperPearsonInterval.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/interval/ClopperPearsonInterval.java
@@ -40,16 +40,16 @@ public class ClopperPearsonInterval implements BinomialConfidenceInterval {
         final double alpha = 0.5 * (1 - confidenceLevel);
 
         if (numberOfSuccesses > 0) {
-            final FDistribution distributionLowerBound = new FDistribution(2 * (numberOfTrials - numberOfSuccesses + 1),
-                                                                           2 * numberOfSuccesses);
+            final FDistribution distributionLowerBound = new FDistribution(2.0 * (numberOfTrials - numberOfSuccesses + 1),
+                                                                           2.0 * numberOfSuccesses);
             final double fValueLowerBound = distributionLowerBound.inverseCumulativeProbability(1 - alpha);
             lowerBound = numberOfSuccesses /
                 (numberOfSuccesses + (numberOfTrials - numberOfSuccesses + 1) * fValueLowerBound);
         }
 
         if (numberOfSuccesses < numberOfTrials) {
-            final FDistribution distributionUpperBound = new FDistribution(2 * (numberOfSuccesses + 1),
-                                                                           2 * (numberOfTrials - numberOfSuccesses));
+            final FDistribution distributionUpperBound = new FDistribution(2.0 * (numberOfSuccesses + 1),
+                                                                           2.0 * (numberOfTrials - numberOfSuccesses));
             final double fValueUpperBound = distributionUpperBound.inverseCumulativeProbability(1 - alpha);
             upperBound = (numberOfSuccesses + 1) * fValueUpperBound /
                 (numberOfTrials - numberOfSuccesses + (numberOfSuccesses + 1) * fValueUpperBound);
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.java
index 849c7be..c4b18dd 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.java
@@ -698,7 +698,7 @@ public class SimpleRegression implements Serializable, UpdatingMultipleLinearReg
                                           alpha, 0, 1);
         }
         // No advertised NotStrictlyPositiveException here - will return NaN above
-        TDistribution distribution = new TDistribution(n - 2);
+        TDistribution distribution = new TDistribution(n - 2d);
         return getSlopeStdErr() *
             distribution.inverseCumulativeProbability(1d - alpha / 2d);
     }
@@ -730,7 +730,7 @@ public class SimpleRegression implements Serializable, UpdatingMultipleLinearReg
             return Double.NaN;
         }
         // No advertised NotStrictlyPositiveException here - will return NaN above
-        TDistribution distribution = new TDistribution(n - 2);
+        TDistribution distribution = new TDistribution(n - 2d);
         return 2d * (1.0 - distribution.cumulativeProbability(
                     AccurateMath.abs(getSlope()) / getSlopeStdErr()));
     }