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/13 08:49:48 UTC
[1/2] commons-numbers git commit: NUMBERS-60: NaN descriptions in
javadoc altered to reflect C++ standards. NaN changed to NAN.
Repository: commons-numbers
Updated Branches:
refs/heads/master 910cd934b -> e2917811e
NUMBERS-60: NaN descriptions in javadoc altered to reflect C++
standards. NaN changed to NAN.
Project: http://git-wip-us.apache.org/repos/asf/commons-numbers/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-numbers/commit/2f1c0b5d
Tree: http://git-wip-us.apache.org/repos/asf/commons-numbers/tree/2f1c0b5d
Diff: http://git-wip-us.apache.org/repos/asf/commons-numbers/diff/2f1c0b5d
Branch: refs/heads/master
Commit: 2f1c0b5dc250b34c2e7d4a7844c76d67e5ce2b2e
Parents: b077fd5
Author: Eric Barnhill <er...@apache.org>
Authored: Mon Feb 12 13:15:12 2018 +0100
Committer: Eric Barnhill <er...@apache.org>
Committed: Mon Feb 12 13:15:12 2018 +0100
----------------------------------------------------------------------
.../apache/commons/numbers/complex/Complex.java | 43 +++++---------
.../commons/numbers/complex/ComplexUtils.java | 2 +-
.../commons/numbers/complex/CStandardTest.java | 60 ++++++++++----------
.../commons/numbers/complex/ComplexTest.java | 22 +++----
.../numbers/complex/ComplexUtilsTest.java | 14 ++---
5 files changed, 63 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/2f1c0b5d/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
----------------------------------------------------------------------
diff --git a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
index f3295c3..d7c9d59 100644
--- a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
+++ b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
@@ -49,7 +49,7 @@ public class Complex implements Serializable {
public static final Complex I = new Complex(0, 1);
// CHECKSTYLE: stop ConstantName
/** A complex number representing "NaN + NaNi" */
- public static final Complex NaN = new Complex(Double.NaN, Double.NaN);
+ public static final Complex NAN = new Complex(Double.NaN, Double.NaN);
// CHECKSTYLE: resume ConstantName
/** A complex number representing "+INF + INFi" */
public static final Complex INF = new Complex(Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY);
@@ -88,10 +88,7 @@ public class Complex implements Serializable {
/**
* Creates a Complex from its polar representation.
- * <p>
- * If either {@code r} or {@code theta} is NaN, or {@code theta} is
- * infinite, {@link Complex#NaN} is returned.
- * <p>
+ *
* If {@code r} is infinite and {@code theta} is finite, infinite or NaN
* values may be returned in parts of the result, following the rules for
* double arithmetic.
@@ -177,10 +174,9 @@ public class Complex implements Serializable {
/**
* Return the absolute value of this complex number.
- * Returns {@code NaN} if either real or imaginary part is {@code NaN}
- * and {@code Double.POSITIVE_INFINITY} if neither part is {@code NaN},
- * but at least one part is infinite.
- * This code follows the <a href="http://www.iso-9899.info/wiki/The_Standard">ISO C Standard</a>, Annex G, in calculating the returned value (i.e. the hypot(x,y) method)
+ * This code follows the <a href="http://www.iso-9899.info/wiki/The_Standard">ISO C Standard</a>, Annex G,
+ * in calculating the returned value (i.e. the hypot(x,y) method)
+ * and in handling of NaNs.
*
* @return the absolute value.
*/
@@ -276,10 +272,10 @@ public class Complex implements Serializable {
* {@code Infinite} and {@code NaN} values are handled according to the
* following rules, applied in the order presented:
* <ul>
- * <li>If {@code divisor} equals {@link #ZERO}, {@link #NaN} is returned.
+ * <li>If {@code divisor} equals {@link #ZERO}, {@link #NAN} is returned.
* </li>
* <li>If {@code this} and {@code divisor} are both infinite,
- * {@link #NaN} is returned.
+ * {@link #NAN} is returned.
* </li>
* <li>If {@code this} is finite (i.e., has no {@code Infinite} or
* {@code NaN} parts) and {@code divisor} is infinite (one or both parts
@@ -301,7 +297,7 @@ public class Complex implements Serializable {
final double d = divisor.imaginary;
if (c == 0 &&
d == 0) {
- return NaN;
+ return NAN;
}
if ((Double.isInfinite(c) ||
@@ -334,11 +330,11 @@ public class Complex implements Serializable {
*/
public Complex divide(double divisor) {
if (divisor == 0d) {
- return NaN;
+ return NAN;
}
if (Double.isInfinite(divisor)) {
return !(Double.isInfinite(real) ||
- Double.isInfinite(imaginary)) ? ZERO : NaN;
+ Double.isInfinite(imaginary)) ? ZERO : NAN;
}
return new Complex(real / divisor,
imaginary / divisor);
@@ -549,19 +545,10 @@ public class Complex implements Serializable {
/**
* Returns a {@code Complex} whose value is {@code this * factor}.
- * Implements preliminary checks for {@code NaN} and infinity followed by
- * the definitional formula:
+ * Implements the definitional formula:
*
* {@code (a + bi)(c + di) = (ac - bd) + (ad + bc)i}
*
- * Returns {@link #NaN} if either {@code this} or {@code factor} has one or
- * more {@code NaN} parts.
- *
- * Returns {@link #INF} if neither {@code this} nor {@code factor} has one
- * or more {@code NaN} parts and if either {@code this} or {@code factor}
- * has one or more infinite parts (same result is returned regardless of
- * the sign of the components).
- *
* Returns finite values in components of the result per the definitional
* formula in all remaining cases.
*
@@ -599,8 +586,6 @@ public class Complex implements Serializable {
/**
* Returns a {@code Complex} whose value is {@code (-this)}.
- * Returns {@code NaN} if either real or imaginary
- * part of this complex number is {@code Double.NaN}.
*
* @return {@code -this}.
*/
@@ -965,7 +950,7 @@ public class Complex implements Serializable {
return ZERO;
} else {
// 0 raised to anything else is NaN
- return NaN;
+ return NAN;
}
}
return log().multiply(x).exp();
@@ -986,7 +971,7 @@ public class Complex implements Serializable {
return ZERO;
} else {
// 0 raised to anything else is NaN
- return NaN;
+ return NAN;
}
}
return log().multiply(x).exp();
@@ -1226,7 +1211,7 @@ public class Complex implements Serializable {
* {@link #getArgument() argument} of this complex number.
* <p>
* If one or both parts of this complex number is NaN, a list with just
- * one element, {@link #NaN} is returned.
+ * one element, {@link #NAN} is returned.
* if neither part is NaN, but at least one part is infinite, the result
* is a one-element list containing {@link #INF}.
*
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/2f1c0b5d/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexUtils.java
----------------------------------------------------------------------
diff --git a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexUtils.java b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexUtils.java
index 3fdd10f..b9f758a 100644
--- a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexUtils.java
+++ b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexUtils.java
@@ -31,7 +31,7 @@ public class ComplexUtils {
* Creates a complex number from the given polar representation.
* <p>
* If either {@code r} or {@code theta} is NaN, or {@code theta} is
- * infinite, {@link Complex#NaN} is returned.
+ * infinite, {@link Complex#NAN} is returned.
* <p>
* If {@code r} is infinite and {@code theta} is finite, infinite or NaN
* values may be returned in parts of the result, following the rules for
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/2f1c0b5d/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/CStandardTest.java
----------------------------------------------------------------------
diff --git a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/CStandardTest.java b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/CStandardTest.java
index ed0bf4f..e79ce9f 100644
--- a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/CStandardTest.java
+++ b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/CStandardTest.java
@@ -115,16 +115,16 @@ public class CStandardTest {
assertComplex(negZeroZero.acos(), piTwoNegZero);
assertComplex(zeroNaN.acos(), piTwoNaN);
assertComplex(oneInf.acos(), piTwoNegInf);
- assertComplex(oneNaN.acos(), Complex.NaN);
+ assertComplex(oneNaN.acos(), Complex.NAN);
assertComplex(negInfOne.acos(), piNegInf);
assertComplex(infOne.acos(), zeroNegInf);
assertComplex(negInfPosInf.acos(), threePiFourNegInf);
assertComplex(infInf.acos(), piFourNegInf);
assertComplex(infNaN.acos(), nanInf);
assertComplex(negInfNaN.acos(), nanNegInf);
- assertComplex(nanOne.acos(), Complex.NaN);
+ assertComplex(nanOne.acos(), Complex.NAN);
assertComplex(nanInf.acos(), nanNegInf);
- assertComplex(Complex.NaN.acos(), Complex.NaN);
+ assertComplex(Complex.NAN.acos(), Complex.NAN);
}
/**
@@ -136,14 +136,14 @@ public class CStandardTest {
assertComplex(oneOne.conj().asinh(), oneOne.asinh().conj());
assertComplex(Complex.ZERO.asinh(), Complex.ZERO);
assertComplex(oneInf.asinh(), infPiTwo);
- assertComplex(oneNaN.asinh(), Complex.NaN);
+ assertComplex(oneNaN.asinh(), Complex.NAN);
assertComplex(infOne.asinh(), infZero);
assertComplex(infInf.asinh(), infPiFour);
assertComplex(infNaN.asinh(), infNaN);
assertComplex(nanZero.asinh(), nanZero);
- assertComplex(nanOne.asinh(), Complex.NaN);
+ assertComplex(nanOne.asinh(), Complex.NAN);
assertComplex(nanInf.asinh(), infNaN);
- assertComplex(Complex.NaN, Complex.NaN);
+ assertComplex(Complex.NAN, Complex.NAN);
}
/**
@@ -156,13 +156,13 @@ public class CStandardTest {
assertComplex(zeroNaN.atanh(), zeroNaN);
assertComplex(oneZero.atanh(), infZero);
assertComplex(oneInf.atanh(),zeroPiTwo);
- assertComplex(oneNaN.atanh(), Complex.NaN);
+ assertComplex(oneNaN.atanh(), Complex.NAN);
assertComplex(infOne.atanh(), zeroPiTwo);
assertComplex(infInf.atanh(), zeroPiTwo);
assertComplex(infNaN.atanh(), zeroNaN);
- assertComplex(nanOne.atanh(), Complex.NaN);
+ assertComplex(nanOne.atanh(), Complex.NAN);
assertComplex(nanInf.atanh(), zeroPiTwo);
- assertComplex(Complex.NaN.atanh(), Complex.NaN);
+ assertComplex(Complex.NAN.atanh(), Complex.NAN);
}
/**
@@ -174,8 +174,8 @@ public class CStandardTest {
assertComplex(Complex.ZERO.cosh(), Complex.ONE);
assertComplex(zeroInf.cosh(), nanZero);
assertComplex(zeroNaN.cosh(), nanZero);
- assertComplex(oneInf.cosh(), Complex.NaN);
- assertComplex(oneNaN.cosh(), Complex.NaN);
+ assertComplex(oneInf.cosh(), Complex.NAN);
+ assertComplex(oneNaN.cosh(), Complex.NAN);
assertComplex(infZero.cosh(), infZero);
// the next test does not appear to make sense:
// (inf + iy) = inf + cis(y)
@@ -183,8 +183,8 @@ public class CStandardTest {
assertComplex(infInf.cosh(), infNaN);
assertComplex(infNaN.cosh(), infNaN);
assertComplex(nanZero.cosh(), nanZero);
- assertComplex(nanOne.cosh(), Complex.NaN);
- assertComplex(Complex.NaN.cosh(), Complex.NaN);
+ assertComplex(nanOne.cosh(), Complex.NAN);
+ assertComplex(Complex.NAN.cosh(), Complex.NAN);
}
/**
@@ -196,15 +196,15 @@ public class CStandardTest {
assertComplex(Complex.ZERO.sinh(), Complex.ZERO);
assertComplex(zeroInf.sinh(), zeroNaN);
assertComplex(zeroNaN.sinh(), zeroNaN);
- assertComplex(oneInf.sinh(), Complex.NaN);
- assertComplex(oneNaN.sinh(), Complex.NaN);
+ assertComplex(oneInf.sinh(), Complex.NAN);
+ assertComplex(oneNaN.sinh(), Complex.NAN);
assertComplex(infZero.sinh(), infZero);
// skipped test similar to previous section
assertComplex(infInf.sinh(), infNaN);
assertComplex(infNaN.sinh(), infNaN);
assertComplex(nanZero.sinh(), nanZero);
- assertComplex(nanOne.sinh(), Complex.NaN);
- assertComplex(Complex.NaN.sinh(), Complex.NaN);
+ assertComplex(nanOne.sinh(), Complex.NAN);
+ assertComplex(Complex.NAN.sinh(), Complex.NAN);
}
/**
@@ -214,14 +214,14 @@ public class CStandardTest {
public void testTanh() {
assertComplex(oneOne.tanh().conj(), oneOne.conj().tanh()); // AND CSINH IS ODD
assertComplex(Complex.ZERO.tanh(), Complex.ZERO);
- assertComplex(oneInf.tanh(), Complex.NaN);
- assertComplex(oneNaN.tanh(), Complex.NaN);
+ assertComplex(oneInf.tanh(), Complex.NAN);
+ assertComplex(oneNaN.tanh(), Complex.NAN);
//Do Not Understand the Next Test
assertComplex(infInf.tanh(), oneZero);
assertComplex(infNaN.tanh(), oneZero);
assertComplex(nanZero.tanh(), nanZero);
- assertComplex(nanOne.tanh(), Complex.NaN);
- assertComplex(Complex.NaN.tanh(), Complex.NaN);
+ assertComplex(nanOne.tanh(), Complex.NAN);
+ assertComplex(Complex.NAN.tanh(), Complex.NAN);
}
/**
@@ -232,8 +232,8 @@ public class CStandardTest {
assertComplex(oneOne.conj().exp(), oneOne.exp().conj());
assertComplex(Complex.ZERO.exp(), oneZero);
assertComplex(negZeroZero.exp(), oneZero);
- assertComplex(oneInf.exp(), Complex.NaN);
- assertComplex(oneNaN.exp(), Complex.NaN);
+ assertComplex(oneInf.exp(), Complex.NAN);
+ assertComplex(oneNaN.exp(), Complex.NAN);
assertComplex(infZero.exp(), infZero);
// Do not understand next test
assertComplex(negInfInf.exp(), Complex.ZERO);
@@ -241,8 +241,8 @@ public class CStandardTest {
assertComplex(negInfNaN.exp(), Complex.ZERO);
assertComplex(infNaN.exp(), infNaN);
assertComplex(nanZero.exp(), nanZero);
- assertComplex(nanOne.exp(), Complex.NaN);
- assertComplex(Complex.NaN.exp(), Complex.NaN);
+ assertComplex(nanOne.exp(), Complex.NAN);
+ assertComplex(Complex.NAN.exp(), Complex.NAN);
}
/**
@@ -254,14 +254,14 @@ public class CStandardTest {
assertComplex(negZeroZero.log(), negInfPi);
assertComplex(Complex.ZERO.log(), negInfZero);
assertComplex(oneInf.log(), infPiTwo);
- assertComplex(oneNaN.log(), Complex.NaN);
+ assertComplex(oneNaN.log(), Complex.NAN);
assertComplex(negInfOne.log(), infPi);
assertComplex(infOne.log(), infZero);
assertComplex(infInf.log(), infPiFour);
assertComplex(infNaN.log(), infNaN);
- assertComplex(nanOne.log(), Complex.NaN);
+ assertComplex(nanOne.log(), Complex.NAN);
assertComplex(nanInf.log(), infNaN);
- assertComplex(Complex.NaN.log(), Complex.NaN);
+ assertComplex(Complex.NAN.log(), Complex.NAN);
}
/**
@@ -276,7 +276,7 @@ public class CStandardTest {
assertComplex(infOne.sqrt(), infZero);
assertComplex(negInfNaN.sqrt(), nanInf);
assertComplex(infNaN.sqrt(), infNaN);
- assertComplex(nanOne.sqrt(), Complex.NaN);
- assertComplex(Complex.NaN.sqrt(), Complex.NaN);
+ assertComplex(nanOne.sqrt(), Complex.NAN);
+ assertComplex(Complex.NAN.sqrt(), Complex.NAN);
}
}
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/2f1c0b5d/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java
----------------------------------------------------------------------
diff --git a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java
index b1ffab6..3e87320 100644
--- a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java
+++ b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java
@@ -81,7 +81,7 @@ public class ComplexTest {
@Test
public void testAbsNaN() {
- Assert.assertTrue(Double.isNaN(Complex.NaN.abs()));
+ Assert.assertTrue(Double.isNaN(Complex.NAN.abs()));
Complex z = new Complex(inf, nan);
Assert.assertTrue(Double.isNaN(z.abs()));
}
@@ -146,7 +146,7 @@ public class ComplexTest {
@Test
public void testConjugateNaN() {
- Complex z = Complex.NaN.conjugate();
+ Complex z = Complex.NAN.conjugate();
Assert.assertTrue(z.isNaN());
}
@@ -187,20 +187,20 @@ public class ComplexTest {
Complex x = new Complex(3.0, 4.0);
Complex z = x.divide(Complex.ZERO);
// Assert.assertEquals(z, Complex.INF); // See MATH-657
- Assert.assertEquals(z, Complex.NaN);
+ Assert.assertEquals(z, Complex.NAN);
}
@Test
public void testDivideZeroZero() {
Complex x = new Complex(0.0, 0.0);
Complex z = x.divide(Complex.ZERO);
- Assert.assertEquals(z, Complex.NaN);
+ Assert.assertEquals(z, Complex.NAN);
}
@Test
public void testDivideNaN() {
Complex x = new Complex(3.0, 4.0);
- Complex z = x.divide(Complex.NaN);
+ Complex z = x.divide(Complex.NAN);
Assert.assertTrue(z.isNaN());
}
@@ -274,7 +274,7 @@ public class ComplexTest {
@Test
public void testReciprocalNaN() {
- Assert.assertTrue(Complex.NaN.reciprocal().isNaN());
+ Assert.assertTrue(Complex.NAN.reciprocal().isNaN());
}
@Test
@@ -333,7 +333,7 @@ public class ComplexTest {
@Test
public void testNegateNaN() {
- Complex z = Complex.NaN.negate();
+ Complex z = Complex.NAN.negate();
Assert.assertTrue(z.isNaN());
}
@@ -521,7 +521,7 @@ public class ComplexTest {
Complex realNaN = new Complex(Double.NaN, 0.0);
Complex imaginaryNaN = new Complex(0.0, Double.NaN);
Assert.assertEquals(realNaN.hashCode(), imaginaryNaN.hashCode());
- Assert.assertEquals(imaginaryNaN.hashCode(), Complex.NaN.hashCode());
+ Assert.assertEquals(imaginaryNaN.hashCode(), Complex.NAN.hashCode());
// MATH-1118
// "equals" and "hashCode" must be compatible: if two objects have
@@ -578,7 +578,7 @@ public class ComplexTest {
@Test
public void testScalarPowNaNBase() {
- Complex x = Complex.NaN;
+ Complex x = Complex.NAN;
double yDouble = 5.0;
Complex yComplex = new Complex(yDouble);
Assert.assertEquals(x.pow(yComplex), x.pow(yDouble));
@@ -616,7 +616,7 @@ public class ComplexTest {
@Test
public void testSqrt1zNaN() {
- Assert.assertTrue(Complex.NaN.sqrt1z().isNaN());
+ Assert.assertTrue(Complex.NAN.sqrt1z().isNaN());
}
/**
@@ -799,7 +799,7 @@ public class ComplexTest {
public void testGetArgumentNaN() {
Assert.assertTrue(Double.isNaN(nanZero.getArgument()));
Assert.assertTrue(Double.isNaN(zeroNaN.getArgument()));
- Assert.assertTrue(Double.isNaN(Complex.NaN.getArgument()));
+ Assert.assertTrue(Double.isNaN(Complex.NAN.getArgument()));
}
/*
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/2f1c0b5d/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexUtilsTest.java
----------------------------------------------------------------------
diff --git a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexUtilsTest.java b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexUtilsTest.java
index 9a7a29d..3989797 100644
--- a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexUtilsTest.java
+++ b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexUtilsTest.java
@@ -209,17 +209,17 @@ public class ComplexUtilsTest {
@Test
public void testPolar2ComplexNaN() {
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(nan, 1));
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(1, nan));
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(nan, nan));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(nan, 1));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(1, nan));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(nan, nan));
}
@Test
public void testPolar2ComplexInf() {
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(1, inf));
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(1, negInf));
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(inf, inf));
- TestUtils.assertSame(Complex.NaN, ComplexUtils.polar2Complex(inf, negInf));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(1, inf));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(1, negInf));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(inf, inf));
+ TestUtils.assertSame(Complex.NAN, ComplexUtils.polar2Complex(inf, negInf));
TestUtils.assertSame(infInf, ComplexUtils.polar2Complex(inf, pi / 4));
TestUtils.assertSame(infNaN, ComplexUtils.polar2Complex(inf, 0));
TestUtils.assertSame(infNegInf, ComplexUtils.polar2Complex(inf, -pi / 4));
[2/2] commons-numbers git commit: NUMBERS-60: Merging NaN related
changes into master branch
Posted by er...@apache.org.
NUMBERS-60: Merging NaN related changes into master branch
Project: http://git-wip-us.apache.org/repos/asf/commons-numbers/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-numbers/commit/e2917811
Tree: http://git-wip-us.apache.org/repos/asf/commons-numbers/tree/e2917811
Diff: http://git-wip-us.apache.org/repos/asf/commons-numbers/diff/e2917811
Branch: refs/heads/master
Commit: e2917811e634b1b7668d0e09d99ee82c7e1cf0a3
Parents: 2f1c0b5 910cd93
Author: Eric Barnhill <er...@apache.org>
Authored: Tue Feb 13 09:51:40 2018 +0100
Committer: Eric Barnhill <er...@apache.org>
Committed: Tue Feb 13 09:51:40 2018 +0100
----------------------------------------------------------------------
.../apache/commons/numbers/complex/Complex.java | 4 ++--
.../numbers/complex/RootsOfUnityTest.java | 10 ++++++++++
.../commons/numbers/fraction/Fraction.java | 19 +++++++++++++++++++
.../commons/numbers/fraction/FractionTest.java | 20 ++++++++++++++++++++
4 files changed, 51 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/e2917811/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
----------------------------------------------------------------------