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 2018/02/09 00:16:42 UTC
[1/2] commons-numbers git commit: NUMBERS-67: Method "pow".
Repository: commons-numbers
Updated Branches:
refs/heads/master ea2c1d79d -> 910cd934b
NUMBERS-67: Method "pow".
Project: http://git-wip-us.apache.org/repos/asf/commons-numbers/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-numbers/commit/c4e612ed
Tree: http://git-wip-us.apache.org/repos/asf/commons-numbers/tree/c4e612ed
Diff: http://git-wip-us.apache.org/repos/asf/commons-numbers/diff/c4e612ed
Branch: refs/heads/master
Commit: c4e612eda82314741bd69af912a29eb9bc9949dd
Parents: ea2c1d7
Author: Gilles Sadowski <gi...@harfang.homelinux.org>
Authored: Mon Feb 5 02:39:39 2018 +0100
Committer: Gilles Sadowski <gi...@harfang.homelinux.org>
Committed: Mon Feb 5 02:39:39 2018 +0100
----------------------------------------------------------------------
.../commons/numbers/fraction/Fraction.java | 19 +++++++++++++++++++
.../commons/numbers/fraction/FractionTest.java | 20 ++++++++++++++++++++
2 files changed, 39 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/c4e612ed/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
----------------------------------------------------------------------
diff --git a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
index 673d0d5..5639be1 100644
--- a/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
+++ b/commons-numbers-fraction/src/main/java/org/apache/commons/numbers/fraction/Fraction.java
@@ -555,6 +555,25 @@ public class Fraction
}
/**
+ * @param n Power.
+ * @return {@code this^n}
+ */
+ public Fraction pow(final int n) {
+ if (n == 0) {
+ return ONE;
+ }
+ if (numerator == 0) {
+ return this;
+ }
+
+ return n < 0 ?
+ new Fraction(ArithmeticUtils.pow(denominator, -n),
+ ArithmeticUtils.pow(numerator, -n)) :
+ new Fraction(ArithmeticUtils.pow(numerator, n),
+ ArithmeticUtils.pow(denominator, n));
+ }
+
+ /**
* <p>Divide the value of this fraction by another.</p>
*
* @param fraction the fraction to divide by, must not be {@code null}
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/c4e612ed/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
----------------------------------------------------------------------
diff --git a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
index d35092b..5ea5f4e 100644
--- a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
+++ b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/FractionTest.java
@@ -499,6 +499,26 @@ public class FractionTest {
}
@Test
+ public void testPow() {
+ Fraction a = new Fraction(3, 7);
+ assertFraction(1, 1, a.pow(0));
+ assertFraction(3, 7, a.pow(1));
+ assertFraction(7, 3, a.pow(-1));
+ assertFraction(9, 49, a.pow(2));
+ assertFraction(49, 9, a.pow(-2));
+
+ Fraction b = new Fraction(3, -7);
+ assertFraction(1, 1, b.pow(0));
+ assertFraction(-3, 7, b.pow(1));
+ assertFraction(-7, 3, b.pow(-1));
+ assertFraction(9, 49, a.pow(2));
+ assertFraction(49, 9, a.pow(-2));
+
+ Fraction c = new Fraction(0, -11);
+ assertFraction(0, 1, c.pow(Integer.MAX_VALUE));
+ }
+
+ @Test
public void testSubtract() {
Fraction a = new Fraction(1, 2);
Fraction b = new Fraction(2, 3);
[2/2] commons-numbers git commit: Merge branch 'feature_NUMBERS-67'
Posted by er...@apache.org.
Merge branch 'feature_NUMBERS-67'
Project: http://git-wip-us.apache.org/repos/asf/commons-numbers/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-numbers/commit/910cd934
Tree: http://git-wip-us.apache.org/repos/asf/commons-numbers/tree/910cd934
Diff: http://git-wip-us.apache.org/repos/asf/commons-numbers/diff/910cd934
Branch: refs/heads/master
Commit: 910cd934b4dab73766954ce595cc5bb2dc79e4c8
Parents: ea2c1d7 c4e612e
Author: Gilles Sadowski <gi...@harfang.homelinux.org>
Authored: Fri Feb 9 01:16:02 2018 +0100
Committer: Gilles Sadowski <gi...@harfang.homelinux.org>
Committed: Fri Feb 9 01:16:02 2018 +0100
----------------------------------------------------------------------
.../commons/numbers/fraction/Fraction.java | 19 +++++++++++++++++++
.../commons/numbers/fraction/FractionTest.java | 20 ++++++++++++++++++++
2 files changed, 39 insertions(+)
----------------------------------------------------------------------