You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/10/22 14:30:59 UTC
[commons-math] 05/05: Use "BigFraction" class from "Commons
Numbers".
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 c7973fe10aeb6179ff10b1c828a02e45648e65fb
Author: Gilles Sadowski <gi...@harfang.homelinux.org>
AuthorDate: Tue Oct 22 16:05:26 2019 +0200
Use "BigFraction" class from "Commons Numbers".
---
.../analysis/polynomials/PolynomialsUtils.java | 36 ++++++++++++----------
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/src/main/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtils.java b/src/main/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtils.java
index 018df81..2076ef7 100644
--- a/src/main/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtils.java
+++ b/src/main/java/org/apache/commons/math4/analysis/polynomials/PolynomialsUtils.java
@@ -21,7 +21,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.math4.fraction.BigFraction;
+import org.apache.commons.numbers.fraction.BigFraction;
import org.apache.commons.numbers.combinatorics.BinomialCoefficient;
import org.apache.commons.math4.util.FastMath;
@@ -31,6 +31,10 @@ import org.apache.commons.math4.util.FastMath;
* @since 2.0
*/
public class PolynomialsUtils {
+ /** -1 */
+ private static final BigFraction BF__MINUS_ONE = BigFraction.of(-1);
+ /** 2 */
+ private static final BigFraction BF__TWO = BigFraction.of(2);
/** Coefficients for Chebyshev polynomials. */
private static final List<BigFraction> CHEBYSHEV_COEFFICIENTS;
@@ -61,14 +65,14 @@ public class PolynomialsUtils {
HERMITE_COEFFICIENTS = new ArrayList<>();
HERMITE_COEFFICIENTS.add(BigFraction.ONE);
HERMITE_COEFFICIENTS.add(BigFraction.ZERO);
- HERMITE_COEFFICIENTS.add(BigFraction.TWO);
+ HERMITE_COEFFICIENTS.add(BF__TWO);
// initialize recurrence for Laguerre polynomials
// L0(X) = 1, L1(X) = 1 - 1 * X
LAGUERRE_COEFFICIENTS = new ArrayList<>();
LAGUERRE_COEFFICIENTS.add(BigFraction.ONE);
LAGUERRE_COEFFICIENTS.add(BigFraction.ONE);
- LAGUERRE_COEFFICIENTS.add(BigFraction.MINUS_ONE);
+ LAGUERRE_COEFFICIENTS.add(BF__MINUS_ONE);
// initialize recurrence for Legendre polynomials
// P0(X) = 1, P1(X) = 0 + 1 * X
@@ -106,7 +110,7 @@ public class PolynomialsUtils {
return buildPolynomial(degree, CHEBYSHEV_COEFFICIENTS,
new RecurrenceCoefficientsGenerator() {
/** Fixed recurrence coefficients. */
- private final BigFraction[] coeffs = { BigFraction.ZERO, BigFraction.TWO, BigFraction.ONE };
+ private final BigFraction[] coeffs = { BigFraction.ZERO, BF__TWO, BigFraction.ONE };
/** {@inheritDoc} */
@Override
public BigFraction[] generate(int k) {
@@ -138,8 +142,8 @@ public class PolynomialsUtils {
public BigFraction[] generate(int k) {
return new BigFraction[] {
BigFraction.ZERO,
- BigFraction.TWO,
- new BigFraction(2 * k)};
+ BF__TWO,
+ BigFraction.of(2 * k)};
}
});
}
@@ -166,9 +170,9 @@ public class PolynomialsUtils {
public BigFraction[] generate(int k) {
final int kP1 = k + 1;
return new BigFraction[] {
- new BigFraction(2 * k + 1, kP1),
- new BigFraction(-1, kP1),
- new BigFraction(k, kP1)};
+ BigFraction.of(2 * k + 1, kP1),
+ BigFraction.of(-1, kP1),
+ BigFraction.of(k, kP1)};
}
});
}
@@ -196,8 +200,8 @@ public class PolynomialsUtils {
final int kP1 = k + 1;
return new BigFraction[] {
BigFraction.ZERO,
- new BigFraction(k + kP1, kP1),
- new BigFraction(k, kP1)};
+ BigFraction.of(k + kP1, kP1),
+ BigFraction.of(k, kP1)};
}
});
}
@@ -235,8 +239,8 @@ public class PolynomialsUtils {
list.add(BigFraction.ONE);
// P1(x) = (v - w) / 2 + (2 + v + w) * X / 2
- list.add(new BigFraction(v - w, 2));
- list.add(new BigFraction(2 + v + w, 2));
+ list.add(BigFraction.of(v - w, 2));
+ list.add(BigFraction.of(2 + v + w, 2));
}
@@ -253,9 +257,9 @@ public class PolynomialsUtils {
final int den = 2 * k * kvw * twoKvwM2;
return new BigFraction[] {
- new BigFraction(twoKvwM1 * (v * v - w * w), den),
- new BigFraction(twoKvwM1 * twoKvw * twoKvwM2, den),
- new BigFraction(2 * (k + v - 1) * (k + w - 1) * twoKvw, den)
+ BigFraction.of(twoKvwM1 * (v * v - w * w), den),
+ BigFraction.of(twoKvwM1 * twoKvw * twoKvwM2, den),
+ BigFraction.of(2 * (k + v - 1) * (k + w - 1) * twoKvw, den)
};
}
});