MATH-1572: Simplify conditional expressions

* Simplify bitwise
* Simplify boolean expression
* Simplify conditional expression
* Redundant 'if' statement
This commit is contained in:
Arturo Bernal 2021-08-05 19:38:56 +02:00 committed by Alex Herbert
parent 14d5d0c2d1
commit 1c8d8da63a
14 changed files with 18 additions and 49 deletions

View File

@ -617,7 +617,7 @@ public final class MathArrays {
*/
public static boolean equals(float[] x, float[] y) {
if (x == null || y == null) {
return !((x == null) ^ (y == null));
return (x == null) == (y == null);
}
if (x.length != y.length) {
return false;
@ -643,7 +643,7 @@ public final class MathArrays {
*/
public static boolean equalsIncludingNaN(float[] x, float[] y) {
if (x == null || y == null) {
return !((x == null) ^ (y == null));
return (x == null) == (y == null);
}
if (x.length != y.length) {
return false;
@ -668,7 +668,7 @@ public final class MathArrays {
*/
public static boolean equals(double[] x, double[] y) {
if (x == null || y == null) {
return !((x == null) ^ (y == null));
return (x == null) == (y == null);
}
if (x.length != y.length) {
return false;
@ -694,7 +694,7 @@ public final class MathArrays {
*/
public static boolean equalsIncludingNaN(double[] x, double[] y) {
if (x == null || y == null) {
return !((x == null) ^ (y == null));
return (x == null) == (y == null);
}
if (x.length != y.length) {
return false;

View File

@ -2351,10 +2351,7 @@ public class Dfp implements RealFieldElement<Dfp> {
}
// if this is greater than x
boolean up = false;
if (this.lessThan(x)) {
up = true;
}
boolean up = this.lessThan(x);
if (compare(this, x) == 0) {
return newInstance(x);

View File

@ -941,11 +941,7 @@ public final class DfpMath {
*/
public static Dfp acos(Dfp a) {
Dfp result;
boolean negative = false;
if (a.lessThan(a.getZero())) {
negative = true;
}
boolean negative = a.lessThan(a.getZero());
a = Dfp.copySign(a, a.getOne()); // absolute value

View File

@ -371,10 +371,7 @@ public class PolynomialFunction implements UnivariateDifferentiableFunction, Ser
return false;
}
PolynomialFunction other = (PolynomialFunction) obj;
if (!Arrays.equals(coefficients, other.coefficients)) {
return false;
}
return true;
return Arrays.equals(coefficients, other.coefficients);
}
/**

View File

@ -186,11 +186,7 @@ public class SimpleCurveFitter extends AbstractCurveFitter {
if (comp != 0) {
return comp;
}
comp = Double.compare(p1.getWeight(), p2.getWeight());
if (comp != 0) {
return comp;
}
return 0;
return Double.compare(p1.getWeight(), p2.getWeight());
}
};

View File

@ -365,7 +365,7 @@ public class EventState {
// force the sign to its value "just after the event"
previousEventTime = t;
g0Positive = increasing;
nextAction = handler.eventOccurred(t, y, !(increasing ^ forward));
nextAction = handler.eventOccurred(t, y, increasing == forward);
} else {
g0Positive = g0 >= 0;
nextAction = EventHandler.Action.CONTINUE;

View File

@ -301,7 +301,7 @@ public class FieldEventState<T extends RealFieldElement<T>> {
// force the sign to its value "just after the event"
previousEventTime = state.getTime();
g0Positive = increasing;
nextAction = handler.eventOccurred(state, !(increasing ^ forward));
nextAction = handler.eventOccurred(state, increasing == forward);
} else {
g0Positive = g0.getReal() >= 0;
nextAction = Action.CONTINUE;

View File

@ -57,6 +57,6 @@ public class SolutionCallback implements OptimizationData {
* @return {@code true} if the solution is optimal, {@code false} otherwise
*/
public boolean isSolutionOptimal() {
return tableau != null ? tableau.isOptimal() : false;
return tableau != null && tableau.isOptimal();
}
}

View File

@ -896,7 +896,7 @@ public class CMAESOptimizer
@Override
public int hashCode() {
long bits = Double.doubleToLongBits(value);
return (int) ((1438542 ^ (bits >>> 32) ^ bits) & 0xffffffff);
return (int) ((1438542 ^ (bits >>> 32) ^ bits));
}
}
/**

View File

@ -376,14 +376,7 @@ public class Frequency<T extends Comparable<T>> implements Serializable {
return false;
}
Frequency<?> other = (Frequency<?>) obj;
if (freqTable == null) {
if (other.freqTable != null) {
return false;
}
} else if (!freqTable.equals(other.freqTable)) {
return false;
}
return true;
return freqTable.equals(other.freqTable);
}
}

View File

@ -148,10 +148,7 @@ public class VectorialCovariance implements Serializable {
if (!Arrays.equals(productsSums, other.productsSums)) {
return false;
}
if (!Arrays.equals(sums, other.sums)) {
return false;
}
return true;
return Arrays.equals(sums, other.sums);
}
}

View File

@ -96,10 +96,7 @@ public class VectorialMean implements Serializable {
return false;
}
VectorialMean other = (VectorialMean) obj;
if (!Arrays.equals(means, other.means)) {
return false;
}
return true;
return Arrays.equals(means, other.means);
}
}

View File

@ -908,7 +908,7 @@ public class PSquarePercentile extends AbstractStorelessUnivariateStatistic
*/
@Override
public boolean add(final E e) {
return size() < capacity ? super.add(e) : false;
return size() < capacity && super.add(e);
}
/**
@ -924,7 +924,7 @@ public class PSquarePercentile extends AbstractStorelessUnivariateStatistic
boolean isCollectionLess =
collection != null &&
collection.size() + size() <= capacity;
return isCollectionLess ? super.addAll(collection) : false;
return isCollectionLess && super.addAll(collection);
}
}

View File

@ -1132,11 +1132,7 @@ public class KolmogorovSmirnovTest {
throw new InsufficientDataException();
}
if (values.length == x.length + y.length) {
return false; // There are no ties.
}
return true;
return values.length != x.length + y.length; // There are no ties.
}
/**